Github PR Organizer & Formatter

Organizes and tabs PRs to make it easier to see what to prioritize.

Tác giả
HappyViking
Cài đặt hàng ngày
0
Số lần cài đặt
5
Đánh giá
0 0 0
Phiên bản
1.8.0
Đã tạo
30-08-2023
Đã cập nhật
04-06-2024
Giấy phép
MIT
Áp dụng cho

If you're interested in the source code:

https://github.com/andersonaddo/greasyfork-userscripts/tree/main/github-pr-formatter

This script makes use of GraphQL queries to fetch more information on PRs. When the script realizes you're on the /pulls page of your repo, it queries the GraphQL api to fetch more PR info. To do this, it'll need a Github Access Token to do the queries in your name. Only read access to repos is needed. You can decide to use Github's new fine-grained tokens, but not all Github teams allow that (which matters, if you're using this for work like I do). The classic Github tokens have a better chance of being supported by your Github team.

Regardless of which repo's /pulls page you're on and which arguments you're searching against, this script always uses the same arguments to query the GraphQL:

is:open is:pr involves:@me archived:false repo:${repo}

where repo is also something you provide on setup once the script is supplied.

The script caps the number of PRs it fetches from the api. If there's any PR being shown on the /pulls page that wasn't in the api response (whether the script reached it's cap or the PR doesn't match the predefined query), the script just won't sort it (so it won't be put under any header and won't be given any badges).

There are 3 headers:

  • Requires Attention:

    • PRs that are yours with but have no assignee
    • PRs that are yours with changes requested
    • PRs that are yours that have a failing CI test who's title doesn't contain a whitelisted substring (you can add those in the userscript settings)
    • PRs that have requested a [new] review from you.
  • Others - Yours: PRs that are yours but don't require attention

  • Others - Misc: PRs that are not yours and don't require attention

The settings for this userscript will be in the footer of Github on any repo's /pulls page.