Managing pull requests in progress with the Pull Request view

With GitHub, it is surprisingly difficult to see all open pull requests and where they are going in a team context. Especially when you are working in an environment with multiple repositories and lots of cross-team collaboration, it can be easy for pull requests to fall through the cracks. The Pull Request view in Swarmia works in real-time and helps teams to manage their pull requests in progress, make sure they are moving forward swiftly, and ensure no pull request is forgotten.

Our team heavily uses the pull request view to see if there are prs that could be merged or if there are prs waiting for review to help a teammate before starting something new.

Pull request flow of delivery graphs

You can see two graphs on top of the Pull Request view giving you a rough idea of how the pull request flow of delivery functions within your team.

The cycle time graph shows you how long, on average, it takes for pull requests to take from the first commit to be merged. You will also see the split between how long pull requests on average spent in progress versus in review versus merge phase based on the activity in GitHub. Pull Requests move into the "review" state when a review is requested in GitHub and again to the "merge" state when approved.

The throughput chart shows how many pull requests you get through as a team over time. The colors on the stacked bars represent the status of the pull requests opened on that specific day. In the throughput chart, we focus most on the yellow part. Seeing a lot of yellow in the past would indicate that on some days we open a lot of prs but are just unable to get them in. Then it might make sense to focus on getting the old pull requests merged or closed before taking on more work. 

Pull request view filters

Multiple filters on the left side of the page help you separate the signal from the noise.

Our team - This is the default filter and it shows you all of the pull requests that have been authored by the members of the team. Not only can you see your own pull requests here, but you can also identify a way to help your teammate by reviewing their pull request waiting for review.

Participating - This is a personal filter that is unique to every Swarmia user based on which pull requests you are participating in yourself by authoring it, being assigned as a reviewer, or just participating in the discussion.

From others - This filter shows you all of the pull requests sent to your team for review from any other team. This is a neat way to ensure you are also swiftly reviewing pull requests related to team interfaces since these pull requests easily fall through the cracks.

Bots - We also separate pull requests authored by bots under their own filter. So if you are using dependency bots or renovates it will not get as noisy when they open a whole lot of dependency prs some night.

>30 days old - Under the old prs we show you everything that is getting so old that you might want to clean them up by closing in GitHub to maintain good GitHub hygiene.   

>24h stale - The stale prs are at risk of being forgotten, so it makes sense to check these together with your colleague if that is still relevant and if it is, work through it, so no one has to do any major rebases or anything like that. 

Unlinked - This filter is one way that Swarmia helps your team link pull requests to issues. Under this filter, you will see all unlinked pull requests and can link them directly through the UI into categories or issues.

Custom filters - Below the "Unlinked" filter are a number of custom filters which are up to you to configure as you wish. These filters are called "Investment Categories" in Swarmia and you can manage them from the investment category settings. These investment categories are used also in different parts of the app; more about them in this article.

Excluded - If you exclude a pull request in Swarmia you will still be able to access it through this filter on the Pull Request view. If you change your mind about excluding a pull request, you can also re-enable it in the metrics and alerts in Swarmia through here.

    Pull request popup

    We want to enable you to drill down into the details in Swarmia. By clicking on the three dots on the very right side of any pull request, you can open the pull request popup. This view gives you more details on individual pull request level.

    If you feel like a particular pull requests should rather be excluded from the metrics and alerts in Swarmia, you can switch the toggle for any pull request to exclude it from the metrics.

    If you there is some information missing on the pull request or if it appears in a wrong state, you can click on "refresh data" to resync this particular pull request in Swarmia. 

    To conclude

    The Pull Request page in Swarmia helps team members to stay on top of their pull requests and make sure they are moving forward without any pull request falling through the cracks. If you want to make managing pull requests in progress even easier we recommend looking into the Swarmia personal Slack notifications for pull requests