Skip to content

gshefer/NudgeBot-old

Repository files navigation

NudgeBot

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.


Functionality:

  • 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.

    alt text alt text

Design:

Base components:

  • flow tree, A tree that describes the action to perform for each case in a Pull Request. This flow tree consists of:
    • Case - Describes a situation in the Pull Request, a "Case".
    • Action - Describes an action to perform in these situations/cases.
  • 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.

Future plans:

  • Change the server to use Django instead of flask.
  • Extend the functionality to include more statistics about the repository.

Notes:

  • More documentation will be released later.

About

A pull request review and repository tracking bot.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages