Tutter - Plugin based Github robot
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, ..)
Installation
gem install tutter
Place configuration file in /etc/tutter.yaml
, example can be found in the conf/ directory.
tutter.yaml settings
-
name
- username/project_name -
access_token
- Github access token (can be generated here) -
github_site
- github website -
github_api_endpoint
- github api endpoint -
hook_secret
- (Optional) validate hook data based on known secret(more). -
action
- action you wish to use for the project -
action_settings
- whatever settings your action require
Configure Tutter action
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.
Build custom action
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
Required methods and their arguments
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
Features to implement
- Authenticate as a Github application