Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Ask Me Anything: All things DevOps!

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 27, 2020

AMADevOpsCommunityImage_A.png

Edit: This AMA event is now closed. 

I’m Matt Ryall, Head of Product, DevOps at Atlassian, and I’m excited to answer your questions about DevOps practices and the latest features to help your team succeed.

Earlier this year, we conducted a DevOps Trends survey, and found that 90% of teams reported that DevOps had a positive impact on the business, but there’s also a danger that it can take time away from innovation, with 84% saying that they faced barriers to implementation.

We want to help you eliminate those barriers with new automated integrations across your toolchain (and that includes 3rd-party apps, not just the Atlassian suite!) and talking about the culture and rituals that help you succeed at DevOps.

In case you missed the details, here’s a summary of how Atlassian is unleashing the potential of every team with DevOps tools and resources:

  • Plan: Plan and track projects right in the context of your code using deep integrations between Jira and Bitbucket, GitHub, or GitLab.

  • Build: Review, test, and deploy code without losing your place with the new pull request experience in Bitbucket or your IDE of choice.

  • Continuous Integration & Deployment: Ship fast without breaking things, powered by code insights and integrated change management.

  • Operate & Monitor: Mitigate alert fatigue and resolve incidents faster using the Opsgenie and Bitbucket integration to centralize and filter alerts.

  • Communication & Collaboration: Open collaboration and communication that’s built-in and doesn’t sacrifice autonomy is achieved through culture and practices. Learn from experts by engaging in the Community (like this AMA) and browsing the resources hub.

Ask me anything about DevOps:

  • What features should I prioritize when I’m choosing tools to facilitate DevOps?

  • What’s the deal with culture and rituals on teams who are reaping the benefits of DevOps practices?

  • How do I get started with DevOps?

 

Start submitting questions now below (yes, it says answers :)) and tune in tomorrow, Tuesday, June 9th when I'll be answering questions live.

9 answers

Suggest an answer

Log in or Sign up to answer
3 votes
sujit kumar June 9, 2020

Hi Matt,

 

We have created the build and deployment pipeline in Bamboo.

The plan branch feature works perfect for us, but when it comes to deployment we struggle to do the continuous deployment for the new/different plan branches. We are looking for something where we can do the deployments against the plan branches automatically. How can we achieve this?

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 10, 2020

Hey @sujit kumar

I am not as familiar with the details of the Bamboo product around deployments against plan branches, but maybe https://confluence.atlassian.com/bamboo/deployments-from-branches-407724097.html might point you in the right direction. 

Otherwise, please go re-post this in the Bamboo community space, and you should be able to get a more detailed answer.

I would also just like to mention that we have done a lot of great work on our Cloud CI/CD solution - Bitbucket Pipelines, which makes it really easy to support different build & deployment steps based on specific branches, tags, or bookmarks. This gives you a lot of flexibility in how you build your pipeline.

There are also dozens of pre-built 'pipes' which are just re-usable steps within your yml file to make it easier to do certain actions. 

You can read more in our Get Started with Pipelines guide.

3 votes
andrew June 4, 2020

Hi Matt, 

I'm looking to build and deploy React to AWS. The BitBucket repository that I am using has multiple branches that require building  and deployment for different AWS serverless environments. The NPM versions are also important.

I'm also looking at getting the unit test suite working via Jest.   

My initial thinking has been to look at implementing this in pipelines, however my challenge is around the unit testing, building and deployment to the different environments.

Do you have any examples or recommendation how I can accomplish this?

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 9, 2020

Hi @andrew,

Bitbucket Pipelines comes with a ton of great functionality around build configurations for specific branches, tags, and bookmarks as well as displaying test reports. Here is our Get Started guide for Pipelines.

Have you come across https://community.atlassian.com/t5/Bitbucket-questions/Bitbucket-Pipeline-Using-a-different-environmental-variable/qaq-p/1023246, which should help provide some clarity on using different variables and environments per branch?

Additional documentation around the different variables you can leverage in Bitbucket Pipelines can be found here: https://confluence.atlassian.com/bitbucket/variables-in-pipelines-794502608.html. Additional, here is a tutorial for deploying to AWS which might help you get started with a few examples.

As for the "unit test suite working via Jest", it sounds like you are referring to just setting up the pipeline to run your tests - which is definitely supported and would just be a step in your 'bitbucket-pipelines.yml' file to run the tests command like 'npm run test' or whatever you define.

There are also some additional test reporting capabilities to make it easier to identify the failed tests within your build. It supports a range of xUnit/JUnit compatible test results. See https://confluence.atlassian.com/bitbucket/test-reporting-in-pipelines-939708543.html for more information.

Let me know if this helps get you started!

Like andrew likes this
3 votes
david.rogers@incontrol.com June 2, 2020

I have a Jenkins server on my home server.

How do I configure it to retrieve a repository from Bitbucket?

My Bitbucket repository is protected by credentials. This is the stumbling block.

How do I create a Step in Jenkins to hit Bitbucket, with credentials, to retrieve a repo to enable me to get a build going?

Webhooks do not assist as it is a home server. 

I need the request to originate from my Jenkins build, hit Bitbucket and retrieve the repo. 

I've not been able to find a tutorial anywhere to achieve this.

Efren Gonzalez June 4, 2020

Make it a git repo, then you can use the git plugin to poll the repo

https://plugins.jenkins.io/git/#merge-extensions

And setup deployment credentials from a jenkins ssh key in bitbucket repo config

https://bitbucket.org/blog/deployment-keys

davidrogersdev June 6, 2020

Yeah, I've tried that. No cigar.

That's why I have submitted a question to thisAsk Me Anything opportunity.

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 9, 2020

Hi david.rogers@incontrol.com, thanks for the question.

Not sure if you have seen this, but try reading through https://community.atlassian.com/t5/Bitbucket-questions/How-can-I-configure-Jenkins-to-interact-with-Bitbucket-Cloud/qaq-p/821949#M37176 or the Bitbucket Jenkins plugin found here: https://plugins.jenkins.io/bitbucket/.

It does sound like the functionality has to be something within a Jenkins plugin and giving extra build step features, because of your requirement ti call out to Bitbucket Cloud, pass in the credentials, then continue the build.  

Let me know if you can't find a path forward there, otherwise I might have to suggest you raise an issue with the Bitbucket team so we can take a deeper look or perhaps help contribute to the Jenkins plugin to add this functionality.

Let me know how you go!

david.rogers@incontrol.com June 10, 2020

Hi @Matt Ryall ,

Thanks for the suggestions. Unfortunately, they will not be of assistance. I should also note that, whilst I am doing this on my home server, it is a proof of concept which I will be taking to my work (just to allay any intimation that it is a frivolous errand).

At this point, I am not looking for any communication from Bitbucket to my server.

I just want to be able to manually kick off a build in Jenkins, with the 1st step being to retrieve my repo from Bitbucket.

To provide a bit of context, this was very easy to do with Github and I got it done in a matter of minutes. I've tried a similar approach with Bitbucket i.e. I have created Jenkins credentials with the ssh key that I use for Bitbucket. But for some reason it does not work.

I should note that it does work with unprotected repositories. I have tried it with my personal (non-work) Bitbucket account which has many public repositories. No problem.

It is just with the private repositories.

I'm trying to introduce CI pipelines to my work, but the 1st step is to get a proof of concept up and running.

If no blog posts for Jenkins integrations exist (with credentials), can I suggest it be referred to the Bitbucket team. I'm sure one of those peeps could belt one out during a lunch break :)

Thanks

Patrick Wolf - Atlassian
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 11, 2020

Hi, david.rogers@incontrol.com 

Do you know what Jenkins plugin you are using for Bitbucket? (I assume we are talking about Bitbucket Cloud here, correct?) Are you using the Bitbucket Branch Source Plugin from CloudBees?

https://plugins.jenkins.io/cloudbees-bitbucket-branch-source/

This is the plugin for running Jenkins Pipeline builds on each branch of your repository. 

Jenkins Pipeline will attempt to perform a `checkout scm` step as the default step of a Pipeline to checkout the head of the branch that contains the Jenkinsfile being run.

The credentials used for that default step are based on the credentials in your Jenkins configuration for the plugin. For Bitbucket this should be a Username and an "App Password". App Passwords are equivalent to a Personal Access Token in GitHub.

https://confluence.atlassian.com/bitbucket/app-passwords-828781300.html

If you want to use ssh keys for checking out your repository you can use a manual git checkout step with your key as described on this page

https://www.jenkins.io/doc/pipeline/steps/git/

If you are using a classic Freestyle job in Jenkins with a different plugin then I would still recommend trying to use an App Password for your credentials rather than SSH at first.

If you are using Bitbucket Server then I would recommend using the Bitbucket Server plugin from Atlassian

https://plugins.jenkins.io/atlassian-bitbucket-server-integration/

Hope this helps,

Patrick

davidrogersdev June 14, 2020

Thanks @patrick_wolf ,

I had a go at your suggestion to use App Passwords with the CloudBees plugin, but had no luck.

I keep getting error messages trying to configure the step. It seems I need credentials for the owner of the repository. And that is not me. I'm an admin, but not the owner.

Not sure where I am going wrong, but I have come at this problem from many different angles now.

I confirm that it is Bitbucket Cloud that I am using.

Cheers

2 votes
Carla Ann Rowland
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 9, 2020

Hi Matt,

Experienced JIRA admin and Newbie to JIRA DEV: I have seen multiple dev ops video and have seen groovy and JAVA being use in APIs and scripts to manipulate JIRA. Which should a new JIRA developer focus on?  I haven't gotten a chance to download JIRA Dev manuals yet)

Can the two languages be mixed (I know groovy is based on Java)?

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 9, 2020

Hi @Carla Ann Rowland, glad to hear you are starting to interact and use the Jira APIs. 

The first question I will have to ask is whether you are working on Jira Server/Data Center or Jira Cloud?

Both Groovy and Java are programming languages, so you could use both to interact with the Jira REST APIs. We don't have any guidance on which one is better, so it's whatever you are most comfortable with!

You are correct that Groovy is a JVM language and therefore extends Java which makes Groovy and Java interoperate quite well. 

However, if you are looking at the developer documentation (e.g. Create Issue API for Jira Cloud), there are several examples that are provided - one of which is Java.

Best of luck!

Carla Ann Rowland
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 10, 2020

Hi @Matt Ryall , the JIRA instances I am working on have always been server instances. I will be moving to a JIRA role where the instance will be Data Center.   Is there a link  for API Server/Data center?

I have my own private JIRA Server instance that I do self taught items on so I have developer items in that instance.  I did manage to track down two Groovy books.

Thanks for the answer. WIll reach out to the developer community forum with API question as occur. :-)

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 11, 2020

@Carla_Ann_Rowland Sounds good!

As for the APIs on Server/DC, it's probably a good idea to just bookmark our developer portal: https://developer.atlassian.com/

You can toggle between all the cloud/server APIs near the bottom. Here is the Jira Server Platform link: https://docs.atlassian.com/software/jira/docs/api/REST/8.5.5/ and the Getting Started guide.

Carla Ann Rowland
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 22, 2020

@Matt Ryall Thank you I will check it out.

2 votes
Miriam.McCormack June 8, 2020

Hi

Is it possible to bring historical data from another service desk that we used previously?   If so how? We used Exalate to bring over some data and found it challenging. 

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 10, 2020

Hi @Miriam.McCormack, I would love to know what your use case is that you are trying to accomplish? Also, I know our Service Desk would love to get some more context on your experience:

  • What service desk are you moving away from and what made you select Jira Service Desk?
  • What were some of the challenges you found? 
  • Are you trying to bring your support teams closer to development and operation teams?

I don't think I can provide a clear example here, only this documentation: Jira Service Desk: Import from other service desk platforms if you have not already seen it.

Otherwise our Jira Service Desk community or raising a Support request would be a great place to get into specifics - they can help guide you through what you are trying to accomplish!

2 votes
Denis June 6, 2020

Hi Matt,

There is an old major problem (should I say showstopper) in Bitbucket code review feature. When a reviewer leaves a comment in a PR and then the code lines where this comment resides are updated in a consequent commit (which I believe is the most common interaction at code review) then the comment is lost, together with all the conversation. This makes any serious code review collaboration very problematic and a real hassle. This problem is solved for years in the competitors but for some reason looks neglected in Bitbucket, which releases a ton of new nice features but doesn’t fix this most essential showstopper.

 

At our startup team we decided to give Bitbucket another try this time but still see this basic problem in place. We tried to live with the hassle for a while but frankly see this as a real showstopper preventing us to go on using the product in future, despite all the cool new features. Can we expect improved code review collaboration experience in Bitbucket any time soon?

 

Thanks,

Denis

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 10, 2020

Hi @Denis

You bring up an excellent pain point here! Peer code reviews are an important part of good DevOps practices and help work flow smoothly while keeping quality high and sharing knowledge across the team.

I'm glad to hear you deciding to give Bitbucket another try, I think you will really enjoy our new pull request experience that is currently in the process of rolling out to all customers. You can read more here: https://confluence.atlassian.com/bitbucket/the-new-pull-request-experience-in-bitbucket-958455255.html.

If you don't have this enabled, you can turn it on via 'Labs' from selecting your Avatar in the navigation. As part of this, you can now see

  • Outdated comments that may have been removed or updated from ongoing commits and the code being changed.
  • You can see a list of files that have been changed in the the Pull Request, each with an icon for the comments - which include the outdated comments.
  • There is an activity feed that captures all comments, even when the code that the comment relates to has been removed by a recent commit. 

Below are a few example screenshots from one of our demo repositories. We would love for you to try this new experience and let us know what you like and what needs improvement - it's a very active area of investment for us!

New Pull Request experience

Screen Shot 2020-06-10 at 5.02.29 pm.png

Outdated Comments modal

Screen Shot 2020-06-10 at 5.02.37 pm.png

1 vote
Andrea_Boasi June 4, 2020

Hi Matt.

Kevin June 4, 2020

can we please have the various tickets move into calendar as an all-day event so they always show in the top of my normal calendar

regards

kevin

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 9, 2020

Hi @Andrea_Boasi!

@Kevin I would love to hear more about what you are trying to achieve by showing tickets on your calendar? Is that just to remind yourself to complete that work or something else?

Have you looked through our Marketplace for Calendar integrations with Jira - there are lots of options!

0 votes
Andy Laohakanniyom June 10, 2020

Hi Matt,

What is the best workaround to reuse the JIRA project key?

We are using Cloud Jira and have one existing classic project with, ley's say, key = "ABC".
We already changed the key to "XYZ".

Now, we want to create a new Next-gen software project with the key = "ABC", but it does not allow to do.

We have found this info pages

https://confluence.atlassian.com/jirakb/how-to-reuse-a-project-key-in-jira-1004930048.html
https://jira.atlassian.com/browse/JRASERVER-34945

My questions now are:

  1. If we back up (or export) all existing issues and delete the existing project, will we really be able to use the key = "ABC" fo our new Next-gen software project?
  2. What is the plan for this feature request: JRASERVER-34945 ?

 

Thank you,
Andy

0 votes
Reis Marzana June 10, 2020

I am trying to link information from certain pages to populate fields for issues/projects on the roadmap. What is the best way to go about this? 

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 10, 2020

Hey @Reis Marzana,

Do you mind sharing a bit more information about what you are trying to build/accomplish? This will help me answer your question a bit better.

  • Generally - what's the problem you are trying to fix? Is this improving a certain process in your team or something else?
  • What information are you trying to link?
  • When you say 'certain pages' what are you referring to?
  • When you 'on the roadmap', do you mean just populating the fields on the issue, which will then show up on the roadmap or do you need to populate two different things? And which roadmap/projects are you using within Jira?
  • Are you trying to do this programmatically via APIs or manually through the UI?

There are a range of APIs that can help you post information onto specific issues or projects via available fields on that issue.

Looking forward to hearing more about this.

Reis Marzana June 11, 2020

Hi @Matt Ryall

Thank you for your reply. I am happy to provide some more info!

I am building a Roadmap, in next-gen projects, to properly forecast and assign project work for my team.

I am trying to link fields on a created Issue to a date completed on a field from another confluence page. This date is for developments tracked by another team that they keep updated on one of their confluence pages. 

I am trying to do this through the automation, but am not sure it is possible, so I might be thinking I have to do it with JSON through the UI. 

The end goal is to automate that field as the due date so that as the other teams project timelines shift, my team can shift accordingly.

Matt Ryall
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 11, 2020

@Reis Marzana Thanks for the context!

If I understand correctly then unfortunately you will not be able to do this with automations today given that you are trying to sync specific content within a confluence page with a field in a Jira issue. The fields within Jira issues are all indexed and can be synced together, but specific pieces on content within a confluence page cannot at this time. 

When you say 'to a date completed field from another confluence page', what exactly is that field? Is it a cell within a table that is using the date component?

One way you might be able to achieve what you are asking for is if the other team you are dependent on could somehow add that date field into a Jira issue - then that should definitely be possible via our new Automation Platform (See https://www.atlassian.com/software/jira/features/automation and more detailed documentation here https://www.atlassian.com/software/jira/guides/expand-jira/automation).

In fact, we see a lot of teams using automation for this type of use case, where changing the deliverable date of work has cascading affects to other dependent teams. Automation helps keep everyone in sync without all the manual overhead!

Otherwise, I think this would be a great suggestion to raise via the 'Suggestions and bug reports' option in https://support.atlassian.com/. The team can learn a bit more about this use, discuss internally, and potentially factor into their roadmaps.

Let me know if this answers your question.

TAGS
AUG Leaders

Atlassian Community Events