NudgeBot is a Pull Requests review and repository tracking bot which collects statistics and performs actions in a Github repository.
It's called "NudgeBot" since originally it used to "nudge" reviewers to review pull requests after some period without comment.
Note: ✋ This project is still not a generic framework (not yet). Currently it's under development and in use and tested internally. ✋
-
Performs actions in Pull Requests, i.e. add reviewers, post comment, etc.
-
Collects Pull Requests statistics and repository statistics.
-
Sends reports to the repository maintainers.
-
Provides a live dashboard which presents the current statistics/status of the review process. E.g.
- flow tree, A tree that describes the action to perform for each case in a Pull Request. This flow tree consists of:
- Pull request statistics Contains 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 handles the events, processes the flow and performs actions.
- Reports Provides the ability to easily produce, trigger and report 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.
- More documentation will be released later.