Software projects often span across several GitHub repositories, so naturally, your task boards and reports should too!
Using ZenHub, you can connect repositories together – even across GitHub organizations – to get a bird's eye view into everything going on with your software projects. With advanced filters, you can drill down to see only what you need.
Note: Only once you connect repositories into a Multi-Repo Board can you track them together in reports – like Velocity and Burndown charts – and other features like multi-repo Epics. It all starts on the task board.
Connecting repositories is easy. First, navigate to the first repository you want to connect. Visit the Board, click Repos dropdown at the top left of the Board, then select Merge another repository.
Search for the repository or workspace that you'd like to connect. If the repository you'd like to add is in another one of your GitHub organizations, you can connect this using the custom link on the top right of the modal.
After confirming the repository you'd like to connect, it's time to set up the structure of this new Multi-Repo Board. You'll be presented with a preview screen where you can drag and drop pipelines to determine how they will be merged. When merging Boards together, the pipelines across both Boards become one.
Let's say you have two pipelines: “QA” and “Review”. Though their names are different, they serve the same purpose, so you'll want to merge them together into one pipeline. When these pipelines are merged, the “QA” pipeline's Issues will appear in the “Review” pipeline.
When you have finished organizing, click Merge to finish.
Important! Before merging Boards together, have a discussion with your team.
The pipelines become the same across both workspaces after merging. As a result, it's important for everyone on the team to have a strong understanding of the workflow related to this central view. While you can disconnect a Board from the central multi-repo workspace at any time, the prioritization of all Issues inside the Board will be lost once disconnected. Make sure your team is onboard with the merge beforehand.