| CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 24 Dec 2025 04:29:08 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20080502202541
location: https://web.archive.org/web/20080502202541/https://github.com/pjhyett/github-services/tree
server-timing: captures_list;dur=0.854902, exclusion.robots;dur=0.071766, exclusion.robots.policy;dur=0.057457, esindex;dur=0.013514, cdx.remote;dur=25.683310, LoadShardBlock;dur=283.927041, PetaboxLoader3.datanode;dur=137.840405, PetaboxLoader3.resolve;dur=83.974866
x-app-server: wwwb-app224-dc8
x-ts: 302
x-tr: 361
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app224; path=/
x-location: All
x-as: 14061
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 302
server: nginx
date: Wed, 24 Dec 2025 04:29:12 GMT
content-type: text/html; charset=utf-8
content-length: 119
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Fri, 02 May 2008 20:25:41 GMT
x-archive-orig-connection: close
x-archive-orig-status: 302 Found
location: https://web.archive.org/web/20080502202541/https://github.com/pjhyett/github-services/tree/master
x-archive-orig-x-runtime: 0.15384
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 119
cache-control: max-age=1800
memento-datetime: Fri, 02 May 2008 20:25:41 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
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: 52_3_20080502193430_crawl109-c/52_3_20080502202358_crawl103.arc.gz
server-timing: captures_list;dur=0.608592, exclusion.robots;dur=0.021758, exclusion.robots.policy;dur=0.009549, esindex;dur=0.011482, cdx.remote;dur=8.067947, LoadShardBlock;dur=2253.157382, PetaboxLoader3.datanode;dur=2228.282395, PetaboxLoader3.resolve;dur=1205.878571, load_resource;dur=1238.112737
x-app-server: wwwb-app224-dc8
x-ts: 302
x-tr: 3525
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
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 302
server: nginx
date: Wed, 24 Dec 2025 04:29:13 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20080502125420
location: https://web.archive.org/web/20080502125420/https://github.com/pjhyett/github-services/tree/master
server-timing: captures_list;dur=5.352195, exclusion.robots;dur=0.025639, exclusion.robots.policy;dur=0.012731, esindex;dur=0.013098, cdx.remote;dur=21.539202, LoadShardBlock;dur=310.235395, PetaboxLoader3.datanode;dur=95.477186, PetaboxLoader3.resolve;dur=44.135460
x-app-server: wwwb-app224-dc8
x-ts: 302
x-tr: 365
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
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, 24 Dec 2025 04:29:13 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Fri, 02 May 2008 12:54:20 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_session=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7AA%253D%253D--05fe545aeb8e6719fb006b3a7474a1d3aeb228a4; path=/
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 0.49817
x-archive-orig-etag: "808567acde6434cffd520fba8694c2e3"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 14244
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Fri, 02 May 2008 12:54:20 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
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_3_20080501235338_crawl101-c/51_3_20080502124519_crawl103.arc.gz
server-timing: captures_list;dur=0.587740, exclusion.robots;dur=0.020582, exclusion.robots.policy;dur=0.009749, esindex;dur=0.011359, cdx.remote;dur=6.565924, LoadShardBlock;dur=93.100472, PetaboxLoader3.datanode;dur=126.338052, PetaboxLoader3.resolve;dur=84.459156, load_resource;dur=130.448806
x-app-server: wwwb-app224-dc8
x-ts: 200
x-tr: 277
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
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
pjhyett's github-services at master — GitHub
| Description: | Official GitHub Services Integration |
| Homepage: | https://github.com/blog/53-github-services-ipo |
| Clone URL: |
git://github.com/pjhyett/github-services.git
Give this clone URL to anyone.
git clone git://github.com/pjhyett/github-services.git
|
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Mon Apr 28 16:45:10 -0700 2008 | GitHub service integration [pjhyett] |
| |
README.mkdn | Wed Apr 30 16:58:55 -0700 2008 | Mark up README with markdown and rename accordi... [dag] |
| |
docs/ | Fri May 02 01:14:07 -0700 2008 | CIA.cv docs [pjhyett] |
| |
github-services.rb | Fri May 02 00:20:50 -0700 2008 | Merge branch 'tekkub/master' [pjhyett] |
| |
services/ | Fri May 02 00:20:50 -0700 2008 | Merge branch 'tekkub/master' [pjhyett] |
| |
vendor/ | Mon Apr 28 18:03:19 -0700 2008 | vendor rack and update sinatra [pjhyett] |
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| endVendor 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) - Send us a pull request
- Once it's accepted, we'll add any new necessary data fields to the GitHub front-end so people can start using your addition.
If you're interested in setting up an interesting test framework to manage the services, that would also be greatly appreciated.
Bugs can be filed here: Lighthouse
Thanks to the following people for making this possible
- Blake Mizerany
- Brandon Keepers
- Christian Neukirchen
- Florian Frank
- John Nunemaker
- Luke Redpath
- Tekkub Stoutwrithe
This feature is coming soon. Sit tight!




