Pester
What is Pester?
Pester is a tool to help with getting pull request reviews. Once you have set up Pester on your repo, new pull requests will be posted to Pester according to their tags. These tags will also be used to determine which Slack room Pester will post to.
If the PR does not have a "Sign off" of "LGTM", it will be reposted to the same
rooms again after 30 minutes. The time threshold to repost can be configured
using the ENV var, REPOST_THRESHOLD
.
To make sure your PR goes to the correct place, your PR description should
include tags like #rails #javascript #design
. Pester will parse and send to
all the appropriate rooms!
Pester also provides a web interface that allows you to view open PRs for your group and filter them by tag. This makes it very easy to grab a pull request in your downtime for whatever tag you prefer.
Authentication
Pester uses GitHub teams for controlling access to the web interface. When
setting up the app, you should set the GITHUB_TEAM_ID
environment variable to
the team id that will have access.
There is no User model and users are not tracked in anyway.
While creating a new app in the GitHub, you should specify the following url as an application callback url:
https://<your-host>/auth/githubteammember/callback
The easiest way to get the GITHUB_TEAM_ID
is to use the GitHub API:
% curl -H "Authorization: token <your-authorization-token>" https://api.github.com/orgs/<your-organization>/teams
The authorization token can be created on this GitHub page.
Local Development
After you have cloned this repo, run this setup script to set up your machine with the necessary dependencies to run and test this app:
% ./bin/setup
It assumes you have a machine equipped with Ruby, Postgres, etc. If not, set up your machine with this script.
After setting up, you can run the application using foreman:
% foreman start
If you don't have foreman
, see Foreman's install instructions. It
is purposefully excluded from the project's Gemfile
.
Contributing
See the CONTRIBUTING document. Thank you, contributors!
Guidelines
Use the following guides for getting things done, programming well, and programming in style.
License
Pester is Copyright (c) 2015 thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.
About
Pester is maintained by Jason Draper, Christian Reuter, and Melissa Xie.
Pester is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.
We love open source software! See our other projects or hire us to help build your product.