Leveraging Github and Jira to manage a large amount of tasks and context switching.
Introduction
A significant challenge I face involves remembering the specific repository and feature branch associated with a particular ticket or issue. To address this, I often name branches in a way that references the ticket id or source.
For instance, while working on a GitHub issue, I might name my branch “git-<issue_id>”. Similarly, for a Jira issue, I use a combination of the Jira project abbreviation and the issue id, like “prj-123”.
This approach helps me maintain a direct link to the ticket. However, difficulties arise when a task spans multiple repositories, teams, and requires additional tracking to keep track of all the aspects influenced by the issue.
Mention the issue
The first thing that I will always do when working on an issue is to mention that issue in any pull requests that are opened. This ensures automatically on Github that an issue has references to all of the pull requests that are related.
With this tool you can mention this issue in all of your repos and have the issue referenced across different repositories if needed. You Will need to copy / paste the full URL of your issue if you’re not in the same repository.
Draft Pull Requests
To manage feature branches effectively, it’s recommended to maintain draft Pull Requests (PRs). This can be done by either directly associating the issue with the PR if it’s on GitHub, or by adding a link to the corresponding Jira ticket in the PR’s description.
When a link to a Jira ticket is included in the PR body, Jira should automatically synchronise with that PR. This approach helps in organising and tracking the progress of feature developments efficiently.
Draft Pull Requests (PRs) serve as an excellent tool for recording preliminary ideas or notes that might later be included in the PR description. It’s often useful to outline the intended work in these drafts, employing checkboxes to monitor completed tasks.
This method is particularly beneficial for those who frequently switch contexts, as it provides a clear reference of pending tasks upon returning to the draft PR. Additionally, this list can effectively double as a summary of changes, offering valuable insight when the PR is eventually ready for review.
Use Github Keywords
Github offers a list of keywords that can be used within a pull requests template. This will allow you to automatically close, fix or resolve your issues through merging your pull request.
However, it’s important to note that even after a pull request is merged and the associated issue is closed, the task isn’t necessarily complete. There remains a crucial step: testing the changes in various environments, including testing and production.
While the tools and processes in place help in staying organised and tracking tasks efficiently, they might inadvertently lead developers to overlook the final and critical phase of testing the implemented changes once they are released. This step is essential to ensure that everything works as intended in real-world scenarios.