Managing Multiple Repositories on GitHub Using Trello


Our open-source tool merges GitHub’s issues and Trello’s feature backlog to enable product managers and developers to work together

By Paul Sturm

For the development of our new venture Loopline Systems, we have to manage a component-based multi-repository structure. Since most features affect multiple repositories, we’ve felt the need to conflate the views of developers and product managers. For that purpose, we have developed a small tool to unite the issue-based view provided by GitHub and Trello’s feature backlog, thus enabling product managers to keep track of features that are spread across multiple repositories.

Multiple Repositories: Features vs. Issues

Inconveniences regarding multi-repository development may arise due to different perspectives and tools of developers and product managers, respectively. In certain cases, it might be necessary or a good idea to have a dedicated repository for each of your software components (e.g., API, front end, auth layer, etc.). If so, most features affect several repositories, and in turn, issues are spread across them. Since usually different development teams take care of the repositories, there is no problem with this from their perspective. But product managers, on the other hand, have a hard time gaining an overview of the feature status at large. In addition, there is no way for them to define proper milestones which mark the progress made on each feature.

These problems do not occur due to conflicting perspectives themselves but because there is no adequate way to conflate them. There are some tools that aim to build a bridge between developers and product managers by providing a Kanban-like view on GitHub issues, but they all assume a single repository structure (waffle.io, zenhub, etc.) and, therefore, are up to now insufficient for managing features which rely on multiple repositories.

Feature affects multiple repositories
Feature affects multiple repositories

Product managers define features that are split into issues for each affected component repository. These issues are then handled by the responsible developers within their range of tasks. So it’s easy to monitor the progress on an issue basis, but gaining an overall view of the feature turns out to be quite annoying. Even though by now GitHub provides a way to display issues across several repositories, this view is still issue-based.

Loopline Systems IssueManager

GitHub is quite popular among developers and brings a lot of benefits. For product managers, it’s crucial to have an adequate view of feature statuses. Our product managers like to work with Trello. So, holding on to these tools will make everyone happy.

There is no out-of-the-box solution to merge the issue-based view of GitHub and the feature overview provided by Trello. Fortunately, both deliver a webhook and an API. So we decided to build our own small tool for that purpose. Our Loopline Systems IssueManager is a small PHP tool based on Symfony2 which connects the webhooks and APIs of both services. It’s released as open source (MIT license) and available here.

The current implementation only covers the very basics, but we hope to improve it further in the future. Please feel free to use it! We’d also love to see some pull requests! 😉

Here is a small screencast that shows the current functionality (two-way status binding and comment forwarding) in action:

Live Demo

We also set up a public Trello board which is connected to two GitHub demo repositories, so you can check it out live. Unfortunately, Trello does not support editing checklists on public boards. If you want to try the editing, log in with our demo account:

  • Username: issuemanagerdemo
  • Password: login123

This post was written in collaboration with Marco Roßdeutscher.