Project

tutter

0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Tutter is a web app that trigger actions based on Github events(push, pull_reqeust, release, issue, ...)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 4.3
~> 1.4
 Project Readme

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