NudgeBot is a Pull request review and repository tracking bot which collect statistics and perform actions in a Github repository.
It's called "NudgeBot" since origininally it used to "nudge" reviewers to review pull request after some period without comment.
Note: ✋ This project is still not a generic framework (not enough). Currently it's under development and in use and tested internaly. ✋
-
Perform actions in the pull request, i.e. add reviewers, post comment, etc.
-
Collect pull requests statistics and repository statistics.
-
Send reports to the repository maintainers.
-
Provide a live dashboard which present the current statistics/status of the review process. E.g.
- flow tree, A tree that describing the action to perform for each case in the pull request. This flow tree consists of:
- Pull request statistics Containing various statistics of a pull request.
- Reviewers pool a pool that containing the reviewers of the repository, including number of PRs per reviewer, this object used to decide which reviewer to set per pull request.
- The bot The NudgeBot that handling the events, process the flow and performing actions.
- Reports Provides the ability to easily produce, trigger reporting about the repository.
- Server The server side.
- Config Includes the configuration file and credentials.
- Change the server to use Django instead of flask.
- Extend the functionality to include more statistics about the repository.
- This project is still not a generic framework (not enough). Currently it's under development and in use and tested internaly.
- More documentation will be released later.