Teamwork is an important element of the modern workplace and two of the best tools to enhance collaboration and cooperation are GitHub and Jira. While GitHub allows writing code with fellow colleagues and controlling versions, Jira is great for advanced time management due to multiple features it provides. So, wouldn’t it be great if we could get the best of both tools at the same time and bring development and project management together?
Aligning GitHub and Jira workflows
Design your Jira Workflows with GitHub in Mind
Jira Workflows help you encode your process into each Jira ticket. Getting your workflow right for your organization is an important part of using Jira effectively. If you’re integrating with GitHub, you can make sure that your workflow is designed to match up to how GitHub pushes you to work. GitHub has a great guide on how best to work on their platform. Every issue gets a branch. And every branch gets a peer review before getting merged and deployed. Why not make those the steps on your Jira workflow? Whenever an action happens on GitHub, you can transition to the next state in Jira. This can get a little tricky, so just make sure you’ve thought things all the way through. If you have a development and a master branch along with your feature branches, when do you mark things as complete? When do they land in master, or on the main development branch? Likewise, if you have nested branches, when are they completed? I’ve found the best way to answer these questions is to look at what your actual development practices are. Every organization is different, but the great thing about Jira is that it lets you identify what works for you, formalize it into a workflow, and make sure you’re all on the same page.
Design Your GitHub Workflow with Jira in Mind
As with Jira, GitHub provides some great tools for power users trying to get the most out of their platform. For each pull request, you can assign reviewers and assignees. Why not develop a policy to align your reviewers in GitHub with your reporters or watchers on Jira? Making sure interested parties know where to look for code changes they need is a great way to push to get things done. Another important point is to make sure you’re using branches and stories properly. My favorite workflow is to make one new branch per story (with the ticket id in the branch name) and have sub-items within that story be sub-branches that merge into the main branch. That lets me coordinate all the work on one ticket into one final pull request on GitHub.
Use Smart Commits
When you manage your project's repositories in GitHub, you can process your Jira Software issues using special commands, called Smart Commits, in your commit messages.
A Smart Commit command must not span more than one line (i.e. you cannot use carriage returns in the command), but you can add multiple commands to the same line.
You can add autolinks to external resources like JIRA issues and Zendesk tickets to help streamline your workflow in GitHub Repositories. Anyone with admin permissions to a repository can configure autolink references to link issues, pull requests, and commit messages to external third-party services. If you use JIRA to track user-reported tickets, for example, you can reference a ticket number in the pull request you open to fix the issue.
Save time linking resources with autolink references
Are you constantly searching for references in external systems? Now you can set up an autolink reference and GitHub will automatically create links for you.
How it Works
If you use GitHub with external services (like Jira), you might be familiar with shorthand references (like TICKET-123) to point to resources in those external systems. Autolinks are available in repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server.
To enable this feature, a repository admin needs to register the reference prefix (such as TICKET-) in the settings. Afterwards, references of that type are detected in issues, pull requests, comments, or commit messages, and turned into links. These speeds up navigation between GitHub and external systems.
Under "Reference prefix", type a short, meaningful prefix you want collaborators to use to generate autolinks for the external resource.
Under "Target URL", type the link to the external system you want to link to. Make sure to keep <num> as a variable for the reference number.
I hope you find this article useful and I would love to read your comments about how you integrate your development tools with Project management solutions!!
Sandesh ShettyCommunity Leader
Catch up with Atlassian Product Managers in our 2020 Demo Den round-up! From Advanced Roadmaps to Code in Jira to Next-Gen Workflows, check out the videos below to help up-level your work in the new ...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event