public
Description: Official GitHub Services Integration
Homepage: http://github.com/blog/53-github-services-ipo
Clone URL: git://github.com/pjhyett/github-services.git
github-services / README.mkdn
e987d7d1 » dag 2008-04-30 Mark up README with markdow... 1 GitHub Services
2 ===============
3
4 How the services work
5 ---------------------
6
7 1. A post-receive background job is submitted when someone pushes their commits to GitHub
8 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:
9 - `params[:payload]` containing all of the commit data (the same data you get using the API)
10 - `params[:data]` containing the service data (username, password, room, etc)
11 3. Sinatra (github-services.rb) processes the request (twitters your data, says something in campfire, posts it to lighthouse, etc)
12 4. Rinse and repeat
13
14 Steps to contributing
15 ---------------------
16
17 1. Fork the project
18 2. Create a new file in /services/ called `service_name.rb`, using the following template:
19
20 service :service_name do |data, payload|
21 end
22
23 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
24 4. Add documentation to `docs/service_name` (refer to the others for guidance)
25 5. Send us a pull request
26 6. Once it's accepted, we'll add any new necessary data fields to the GitHub front-end so people can start using your addition.
27
82160c59 » pjhyett 2008-07-10 break out contributors into... 28 *Patches including tests are encouraged*
e987d7d1 » dag 2008-04-30 Mark up README with markdow... 29
db8f6f1d » pjhyett 2009-04-28 run instructions 30 Running the server locally
31 --------------------------
32
33 1. [sudo] gem install hpricot
34 2. git clone git://github.com/pjhyett/github-services.git
35 3. cd github-services
36 4. ruby github-services.rb
37
ed14c728 » pjhyett 2009-04-30 be specific on bug reporting 38 * Bugs in the code should be filed under the Issues tab
39 * Problems with the service hooks can be filed here: [http://support.github.com/discussions/post-receive-issues](http://support.github.com/discussions/post-receive-issues)