Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

jonmarkgo/github-services

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Services

How the services work

  1. A post-receive background job is submitted when someone pushes their commits to GitHub
  2. If the repository the commits belong to has any "Service Hooks" setup, the job makes a request to http://services-server/service_name/ with the following data:
    • params[:payload] containing all of the commit data (the same data you get using the API)
    • params[:data] containing the service data (username, password, room, etc)
  3. Sinatra (github-services.rb) processes the request (twitters your data, says something in campfire, posts it to lighthouse, etc)
  4. Rinse and repeat

Steps to contributing

  1. Fork the project

  2. Create a new file in /services/ called service_name.rb, using the following template:

     service :service_name do |data, payload|
     end
    
  3. Vendor any external gems your code relies on, and make sure to include it in the requires at the top of github-services.rb

  4. Add documentation to docs/service_name (refer to the others for guidance)

  5. Add your name to the CONTRIBUTORS file

  6. Send a pull request from your fork to github/github-services

  7. Once it's accepted we'll add any new necessary data fields to the GitHub front-end so people can start using your addition.

Patches including tests are encouraged

Running the server locally

  1. [sudo] gem install hpricot
  2. git clone git://github.com/github/github-services.git
  3. cd github-services
  4. ruby github-services.rb
  • Bugs in the code should be filed under the Issues tab
  • Problems with the service hooks can be filed here

How to test your service

  1. Start the github-services Sinatra server with ruby github-services.rb. By default, it runs on port 8080.
  2. Edit the doc/github_payload file as necessary to test your service. (Usually just editing the "data" values but leaving the "payload" alone.)
  3. Send the doc/github_payload file to your service by calling: ./script/deliver_payload [service-name]

NOTE: The name of the service and your docs/ file matters. If your service is RunCodeRun, your service and docs MUST be run_code_run. Good luck!

About

Official GitHub Services Integration - You can set these up in your repo admin screen under Service Hooks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.