I work on a variety of different open source projects on GitHub. For many of them, I’m assigned to a pull request as either a task worker or peer reviewer. I’m a stickler for maintaining organized lists of prioritized tasks – I want to make sure that any assignments I hold in GitHub are reflected in my task tracking applications: Jira, Slack, and Todoist.
Since I already use Zapier to handle a variety of automation tasks between consumer and business platforms, I figured this would be a good place to start for my needs in GitHub. This post goes into detail on why I track these sorts of things, how the integration is configured, and my experience using the workflows.
Initial Zapier Setup for GitHub Pull Request Reviews
Start by heading to Zapier and setting up an account if you don’t already have one. You’ll need to set up your first Connected Account to GitHub. This process is not worth describing in detail – just explore their menu of services and choose GitHub, then follow the prompts. Easy!
Next, go ahead and create a new Zap. Set the Trigger to GitHub and choose the “show less common options” prompt.
From the menu, select “New Review Request” and then save and continue. You can then filter out which repository you wish to monitor, or just leave it blank to monitor everything you have associated with your account.
That’s it for the Trigger portion. The next step is to add an Action to perform. I’ll cover all three options for this in the sections below: Jira Tasks, Slack DMs, and Todoist Tasks.
Jira Tasks for GitHub Pull Request Reviews
Jira is a software development and project management tool created by Atlassian. It’s a staple of my work at Rubrik to interact with my team, other engineers, product managers, customer success engineers, and so forth. It’s also where all of the back-end work for Rubrik Build takes place. Having any projects within the scope of my work organization – rubrikinc – appear as Jira tasks makes sense to ensure that folks know which PRs I’m working on and what my task load looks like. I can also fold in new assignments into the current or a future sprint, as well as assign a related label or epic (as needed).
Getting Zapier integrated with Jira requires the most amount of effort compared to Slack and Todoist. Especially since my company uses SSO for authentication. Fortunately, Zapier’s Jira integration documentation is spot on. In a nutshell, you will need to:
- Log into Jira and generate a new API Token. Note that the API Token settings have moved to Security > API Token > Create and manage API tokens.
- Supply your email address and API Token to Zapier to form the integration with Jira.
Jira Zap Creation
Once that’s done, the rest of the workflow is the typical Zap creation process. Continue with the Trigger you made earlier by adding an Action to the Zap and selecting Jira. Pick the “Create Issue” option, then save and continue.
The next area for configuration is the Issue setup itself. Start by picking a Project within Jira. Next, pick an Issue Type and filter by Task. According to Zapier, you may encounter a ton of duplicate Issue types as shown by how many “Task” entries exist in the drop down. Their advise is to go down the list picking different entries until you see the correct fields appear. I found about 12 different “Task” options with the second to last entry being the valid one.
Go ahead and enter what you fields you want to populate for the Task. I keep things fairly simple for myself and just use the Reporter, Summary, and Description.
Now you can give the Zap a test using sample data or by assigning yourself as a PR reviewer and seeing some real data. Jira will generate a new Task on your behalf whenever it finds a new PR review assignment.
Slack DMs for GitHub Pull Request Reviews
Another avenue for alerting about a new pull request review is Slack. The ability to ping myself or a channel is pretty groovy. Make sure to setup your integration between Zapier and Slack using the awesome documentation, and then create a new Zap using the GitHub section from earlier in this post.
Slack Zap Creation
For Slack, I just have Slackbot send me a DM as a heads up. To do this, select the Action “Send Direct Message” from your Slack integration. If you’d prefer a channel message, choose that instead.
Once that’s done, format the DM template. As with Jira, I don’t go too crazy with the amount of information I receive since I plan on actually working the review in something like VSCode. The message text contains a link to the Pull Request HTML URL and the User Login.
Easy enough! Now the handy Slackbot pings will let me know when I have a new pull request to review.
Todoist Tasks for GitHub Pull Request Reviews
The final integration I have configured is between Zapier and Todoist. I use Todoist to prioritize and track all work that needs to get done across all aspects of my life – doctor appointments, holidays, events with friends, and now also helping me remember to review a pull request for any community projects that I’m working on. If you’re interested in setting up Zapier for Todoist, check out their documentation.
Todoist Zap Creation
The setup for Todoist is similar to the others. Setup the Zap using the GitHub integration from before, or limit the repo list to just your community project(s) as desired.
When constructing the Todoist task, I use a “PR Review Needed” along with the PR Title. In the Note field, I add the Pull Request HTML URL and Body fields.
You may also want to set a due date and a label. I just have the due date set to “today” and then modify when it’s due after I’ve read through the PR.
Having an automated workflow keeping an eyeball on any requests for my attention is a big win for me. I hope these ideas for Zaps will provide some value in your life as well. Cheers! 🙂