WED, JUL 10, 2019 11:00 AM - 12:00 PM CST
Fresh off from a series of Atlassian Cloud projects, join Bryan Robison, Praecipio Consulting's Principal Architect, to learn how to extend your Atlassian Cloud. Bryan will share tips and tricks for planning integrations between Jira Cloud with popular tools you may already have in place for Identity Management, DevOps, ChatOps, and ITSM.
Transcript:
Joanne: Welcome everyone! To today's webinar: Integrate all the things! with Brian Robinson. Please join us August 14th 11 a.m. for our next webinar: Best Practices of Capacity and Resource Planning, with Shannon Faber.
So before we get things kicked off, let's do some quick housekeeping! No doubt you'll have questions, and when you do just use the control panel on the side of your screen to ask them; if we have time we'll get to your questions as fast as we can and if we can't get to all of them during the webinar we'll follow up with answers as soon as possible.
Let me first take a moment to tell you a little bit about us here at Praecipio Consulting: We are Atlassian Platinum Solution Partner, and we've been doing this work since 2008. Over 99% of our projects are Atlassian-related: this includes work around dev ops IT ops agile and scaled agile we have hundreds of clients around the United States, ranging from small and medium businesses all the way to the fortune 5. Our clients include the world's largest retailer, the top media company, the top automotive retailer. This also includes the largest healthcare services company, an electronics manufacturer. We do pretty much everything there is to do in the Atlassian world, everything from implementation and training to custom development, licensing upgrades, managed hosting and managed services.
Today's presenter is Brian Robinson, principal architect here at Praecipio Consulting:
Brian: Hi everyone! Thanks for joining today's webinar on Integrating all the things! with Atlassian Cloud. I'm Brian Robinson, principal architect here at Praecipio Consulting, and I'm excited to share with you some of the ways our customers are integrating Atlassian Cloud with their other systems and services. The topics for today include some examples of common integrations for Atlassian Cloud. We’ll cover approaches to Identity Management, DevOps, ChatOps and ITSM.
Second, we’ll discuss build versus buy and the options available for you to integrate services with Atlassian Cloud. Then we'll discuss testing and some considerations you have to make when evaluating and testing your integrations.
Finally, we'll have some time to answer some questions. Let's get started!
First up let's take a look at some common integrations for Atlassian Cloud. While Atlassian Cloud applications are typically straightforward to manage from a permissions perspective, growing teams can quickly outgrow the built-in user and group management functionality, and Atlassian Cloud larger organizations may also have centralized user directories to manage users groups and access to applications. Configuring the server or data center versions of and Confluence to user directory is easy but how do you do that in Atlassian Cloud? That's where Atlassian access comes in.
Atlassian access provides centralized company-wide visibility and control of user accounts across your organization. Many companies have several Atlassian Cloud instances for Jira Confluence and Bitbucket, and Atlassian access allows you to manage the users for those all in one place. You can take ownership of user accounts within your control domains, enforce password policies and enable two-factor authentication for your users.
Taking this a step further you can also integrate Atlassian access with the identity providers such as Okta, Microsoft Azure and OneLogin to provide SAML single sign-on in user provisioning. SAML single sign-on simplifies logins for your employees by allowing them to log in once to a centralized identity provider and use that login session for other applications and services that they connect to throughout their day. User provisioning gives you one place to provision and deprovision accounts and keep them synced between your identity provider and Atlassian: this is a must-have feature for companies with more than a few dozen users and can greatly reduce the time required to manage group memberships and product access.
There are some things to consider when implementing Atlassian access: number one Atlassian access allows you to manage user accounts and domains that you control you must go through a domain verification process which typically involves DNS or website changes in order to configure the handshake between Atlassian and access and your identity provider. Keep in mind that any users with email addresses outside of your verified domains will still have to be managed using their user and group management at the instance level.
Number two: when you enable and configure user provisioning for your account, keep in mind that all changes to user attributes and group memberships come from your identity provider. Also know that pushing a group from your identity provider that has the same name as a group in your organization is not supported. Your identity provider group names need to be unique. This also means that you may need to spend some time updating your project roles and space permissions to use the groups from your identity provider.
Number three: testing can be a bit of a challenge. In my experience implementing Atlassian access with customers, we felt the need to warn application users in advance when we were testing Atlassian access with Okta or Microsoft Azure, as it changes the login experience. Fortunately, any users with existing sessions aren't impacted by the change and we always recommend scheduling these tests when you can minimize impact to those working within the tools.
Dev tools integrations are really popular for Jira software: they allow you to visualize the branches, commits and pull requests in your source code management solution right inside of Jira. Developers use smart commits to link their activities to a Jira issue and the integration takes care of the rest. Bitbucket, being an Atlassian product, makes it easy to integrate with Jira, as the hooks are already built-in. With GitHub you have to jump through the extra hoop of installing the GitHub for Jira app in Jira software. Once configured, the dev tool activities will be displayed on the issue detail screen of the Jira issue, giving your team instant visibility and traceability of actual software development associated with stories and bug fixes in the Jira project.
Jira workflows can also be transitioned using workflow triggers that are connected to specific actions in Bitbucket or GitHub. For example, we can move an issue from open to in progress when creating a branch, or go from in progress to in review when a pull request is open.
If you're not using Bitbucket or GitHub for source code management, look no further than the GetApp integration for Jira. It provides the ability to view branches, commits, pull requests and tags in the issue sidebar for GitLab AWS code commits, BSTS and TFS, not to mention Bitbucket and GitHub making a great all-in-one solution when your team utilizes multiple source code management tools.
Git integration for Jira also includes visualizations for Git commits, diffs and code reviews from right inside Jira, so team members don't have to switch between applications. The Git Roll-up Report presents a snapshot of the total commits, file changes and aggregated lines changes by each developer, which gives teams the information about how much development work went into completing each Jira issue.
With Stride and HipChat having reached end-of-life earlier this year, customers that I've been working with have turned to ChatOps tools like Slack and Microsoft teams for messaging and collaboration, and fortunately there are good options for integrating both with Atlassian Cloud.
The Jira Cloud for Slack app allows you to connect your Jira projects to Slack channels for two-way communication between the tools. You can receive notifications in Slack when issues in the project are created, updated or transitioned, and when they receive comments. You can also use filters to control when to receive a Slack notification about a particular action: for example one of our customers triggers a Slack notification when a Jira service desk incident is escalated so the support team is informed of the urgency right away.
Jira Cloud for Slack also allows you to create new issues directly from the Slack interface using the slash Jira command. Users can fill out the issue summary and description and choose the project and issue type, all without leaving the Slack interface.
Organizations that use Microsoft teams for ChatOps can also take advantage of marketplace apps. If you're looking for similar features to what I described for Slack, there is a marketplace app called Microsoft Teams Jira Connector that provides notifications from Jira into Microsoft teams.
The Microsoft Teams for Jira app allows you to connect a team to a Jira project. This allows teams to review the issues in their project within the Microsoft teams interface. This comes in handy for daily stand-ups, quick status checks and progress reports, without leaving Microsoft teams.
One more area where we've seen companies pursuing integrations with Jira Cloud as with IT service management software like ServiceNow. A company I recently worked with uses ServiceNow for ITSM and Jira Cloud for software development. They were looking for a way to manage the handoff and communication of development activities from ServiceNow to Jira, and receive status updates from Jira in ServiceNow.
Well there are several Marketplace apps that provide synchronization between the two applications. They require the use of some type of intermediate service or server that handles the translation of data from one side to the other. Our customer sought out a different solution that leveraged their in-house ServiceNow expertise to manage the communication between Git and Jira, providing two-way communication without the need for middleware. The integration we worked with them to build allows their ServiceNow users to link ServiceNow requests or incidents to a Jira a project which then creates an issue in Jira. Once this link is established, any status changes or comments on either side are shared with the other application.
One question you must ask yourself when you're planning for an integration is whether it makes more sense to buy a Marketplace app or build it yourself. In this section we're going to look at three approaches to implementing your integrations:
The first method is using a marketplace app to provide the functionality you need. In the previous section I talked about integrations with GitHub, GitLab, Slack and Microsoft Teams that were provided by marketplace apps. The Atlassian Marketplace is the first place that I look when a customer or prospective customer asked me about integrating another application with Atlassian Cloud. At the current time, there are over 900 marketplace apps that supported Atlassian Cloud, many of which provide integrations with external tools and services.
The second method is the one I described for the ServiceNow integration in the previous section. A single-ended implementation is just that: an integration that is implemented just on one side of the integration. This requires one of the applications to do all of the work synchronizing the data on both sides, typically by pushing data from itself into the other application and then polling for changes and updates on the other side. The benefit to this type of implementation is that you don't need another piece of software to do the work; the downside is that you have to create custom code to support all of the transactions.
To get around that we usually look to middleware to handle the translation and transfer of data between two or more different applications. Some companies opt for writing this middleware themselves, but that requires them to deploy, manage and maintain their own infrastructure to support it, which may have been the reason why they went with Atlassian Cloud in the first place.
A web-based service like Workato is a very powerful alternative to rolling your own middleware. Workato of functions by allowing two or more services to communicate with each other via their REST APIs by defining a recipe made up of trigger and actions. There are hundreds of community Workato recipes for Jira alone, and if you can't find a pre-made recipe to do what you want, then Workato allows you to create your own and share it back with the community, if you think it's going to be useful to someone else.
The final topic I want to cover today is testing. It is extremely important to test your integrations prior to putting them into production. Testing in Atlassian Cloud is a little different than testing with server and data center applications. With server and data center, setting up a test environment is fairly straightforward: you can spin up a test environment and restore your production data to it without too much fuss.
Atlassian Cloud is a little different, and there are a few things that should be taken into consideration when testing your integrations. Atlassian offers fully functional evaluations of their Cloud products for seven days. These can be extended to a maximum of thirty seven days upon request, which should give you plenty of time to test out new marketplace apps without enabling them in your production instance. When your trial license expires, you can continue using it by paying for it.
Another option you have available to you as a development instance of Atlassian Cloud. This type of instance is free to use and has no expiration date but it does come with some seriously strict usage limits: five users for Jira core, Jira software and Confluence, and one agent for Jira Service Desk. If you need more time to complete your single-ended or middleware based integration, and you can keep your user licensing in check, then this would be a good option for you.
Now let's take some time to answer some of your questions:
The first question we have is: Can I connect Jira Cloud to Bitbucket’s server? Sure! As long as your Bitbucket server instance is accessible to the Internet and reachable by the Jira Cloud range you can connect that Bitbucket server to Jira Cloud! All you need to do is go in and create a new application link in Jira, point it to your Bitbucket server URL and then you'll be able to go through and set up the bucket inside of your projects. The setup and experience after that is the same as using the bucket Cloud with your associated branches, commits and pull requests displaying on the issue sidebar. That was a good question!
Here's question number two: It says we're a Microsoft shop and don't have an identity provider like Okta or Azure, can we use ADFS with Atlassian axis? So yes you can configure ADFS with Atlassian and access, but know that it's not an officially supported configuration. Atlassian has instructions for setting this up on their website, and it outlines which SAML attributes required for the configuration on the identity provider side, and which details you need to provide to Atlassian access to configure the connection.
In addition to single sign-on, with a ADFS you should be able to take advantage of the just-in-time provisioning for new users. But some of the features won't work like automatic deactivation. If you want to set up the user provisioning with ADFS, then you're going to be on your own. Atlassian has a user provisioning API that you can use to create your own integrations for managing users and groups, but you're not gonna get that functionality out of the box like you would with Okto or Azure. So I hope that explains how to use ADFS with it Atlassian access .
Ok next question: how would I go about integrating Salesforce with Jira Cloud? That's kind of a big topic, but it's a good question, and it's something that we see fairly often. We typically recommend using Workato for integrating Salesforce with Jira. Fortunately there are some existing recipes that take up some of the work out of it. One that I know we've used in particular allows you to sync Salesforce cases to issues in Jira, which is actually similar to how we did the ServiceNow integration, where once the case meets some specific criteria in Salesforce it will trigger the creation of an issue in Jira. So instead of doing that in the ServiceNow side, you can do it through Workato in Salesforce, and then once that issue is created in Jira and you have that issue key, then you can synchronize any updates on either side to each other. So anytime you update something in Jira you can update Salesforce and vice versa. Workato is really great for use cases like that.
Well that's all the time we have for questions today! Someone will reach out to you if yours wasn't answered now let's hand it over to Joanne for some announcements.
Joanne: please join us back on August 14th 11 a.m. central for our next webinar best practices of capacity and resource planning with Shannon Fabert. Remember, if you have any questions please send us an email at Contact@Praecipio.com. Thanks!