Assignees does automatically code review requests on GitHub (currently).
This project is based on the
The application is available at: https://app.assignees.io/.
See the next section if you want to host it yourself.
This project provides a command line tool to perform various operations. You can run it via Yarn:
$ yarn run assignees
In development environment, you should run the command above within a
$ docker-compose run --rm app yarn run assignees yarn run v0.19.1 $ node bin/assignees Usage: assignees [options] [command] Commands: feature:add [username] [feature] add feature to user feature:remove [username] [feature] remove feature to user feature:list [username...] list enabled features of user pr:process [options] [repositoryId] [number] [author] process pull request Options: -h, --help output usage information -V, --version output the version number
This project provides a Docker Compose configuration to quickly build and start it. Clone the project, then run:
$ docker-compose up -d app
The application will shortly be accessible at: http://assignees.localdev:3000/.
Important: you must configure your local DNS to be able to use
assignees.localdev in the URL. You can edit your
/etc/hosts file, but it is
recommended to install and configure
Dnsmasq. This link is a good
docker-compose.yml contains my credentials (for an application that does
not exist anymore at the time of writing by the way). You should register a new
OAuth application on your own.
It is also recommended to use ngrok if you plan to test webhooks from your development environment.
This project is configured with environment variables. Here is the list:
ADMIN_IDS: a comma-separated (without space) list of GitHub user identifiers (not usernames) to grant admin rights to certain users;
APP_DOMAIN: the domain that points to this application (for redirecting traffic from Heroku
*.herokuapp.comdomain for instance);
GITHUB_ID: the GitHub ID you get when you register a GitHub (OAuth) application;
GITHUB_SECRET: the GitHub secret tied to the previous GitHub ID;
GITHUB_APP_ID: the identifier of the application you had to register on GitHub;
GITHUB_WEBHOOK_SECRET: a randomly generated value (like a password) used to sign and verify GitHub webhooks requests.
GITHUB_WEBHOOK_URL: the webhook URL that will be registered on each project enabled by Assignees (e.g.
MONGODB_URI: the MongoDB data source name (e.g.
mongodb://user:pass@server/db). This variable is automatically set if you use the mLab add-on on Heroku. Alternatively, you can use the
SESSION_SECRET: a randomly generated value to prevent session tampering.
production looks like a good idea.
N.B. because of the Yarn incompatibility on Heroku, I set
To monitor the application at an early stage, it is possible to use New Relic APM. These extra environment variables could be useful (at least on Heroku):
NEW_RELIC_LOG(automatically set by Heroku when enabling the add-on);
NEW_RELIC_NO_CONFIG_FILEshould be set to
NEW_RELIC_SKIP_NATIVE_METRICSshould be set to
Note: this commit
has disabled New Relic on this project. You can re-enable it by yourself by
newrelic package in both the
package.json file and the code.
You may want to change the name of the project, the contact email address, or
the Piwik tracking code by editing the
Running the Tests
$ [docker-compose run --rm app] yarn run test
Assignees is released under the MIT License. See the bundled LICENSE file for details.