CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 30 Jul 2025 20:10:24 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090907004407
location: https://web.archive.org/web/20090907004407/https://github.com/pjhyett/github-services
server-timing: captures_list;dur=0.892788, exclusion.robots;dur=0.030937, exclusion.robots.policy;dur=0.013331, esindex;dur=0.013290, cdx.remote;dur=12.011144, LoadShardBlock;dur=284.999501, PetaboxLoader3.datanode;dur=175.910726, PetaboxLoader3.resolve;dur=62.243992
x-app-server: wwwb-app216
x-ts: 302
x-tr: 359
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: SERVER=wwwb-app216; 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: Wed, 30 Jul 2025 20:10:25 GMT
content-type: text/html; charset=utf-8
content-length: 119
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Mon, 07 Sep 2009 00:44:06 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
x-archive-orig-x-runtime: 246ms
location: https://web.archive.org/web/20090907004407/https://github.com/pjhyett/github-services/tree/master
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 119
cache-control: max-age=1800
memento-datetime: Mon, 07 Sep 2009 00:44:07 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 02 May 2008 21:03:29 GMT", ; rel="prev memento"; datetime="Wed, 08 Jul 2009 03:31:25 GMT", ; rel="memento"; datetime="Mon, 07 Sep 2009 00:44:07 GMT", ; rel="next memento"; datetime="Sat, 19 Sep 2009 06:57:01 GMT", ; rel="last memento"; datetime="Sat, 26 Jul 2025 12:25:57 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_11_20090906212558_crawl101.gpg-c/52_11_20090907004313_crawl101.arc.gz
server-timing: captures_list;dur=0.485789, exclusion.robots;dur=0.016704, exclusion.robots.policy;dur=0.007363, esindex;dur=0.010759, cdx.remote;dur=76.703900, LoadShardBlock;dur=224.237047, PetaboxLoader3.datanode;dur=173.508558, PetaboxLoader3.resolve;dur=234.308168, load_resource;dur=255.878404
x-app-server: wwwb-app216
x-ts: 301
x-tr: 587
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=()
HTTP/2 200
server: nginx
date: Wed, 30 Jul 2025 20:10:26 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Mon, 07 Sep 2009 00:44:07 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "aea935e355e8368f46bdfc1e4176aea1"
x-archive-orig-x-runtime: 250ms
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 27098
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 07 Sep 2009 00:44:07 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 02 May 2008 12:54:20 GMT", ; rel="prev memento"; datetime="Wed, 19 Aug 2009 04:59:18 GMT", ; rel="memento"; datetime="Mon, 07 Sep 2009 00:44:07 GMT", ; rel="next memento"; datetime="Sat, 19 Sep 2009 06:57:01 GMT", ; rel="last memento"; datetime="Wed, 28 May 2025 09:02: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_11_20090906212558_crawl101.gpg-c/52_11_20090907004313_crawl101.arc.gz
server-timing: captures_list;dur=13.884109, exclusion.robots;dur=0.023417, exclusion.robots.policy;dur=0.010824, esindex;dur=0.010112, cdx.remote;dur=88.190412, LoadShardBlock;dur=417.987015, PetaboxLoader3.datanode;dur=398.102023, PetaboxLoader3.resolve;dur=667.213717, load_resource;dur=691.629943
x-app-server: wwwb-app216
x-ts: 200
x-tr: 1294
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
pjhyett'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 (

Description: | Official GitHub Services Integration edit |
Homepage: | https://github.com/blog/53-github-services-ipo edit |
Public Clone URL: |
git://github.com/pjhyett/github-services.git
Give this clone URL to anyone.
git clone git://github.com/pjhyett/github-services.git
|
Your Clone URL: |
Use this clone URL yourself.
git clone git@github.com:pjhyett/github-services.git
|
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Wed Jul 09 22:18:36 -0700 2008 | Improving email format. This includes a second... [Eric Lindvall] |
![]() |
CONTRIBUTORS | Sun Jan 25 20:53:48 -0800 2009 | More thanks [pjhyett] |
![]() |
LICENSE | Mon Jul 14 01:30:49 -0700 2008 | add LICENSE [pjhyett] |
![]() |
README.mkdn | Tue Aug 11 09:45:04 -0700 2009 | Contributors should create issues in Issues tab... [defunkt] |
![]() |
Rakefile | Tue May 06 02:08:47 -0700 2008 | Added Rakefile with a RSpec task to make runnin... [Luke Redpath] |
![]() |
docs/ | Tue Jul 14 10:13:29 -0700 2009 | Changed twitter behaviour to have the ability t... [jmkogut] |
![]() |
github-services.rb | Fri Jun 12 15:29:06 -0700 2009 | set the environment and port explicitly [pjhyett] |
![]() |
services/ | Thu Aug 06 14:53:40 -0700 2009 | Add spam protection to campfire service [tekkub] |
![]() |
spec/ | Wed Nov 12 11:49:45 -0800 2008 | Moved experimental testing framework into it's ... [Luke Redpath] |
![]() |
vendor/ | Tue Apr 28 18:15:54 -0700 2009 | don't need this either [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| 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
This feature is coming soon. Sit tight!