nyholm / git-reviewer
Find a good reviewer to your github pull request
Installs: 863
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 0
Open Issues: 0
Type:project
Requires
- bref/logger: ^1.0
- knplabs/github-api: ^v3.13.0
- nyholm/psr7: ^1.3
- symfony/cache: ^6.4 || ^7.0
- symfony/config: ^6.4 || ^7.0
- symfony/console: ^6.4 || ^7.0
- symfony/dependency-injection: ^6.4 || ^7.0
- symfony/event-dispatcher: ^6.4 || ^7.0
- symfony/filesystem: ^6.4 || ^7.0
- symfony/http-client: ^6.4 || ^7.0
- symfony/process: ^6.4 || ^7.0
- symfony/yaml: ^6.4 || ^7.0
Requires (Dev)
- symfony/phpunit-bridge: ^6.4 || ^7.0
This package is auto-updated.
Last update: 2024-12-08 15:23:19 UTC
README
This is a small PHP (Symfony) application that find you reviewers to a Github pull request.
It is using a naive algorithm which:
- First looks at the modified files in the PR
- Do a
git blame
on each file to see who as modified the file - Sort the list of contributor, first contributor is the person that have changed the most files that the pull request touches
$ ./git-reviewer.php find 106 /path/to/local/repository --pretty-print
[
{
"email": "tobias.nyholm@gmail.com",
"name": "Tobias Nyholm",
"contributions": 3,
"username": "Nyholm"
},
{
"email": "ion.bazan@gmail.com",
"name": "Ion Bazan",
"contributions": 1,
"username": "IonBazan"
}
]
Documentation
The first argument to ./git-reviewer.php
is the "command name". Here is a short
description of each command name and their additional arguments and options.
cache:clear
Clears the application's cache. It does not clear the var/storage
.
$ ./git-reviewer.php cache:clear
pull-request:base
Finds the branch that the pull request target.
$ ./git-reviewer.php pull-request:base 123 /path/to/local/repository
master
find
Get a list of possible reviewers.
$ ./git-reviewer.php find 123 /path/to/local/repository
[
{
"email": "tobias.nyholm@gmail.com",
"name": "Tobias Nyholm",
"contributions": 3,
"username": "Nyholm"
},
...
]
Options:
$ ./git-reviewer.php find 123 /path/to/local/repository --ignore-path "config/*" --ignore-path .env --after 2020-01-01 --no-username --pretty-print
Calls to Github API
Github allows some anonymous calls, but it is a good idea to specify an environment
variable named GITHUB_TOKEN
. That should contain a Github token with "api" permissions.
You can create such token in your Github account under "Developer settings > Personal access tokens".