Automating Product Development with Jira, GitHub and Slack

Niraj Shah
Panda Flow
Published in
3 min readDec 18, 2019

--

I am getting a little obsessive about automating everything. As a founder, I am doing lots of things but I need to know how our product development is going so that can I can plan demos, without asking for status, etc.

To have excellent product development velocity, we want seamless collaborative effort between Developers, Product Manager, and Business Stakeholders. All our engineering teams are remote and get limited-time overlaps due to different time zones. So we thought maybe we should automate some of our alerts and notifications on the velocity of the development, questions, reviews, and releases etc.

The usual problem we ran into was that developers were working on the complex tasks that they forget to switch the Jira status on the story on the board. They are committing on Git; however, Jira doesn’t get updated, and stakeholders don’t get notified, etc. So we decided to automate our product development process flow as much as possible so that we are in-sync , using the new platform we are building.

Here is how we have automated our process so far, and we keep tweaking as necessary.

GitHub Pull Request Update -> Jira Status Changes

When a user requests the first reviewer on GitHub Pull → Jira cases status changes to “Code Review.”

When GitHub pull request is closed, → Jira cases status changes to “Test on Staging.”

GitHub code review action to Slack

When a user submits code review for GitHub pull request (changes requested or approved) → Slack message sent to the PR opener and to the staging channel with a mention with the text (depending on whether PR was approved or changes were requested) with the link to the PR.

GitHub code review request to Slack

When a user requests a code review for GitHub pull request, → Slack message sent to a person whose code review was requested and to staging channel with mention.

GitHub reviews pending to Slack

Every 8 hour, get all active pull requests and send a reminder to each reviewer who hasn’t completed review. Include the time since the review was requested.

Send a Slack message to staging channel with all the notifications (to know it is working)

Send Slack Message when Production is rolled

When the features or bugs are released to production, send a Slack message to a channel announcing what was rolled with release notes with a link to Wiki

If you need to automate your flow give it a try at PandaFlow.io

If you have any use cases that need automation, let us know.

--

--