- Nodejs 8 is required
- Apache Kafka
- Local installation guide
npm install
eslint is used to lint the javascript source code:
npm run lint
- POST /webhooks/github - The webhook handler for github
- POST /webhooks/gitlab - The webhook handler for gitlab
See "configuration.md"
config/local.js
will not tracked by git.
npm start
Server should be started at port 3002.
use ngrok
to make your local deploy accessible by internet:
ngrok http 3002
Before verifying the tool, 3 service needs be configured and run them
- processor
- receiver
- Topcoder X
Go to Topcoder X UI login with above used topcoder username and
-
go to settings and make sure git hosts are correctly setup, if not click setup and authorize to setup.
-
Go to Topcoder X UI and go to project management and add a project from git account and click save, and edit the same project and click 'Add Webhooks' button, verify that webhooks are set up correctly on git host's project.
Now, receiver service can receive the webhooks from git host's project. Now you can verify this service by following the verfication steps below
- create an issue in the repo, you can see the logs in
receiver
andprocessor
, theissue.created
event is generated. - update an issue in the repo, you can see the logs in
receiver
andprocessor
, theissue.updated
event is generated. - create a comment on an issue, you can see the logs in
receiver
andprocessor
, thecomment.created
event is generated. - update a comment on an issue, you can see the logs in
receiver
andprocessor
, thecomment.updated
event is generated. - assigned a user to an issue, you can see the logs in
receiver
andprocessor
, theissue.assigned
event is generated. - un-assigned a user to an issue, you can see the logs in
receiver
andprocessor
, theissue.unassigned
event is generated. - add/remove a label to an issue, you can see the logs in
receiver
andprocessor
, theissue.labelUpdated
event is generated. - create a pull request, you can see the logs in
receiver
andprocessor
, thepull_request.created
event is generated. - close a pull request without merge, you can see the logs in
receiver
andprocessor
, thepull_request.closed
event is generated and themerged
property isfalse
. - merge a pull request, you can see the logs in
receiver
andprocessor
, thepull_request.closed
event is generated and themerged
property istrue
. - close an issue in the repo, you can see the logs in
receiver
andprocessor
, theissue.closed
event is generated
- create an issue in the repo, you can see the logs in
receiver
andprocessor
, theissue.created
event is generated. - update an issue in the repo, you can see the logs in
receiver
andprocessor
, theissue.updated
event is generated. - create a comment on an issue, you can see the logs in
receiver
andprocessor
, thecomment.created
event is generated. - assigned a user to an issue, you can see the logs in
receiver
andprocessor
, theissue.assigned
event is generated. - un-assigned a user to an issue, you can see the logs in
receiver
andprocessor
, theissue.unassigned
event is generated. - add/remove a label to an issue, you can see the logs in
receiver
andprocessor
, theissue.labelUpdated
event is generated. - create a pull request, you can see the logs in
receiver
andprocessor
, thepull_request.created
event is generated. - close a pull request without merge, you can see the logs in
receiver
andprocessor
, thepull_request.closed
event is generated and themerged
property isfalse
. - merge a pull request, you can see the logs in
receiver
andprocessor
, thepull_request.closed
event is generated and themerged
property istrue
. - close an issue in the repo, you can see the logs in
receiver
andprocessor
, theissue.closed
event is generated