Nextup JIRA is a cloud-based SaaS company that offers a bot that provides connectivity between Slack – a messaging platform (https://slack.com/) and Atlassian JIRA – an agile development platform (https://www.atlassian.com/software/jira). The bot implementation is built using the Slack and JIRA API methods.
The primary features of the implementation are:
Providing ticket information when users reference tickets in chats
Displaying summaries by user, project, etc in channels
Creating action links to allow users to manage JIRA from Slack
Allowing users to create issues, log work, add comments, etc in JIRA from Slack
The bot allows users to remain in a single application and avoids context switching that is costly in terms of time and distraction.
How it works
The Nextup bot is added to a Slack team by creating integration via the “Add to Slack” process that utilizes OAuth (more details below) to create a connection between the Slack application and the Nextup service. This connection is a secure standard that does not share sensitive information with Nextup to create the connection.
Once connectivity with Slack is established a similar connection is made to Atlassian JIRA via the “Application Link” process that also utilizes OAuth.
This process is a one time configuration and the Nextup website guides users through the process and generates unique keys for each connection.
After the connections are made the bot user is added to the team and invited to channels to participate in the discussion. The bot can be added or removed from any public or private channel in the same method as all other users within Slack.
The bot then utilizes expressions and the Slack RTM API (https://api.slack.com/rtm) to recognize references to tickets and bot commands in the Slack messages. The process happens in memory in the Nextup application and the messages are never viewed, logged or otherwise stored by Nextup.
When matches are found the application processes the message and utilizes the JIRA API methods to query JIRA for information and then processes a response message and sends to the chat via the Slack messaging API.
When users choose to utilize advanced actions a separate and unique OAuth connection is created with JIRA for the user that allows the API methods to be called as the user instead of the generic application link. This is required to allow JIRA to know which user commented, logged work, created a ticket, etc.