June logo
JuneDocumentation
Recipes

Unstick pull requests waiting on review

Once a week, June lists the pull requests in your GitHub repositories that wait on a review, from your own chats or from a schedule you set up with the form.

June lists what's waiting, by repository: each pull request waiting on a review, who opened it, how long it has waited and what it waits on.

What you need

  • GitHub, connected. Use one of your own chats.

Set it up

In one of your own chats, ask for a weekly reminder that names the repositories.
Each week, reply to the reminder, and June lists the open pull requests.
Every Monday at 9:00 Berlin time, remind me to do the pull request sweep for acme/website and acme/api
In acme/website and acme/api, which pull requests are waiting for review, and which have not moved in three days? Include links and do not change anything
Copy into your current chat

To get the list without replying, set up a schedule with the form: Enabled toolsets terminal, Expression 0 9 * * 1, and an Execution body like this:

Use the GitHub command-line tool to list the open pull requests in acme/website and acme/api that wait on a review or have had no activity for three days. Group them by repository, one line each: title, author, days open, what it waits on. Do not comment, approve, merge or push anything

Set Timezone to your zone, such as Europe/Berlin, and choose a delivery destination. The run works in June's sandbox with your GitHub sign-in.

Check the result

Open a few of the linked pull requests and compare the list with GitHub. Check that June used the repositories and account you intended. A request for review and an inactive pull request are different signals; ask June to show which applies. The result should make the next review obvious without changing any pull request.

If a repository is missing, check that the connected GitHub account can open it before widening the sweep. For a repeating schedule, choose Run now once and read the result under Open history. You are done when the sample run includes the right repositories and the next run has the time and time zone you wanted.

What June does not do

  • It reaches only what your GitHub account reaches, and does not watch GitHub between sweeps.
  • It works with your GitHub sign-in, through the GitHub command-line tool in June's sandbox, so the instruction says what to leave alone: no comments, approvals, merges or pushes.
  • In an organization's chats it works as whoever wrote the message, with their GitHub sign-in in that organization.
  • Without an account named in the request, June uses the single active GitHub connection, or the one named default when several are active. If several are active and none is the default, name the account you want instead of disconnecting the others.