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.
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?
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yeah, I've tried that. No cigar.
That's why I have submitted a question to thisAsk Me Anything opportunity.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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)?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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. :-)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Matt Ryall Thank you I will check it out.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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:
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!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
Outdated Comments modal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Matt.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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:
Thank you,
Andy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Recommended Learning For You
Level up your skills with Atlassian learning
Atlassian DevOps Essentials
Learn to manage the product lifecycle by building, automating, and improving processes with Atlassian's approach to DevOps.
Jira Automation
Reduce project complexity and optimize your team's processes through the power of automation.
Bitbucket Pipelines Configuration
Build better software and release more often by learning how to implement a CI/CD solution with Bitbucket Pipelines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.