CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 23 Jul 2025 09:09:59 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100605015050
location: https://web.archive.org/web/20100605015050/https://github.com/github/github-services
server-timing: captures_list;dur=0.566302, exclusion.robots;dur=0.021536, exclusion.robots.policy;dur=0.010442, esindex;dur=0.014827, cdx.remote;dur=46.067886, LoadShardBlock;dur=239.769978, PetaboxLoader3.datanode;dur=93.515277, PetaboxLoader3.resolve;dur=136.095038
x-app-server: wwwb-app223
x-ts: 302
x-tr: 315
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: SERVER=wwwb-app223; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 23 Jul 2025 09:10:00 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Sat, 05 Jun 2010 01:50:50 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "38ac93628b7ed6e7d21ec50ef0ff14fe"
x-archive-orig-x-runtime: 43ms
x-archive-orig-content-length: 28474
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sat, 05 Jun 2010 01:50:50 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 05 Jun 2010 01:50:50 GMT", ; rel="memento"; datetime="Sat, 05 Jun 2010 01:50:50 GMT", ; rel="next memento"; datetime="Sun, 15 May 2011 18:38:12 GMT", ; rel="last memento"; datetime="Fri, 11 Jul 2025 00:20:34 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 51_16_20100604103621_crawl101-c/51_16_20100605015039_crawl101.arc.gz
server-timing: captures_list;dur=0.557512, exclusion.robots;dur=0.020027, exclusion.robots.policy;dur=0.009311, esindex;dur=0.012599, cdx.remote;dur=44.083387, LoadShardBlock;dur=226.856377, PetaboxLoader3.datanode;dur=136.564616, PetaboxLoader3.resolve;dur=153.471887, load_resource;dur=209.903559
x-app-server: wwwb-app223
x-ts: 200
x-tr: 545
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
github's github-services at master - GitHub
github / github-services
- Source
- Commits
- Network (2)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
README.mkdn
GitHub Services
How the services work
- A post-receive background job is submitted when someone pushes their commits to GitHub
- If the repository the commits belong to has any "Service Hooks" setup, the
job makes a request to
https://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)
- Sinatra (github-services.rb) processes the request (twitters your data, says something in campfire, posts it to lighthouse, etc)
- Rinse and repeat
Steps to contributing
- Fork the project
Create a new file in /services/ called
service_name.rb
, using the following template:service :service_name do |data, payload| end
Vendor any external gems your code relies on, and make sure to include it in the requires at the top of github-services.rb
- Add documentation to
docs/service_name
(refer to the others for guidance) - Add your name to the
CONTRIBUTORS
file - Create an Issue at https://github.com/pjhyett/github-services/issues with links to each commit you want included.
- 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
- [sudo] gem install hpricot
- git clone git://github.com/pjhyett/github-services.git
- cd github-services
ruby github-services.rb
Bugs in the code should be filed under the Issues tab
- Problems with the service hooks can be filed here: https://support.github.com/discussions/post-receive-issues
How to test your service
- Start the github-services Sinatra server with
ruby github-services.rb
. By default, it runs on port 8080. - Edit the doc/github_payload file as necessary to test your service. (Usually just editing the "data" values but leaving the "payload" alone.)
- 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!