Adding message actions to the Jira integration
Learn how message actions add powerful interactions to your Slack integration and help non-technical users find value
Hello! My name is Trevor and I’m a product manager at Atlassian working on the Product Integrations team. I’ve been a product manager for Slack integrations for the past couple of years now — at both Message.io and Atlassian — striving to build awesome integrations on top of the Slack API. I’m excited to share some of my learnings from building message actions into the Jira Slack app with you all.
Why I think message actions are so powerful, and you should too!
Message actions unlock a realm of new use cases for Jira + Slack users. By providing a quick shortcut to access Jira functionality on any message, message actions have enabled us to build more meaningful workflows for our users.
In the days before message actions, users need to rely on slash commands to accomplish a similar interaction. Slash commands have many benefits: they can be used in any channel, they resonate with developer and technical personas, and once mastered, they can become quick and easy ways to initiate an interaction in Slack. However, slash commands have a couple of gaps:
- Slash commands lack context. If a user triggers a slash command, it’s not possible to retrieve any context around why they initiated the command.
- Discovery and use of slash commands can be challenging for some users.
Enter: message actions. With these new actions, you can quickly attach a Slack message to a Jira issue, all with a couple of clicks. This is a new meaningful workflow that helps Jira users do something that would have been challenging with just a slash command.
How we built it (spoiler: it was actually dead simple)
Getting started with message actions is simple because most of the configuration and setup is done in your Slack App configuration page — almost identical to how Slash commands are configured in Slack today.
Once an action is registered in the Slack app, users will start seeing it in their menu on each message. Whenever a user clicks on the message action, Slack then sends a payload with relevant info about the request, including who and where it was clicked. Once our application receives the event, we can apply logic to figure out exactly how to respond to that message action.
Handling the message action event
Once Slack sends us the event we apply the following logic:
- Has the user authenticated with Jira? If not, send them to an auth flow to Jira.
- Has the user connected a Jira site to this channel? If not, let them know they must first connect a Jira Site
- Has the user connected multiple Jira sites to this channel? If so, then we need to share them a site selector before we show them the issue selector.
Once we’ve gone through these steps to determine what exactly to display the user, we can send an ephemeral message back to the user asking which issue to assign the message to.
And that’s it! Message actions gave us a low cost, high reward method to interact with our users — all while solving an extremely common feature request for us. And now after its release 8 months ago, message actions have become one of the top ways users interact with our Jira app.
What’s coming next
We’re excited to start working on bring more quick and valuable Jira interactions directly into Slack. Transitioning issues, commenting on issues, creating issues, and assigning issues all directly from your workplace collaboration hub — Slack.
Already using Jira Cloud? Add the Slack integration from the Atlassian marketplace.