Good morning, readers! Let me say you always know how to keep me on my toes. I was delighted with how everyone reacted to last week’s post! Let’s see if we can follow up this week with the same energy!
I figured we’d follow up this week by talking about Slack. While this might not be the tool you use at your office, it is the one Jira is set up to integrate with out-of-the-box. However, if you are on Microsoft Teams, I suggest you look at this App for your integration needs.
Anyways, let’s dig into this integration!
The first and most obvious requirement here is that Jira should be able to reach Slack so that Jira can post messages to Slack. The Jira Server Slack App also has commands it can pass back to Jira, but for these to work, Slack also needs to be able to reach Jira.
This situation is where things get…messy. Your two options are: Have your Jira publically available on the Internet or figure out an IP allowlist for your Slack Apps to reach into your firewall. Unfortunately, the second option is problematic, as Slack is in AWS, which means their actual IP addresses are constantly changing. One suggestion I saw when researching this was adding all the IP addresses in AWS to your allowlist, but that comes with its own risks, and I don’t find this option palatable.
Honestly, I’m not going to tell you what to do; neither option is great. But, for this article, I put my Jira instance onto the Internet and made sure it was using SSO.
The Jira Server Slack App
Now that we have Network connectivity sorted, we can move on with the Jira Server/Data Center App for Slack. Of course, you will need permissions to be able to add an App to Slack, but this permission is granted to everyone in the workspace by default. If your Slack Admins have turned on App Approval, though, be aware you might need to get their approval before moving forward. But in general, knowing who your Slack Admins are is always helpful!
Assuming you have permissions sorted, click the “Add to Slack” button to get started. Doing so will bring you to a screen that explains what permissions Jira needs in your workspace. If these are acceptable, click “Allow.”
Next, you will need to enter information about your Jira Server instance. I always customize the Name to describe the Jira Server I’m connecting to. So even if you only have one Jira instance today, that might not always be the case. Do the same with App Description – I usually like to put the URL here, so people are sure which Jira Instance this is. If you use a custom Icon for your Jira Logo or favicon, you can and should put that as your App Icon.
Then we get to the most critical section. Enter the address for your Jira instance. This would be the URL Slack would use to reach Jira. This step is especially important if you want to send commands from Slack to Jira – if this is malformed, it won’t work.
Finally, copy the bit it tells you to copy at the bottom and paste it on a scratch notepad document for later use. Once you are sure you have it copied, click “Submit.” We are ready to move onto Jira’s configuration.
Jira’s Slack Setup
In Jira, go to Administration -> Applications -> Slack (or as an Admin, type period to open the Search bar, then search for Slack). Doing so should take you to a screen like this.
Click the “Set up Integration” button. This will bring you to a new page asking you a few questions. The first question is “Connection Type.” This setting is self-explanatory, as in they have the explanation right next to it. Choose basic if this is the only Jira connection to your Slack workspace, or Advanced if you have more than one Jira connecting to the same workspace.
If you click Advanced, you will need to pull out the individual details from the JSON you copied earlier, using the access_token for the OAuth token and the bot_access_token as the Bot OAuth Token.
If you chose “Basic” for your connection type, just paste in the full JSON into Jira.
Either way, when you finish, click “Connect.” This will set up the initial connection from Jira to Slack, and you can start configuring notifications immediately.
Configuring Jira to Accept commands from Slack
After you connect, you should see the following on the Slack Administration Page. If you want to send notifications to Slack, you need to go no further on this section. Likewise, if Slack cannot reach Jira, your Status will reach “Limited,” and you won’t be able to go further.
But if you want Slack to be able to send commands to Jira, and Slack can reach Jira, you will see a number “2” with settings to connect your Slack Account. Click on the link that says “Go to Slack.” This will take you to Slack, where it asks if you want to Allow this connection. Click “Allow” to proceed.
And that’s that. Slack is now configured for full two-way access!
This next section can be done from your Slack Admin page on Jira or for an individual project once you have set up the Integration. I’ll be doing it from the Project Admin section for today, as the process is similar in both places, but I suspect there are more Project Admins than Jira Admins.
On your Project Settings page, click “Slack integration” on the sidebar.
Here, you will see a page similar to the Admin Slack Integration page, except that the Project is not changeable from the Project you are on. This is fine, so now you just need to select the room these notifications will go to. This setting can be your team’s room or a dedicated room just for notifications – whichever you want. Once you select your room, click “Add.”
Now we have to set which events will trigger a notification. I like to stick to “Issue created” and “Issue Transitioned to,” selecting all the closed statuses for the latter. Why? I like to celebrate closing issues with everyone.
Once I have everything set up the way I want it, I can click “Done,” and the notification is set up!
What do you think?
How do you use your Slack Notifications? I’d love to hear your stories! You can find all my social media links at Linktree. Be sure to like and comment on the various platforms, it really does help others discover the Blog!
And don’t forget you can subscribe to get new posts via email below! I know I keep saying it, but it’s not an exaggeration to say it’s the best way to get new content from the Blog.
But until next time, my name is Rodney, asking, “Have you updated your Jira issues today?”