CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Thu, 31 Jul 2025 10:19:29 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090218100923
location: https://web.archive.org/web/20090218100923/https://github.com/koke/github-services/tree
server-timing: captures_list;dur=0.689089, exclusion.robots;dur=0.026412, exclusion.robots.policy;dur=0.012085, esindex;dur=0.013636, cdx.remote;dur=56.022484, LoadShardBlock;dur=332.750734, PetaboxLoader3.datanode;dur=86.269606, PetaboxLoader3.resolve;dur=103.244307
x-app-server: wwwb-app225
x-ts: 302
x-tr: 427
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: SERVER=wwwb-app225; 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 301
server: nginx
date: Thu, 31 Jul 2025 10:19:30 GMT
content-type: text/html; charset=utf-8
content-length: 116
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Wed, 18 Feb 2009 10:09:22 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090218100923/https://github.com/koke/github-services/tree/master
x-archive-orig-x-runtime: 94ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 116
cache-control: max-age=1800
memento-datetime: Wed, 18 Feb 2009 10:09:23 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Wed, 18 Feb 2009 10:09:23 GMT", ; rel="memento"; datetime="Wed, 18 Feb 2009 10:09:23 GMT", ; rel="last memento"; datetime="Wed, 18 Feb 2009 10:09:23 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: 52_8_20090218094313_crawl103-c/52_8_20090218100824_crawl101.arc.gz
server-timing: captures_list;dur=0.815069, exclusion.robots;dur=0.032220, exclusion.robots.policy;dur=0.014385, esindex;dur=0.017539, cdx.remote;dur=34.751017, LoadShardBlock;dur=246.294340, PetaboxLoader3.datanode;dur=286.065862, PetaboxLoader3.resolve;dur=421.720687, load_resource;dur=480.128333
x-app-server: wwwb-app225
x-ts: 301
x-tr: 796
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=9
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: Thu, 31 Jul 2025 10:19:31 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Wed, 18 Feb 2009 10:09:23 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 243ms
x-archive-orig-etag: "7eca18c279b826bedf0b7f65d2639ff4"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 18870
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Wed, 18 Feb 2009 10:09:23 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 16 Feb 2009 04:17:35 GMT", ; rel="prev memento"; datetime="Mon, 16 Feb 2009 04:17:35 GMT", ; rel="memento"; datetime="Wed, 18 Feb 2009 10:09:23 GMT", ; rel="next memento"; datetime="Thu, 19 Mar 2009 05:30:45 GMT", ; rel="last memento"; datetime="Fri, 01 May 2009 02:26:15 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: 52_8_20090218094313_crawl103-c/52_8_20090218100824_crawl101.arc.gz
server-timing: captures_list;dur=0.799654, exclusion.robots;dur=0.016816, exclusion.robots.policy;dur=0.008650, esindex;dur=0.011092, cdx.remote;dur=13.359962, LoadShardBlock;dur=344.753334, PetaboxLoader3.datanode;dur=106.561990, PetaboxLoader3.resolve;dur=300.106589, load_resource;dur=221.393920
x-app-server: wwwb-app225
x-ts: 200
x-tr: 630
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
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
koke's github-services at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Fork of pjhyett/github-services | |
Description: | Official GitHub Services Integration |
Homepage: | https://github.com/blog/53-github-services-ipo |
Clone URL: |
git://github.com/koke/github-services.git
Give this clone URL to anyone.
git clone git://github.com/koke/github-services.git
|
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Mon Apr 28 16:45:10 -0700 2008 | GitHub service integration [pjhyett] |
![]() |
README.mkdn | Tue May 06 15:11:07 -0700 2008 | More thanks [pjhyett] |
![]() |
docs/ | Loading commit data... ![]() |
|
![]() |
github-services.rb | ||
![]() |
services/ | ||
![]() |
vendor/ |
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) - 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
- John Reilly
- Luke Redpath
- Noah (ngage)
- Sean O'Brien
- Tekkub Stoutwrithe
This feature is coming soon. Sit tight!