An Introduction to GitHub and ZenHub Issues
Now that you're more familiar with the Board, let's take a look at creating issues and linking PR's in ZenHub!
|- Create an Issue||✅|
|- Understand how GitHub Issue templates work||✅|
|- Set a pipeline for an Issue and assign it to yourself or a team member||✅|
|- Connect a PR to an Issue||✅|
In GitHub, Issues take the place of user stories. These are high-level feature descriptions that help define benefit from a customers perspective. Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.
User stories are high-level feature descriptions that help define benefit from a customer’s perspective. They're often written in this format, which is intended to keep things simple and focused on business value: As a user type, I want a goal so that benefit.
Creating an Issue in ZenHub
To get started with creating an Issue, select the green New Issue button located in the top right of your board:
From here, you can give your new Issue a title. Below the Issue title, you can provide a further description on what exactly the Issue is. It's important to flesh out each Issue your team will be working on so that everyone understands exactly what is required.
The content and description support markdown and we recommend formatting these Issues so that they are easily understood by the whole team. Learn more here
To the right of the Issue there are a number of different attributes which can be applied to the Issue. Let's take a look at these in further detail:
|Pipelines||Assign a pipeline for your Issue such as New Issues. ZenHub comes with 6 default pipelines which can be customized depending on your workflow|
|Labels||Add a label to your Issue. Labels are a core GitHub functionality and therefore ZenHub uses a GitHub repo's native label set to populate what available labels exist when navigating Issues in ZenHub. To create new labels check out our article here|
|Assignees||Assign the Issue to a member of your team. You can assign up to ten people to an Issue|
|Milestone||Add the Issue to a milestone. A milestone in GitHub and in ZenHub is a sprint. This is a fixed length of time when an agreed upon amount of work will be completed. You can read more about milestones here|
|Estimate||Assign a story point estimate to your issue. Story point estimates are unitless scales of measurement which are used to size tasks in comparison to other tasks|
|Epics||Attach the issue to an Epic. Epics are a theme of work which contain subtasks required to complete the ob|
|Releases||Add your issue to a Release. A release can be considered as a long term goal or big objective. The project work may be dynamically changing and it may span multiple sprints|
Next, let's take a look at using Issue templates. When creating a new Issue you can also choose an Issue template from the dropdown. These templates can be used in ZenHub Workspaces to help organize work and ensure the right details are being captured in various scenarios:
Issue Templates are a core GitHub functionality
It's important to be aware that Issue Templates can only be created from within the GitHub repository. You must be a GitHub repository administrator in order to create Issue Templates
Once your Issue Templates are live in GitHub they will be available from the Issue Template dropdown when creating new Issues. Check out more on creating Issue Templates here
Once you are happy with your Issue and ready to add it to the board, select Submit new Issue
To move an Issue across pipelines, simply select the Issue and drag it to desired pipeline. From here you can drop the Issue into the pipeline.
Selecting multiple Issues in the Workspace will trigger the Multi-Action action bar allowing you to get to a functional Board quicker.
You can select multiple Issues by clicking a profile picture to select the first Issue:
Once your first Issue is selected, you can continue highlighting additional Issues by clicking on them. Once you've selected all relevant Issues, find the bulk action you want to perform at the top of your task board:
You'll notice that the Issues remain selected so that you can make additional updates if needed. Click either “Done”, “clear all” at the top-left corner of the Workspace, or unselect all of the Issues by clicking on them again to exit selection mode completely.
Connecting Pull Requests to Issues
When creating Pull Requests in GitHub you will be able to choose a default board pipeline for the PR to land in. You can also connect the PR to an existing Issue. This will pull the issue into the same pipeline as the PR! Check our more on Issue and PR linking here
You're all set! You are now up and running with creating Issues. Time to start collaborating with your team and builder better software!