Like many engineering teams, the Photobox app team lets colleagues from other departments report bugs internally via Slack. To ensure sufficient detail, we use a Slack workflow to standardise bug reporting and simplify Jira ticket raising. Here’s how to implement something similar.
The workflow aims to reduce the friction colleagues may face when raising bugs. As all the actions are public, the submitter can easily keep track of any bugs they want to follow the progress of, whilst also being confident that their report has been acted on.
Just as importantly, they can also add any relevant photos / videos / files, and answer any questions the triaging engineer might have whilst trying to reproduce the issue.
This semi-automated approach makes the process easier for the engineers / whoever is triaging the reports, by ensuring all the relevant information is provided upfront, and letting it be actioned without leaving Slack. Additionally, any follow-up questions can be asked directly to the bug submitter, avoiding any low quality / out of scope / duplicate bugs unexpectedly appearing in the backlog.
|Creating issue||Filling in data||Confirmation|
To make this approach, we’re going to need to achieve 2 main tasks:
- Create a bug report form within Slack.
- Send this bug report form’s information to Jira.
There are a couple of important caveats with this method, that are worth considering before implementing:
- The “workflow” feature used for the form requires a paid Slack plan.
- The form’s fields don’t prefill the Jira form, and require copying from the description during ticket creation.
Once connected, you will be able to make Jira tickets from any Slack message, as well as receive updates for new tickets, updated tickets, etc. Both Slack and Jira officially support connections to each other, so this process is straightforward.
Next, we want a form that colleagues can fill in to give us any information we need. This can include simple things like a description of the bug, or a multiple choice dropdown asking the bug’s severity.
Now, whenever somebody fills in the form, a message is sent to the channel. Nice!
If you try using Jira’s create ticket functionality from the form results, you may notice something… not great. The output is all combined into one line, making it essentially unreadable even for short forms:
To fix this, we need to change our workflow. Instead of sending the form results directly into the channel, we are going to send a separate message, using the received values:
All done! Anyone submitting the bug report form should now see the data posted in the Slack channel, where it can be triaged easily.
Whilst this setup is an improvement over our former process (or no process!), it’s definitely not perfect. The obvious improvement would be converting the form directly into a JIRA ticket, but I’m not sure how to do that whilst also ensuring potential bugs are triaged / discussed first.
Besides that, in the shorter term a couple of simple changes can make the process smoother:
- In the Slack channel’s settings, you can change posting permissions so that only the workflow has permission to post.
- The workflow’s icon can be customised via its settings.