Tutter is a robot that can trigger customizable actions based on Github [events]((https://developer.github.com/v3/activity/events/types/)(push, pull_request, release, issue, ..)
gem install tutter
Place configuration file in /etc/tutter.yaml
, example can be found in the conf/ directory.
name
- username/project_nameaccess_token
- Github access token (can be generated here)github_site
- github websitegithub_api_endpoint
- github api endpointhook_secret
- (Optional) validate hook data based on known secret(more).action
- action you wish to use for the projectaction_settings
- whatever settings your action require
Hooks can be configured just to send the event that you're interested in. The important part is that Payload URL
points to the webserver running Tutter
https://github.com/ORG/PROJECT/settings/hooks/new
Example on how the thanks
action looks like. Tutter listens for issue
events and posts back with a greeting.
A simple action for getting started is the built in thanks action. More advanced usage can be seen in the tutter-sppuppet action that allows non-collaborators to merge pull requests
initialize
settings - contains a hash of action specific settings
client - Used to access the github api, all authentication is already done by tutter
project - Project name, eg jhaals/tutter
event - Event type
data - POST data that github send when a hook is triggered
run
- Run action
Tutter uses octokit.rb to communicate with the Github API
- Authenticate as a Github application