Skip to content
This repository has been archived by the owner on Mar 21, 2023. It is now read-only.

jhaals/tutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tutter - Plugin based Github robot

Build Status

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

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