Managing Multiple Repositories on GitHub Using Trello

Paul Sturm
Project A Insights
Published in
3 min readFeb 12, 2015

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 to 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 by themselves, but because there is no adequate way to conflate them. There are some tools which 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.io, etc.) and, therefore, are up to now insufficient for managing features which rely on multiple repositories.

Feature affects multiple repositories

Product managers define features which 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 issue basis, but gaining an overall view on 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 most crucial to have an adequate view on 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 web hook 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 web hooks and APIs of both services. It’s released as open source (MIT license) and available here: https://github.com/loopline-systems/trello-github-issue-manager.

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 which 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 of checklists on public boards. If you want to try the editing, login with our demo account:

Username: issuemanagerdemo
Password: login123

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

--

--