| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Start by reading the Contributing Guidelines.
Fork the project
Create a new file in /services/ called service_name.rb, using the following template:
class Service::ServiceName < Service
def receive_push
end
endVendor any external gems your code relies on, and make sure it is specified in the Gemfile.
Add documentation to docs/service_name (refer to the others for guidance)
Send a pull request from your fork to github/github-services
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 required
A huge thanks goes out to our many contributors!
You can test your service in a ruby irb console:
Run rake console to start irb.
Instantiate your Service:
svc = Service::MyService.new(:push,
# Hash of configuration information.
{'token' => 'abc'},
# Hash of payload.
{'blah' => 'payload!'})
svc.receive_pushThe third argument is optional if you just want to use the sample payload.
svc = Service::MyService.new(:push,
# Hash of configuration information.
{'token' => 'abc'})
svc.receive_pushYou can also use this one-liner in the shell instead:
bundle exec ruby -r config/load.rb -r services/myservice.rb -e \
"Service::MyService.new(:push, {'foo' => 'bar'}).receive_push"You can also test your hook with the Sinatra web service:
The default hook for a service is push. You may wish to have services respond to other event types, like pull_request or issues. The full list may be found in service.rb. Unless your service specifies default_events <list_of_types>, only the push hook will be called, see service.rb#default_events.
To make use of these additional types, your service will either need to define receive_<type> (like receive_pull_request_review_comment) or a generic receive_event.
You can read more about the Hooks in the API Documentation.
| Back | FazBrowse Home | New Git URL |