Coder Social home page Coder Social logo

tutter's Introduction

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

tutter's People

Contributors

dalen avatar jhaals avatar jpettersson avatar lndbrg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tutter's Issues

Tutter messages can be out of order?

Tutter first commented that the PR was merged.
Then a few seconds later we got two messages saying that:

Pull request not mergeable: PUT XXXXXX: 405 - Pull Request is not mergeable // See: https://developer.github.com/enterprise/2.10/v3/pulls/#merge-a-pull-request-merge-button

And lastly that Merge state for is not clean. Current state: unknown I will try to merge this for you when the builds turn green If your build fails or becomes stuck for some reason, just say 'rebuild' If you have an incident and want to skip the tests or the peer review, please post the link to the jira ticket.

We believe that the messages are out order after a tryout. Can that be fixed or can we add a message just saying that "messages can be out of order" so that people dont get scared when it happens. This might happen every 20 PR:s but we have no data currently.

Support -2 for "do not merge"

It would be nice if tutter had some concept of -2 (aka Gerrit's "Do not merge") for changes which are dangerous and thus should not be automatically merged. Perhaps ๐Ÿ’ฉ ? :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.