Compare commits

...

242 Commits

Author SHA1 Message Date
Dean Karn 4f72f9c366 Update README.md 2022-04-29 21:59:45 -07:00
Dean Karn edaedd4ce9 Merge pull request #144 from iamsumit/issue-47
Changed date field from int64 to time.Time to fix the parsing error.
2022-04-29 21:53:40 -07:00
Sumit Madan b793bbfed1 Fixed test for integration installation events. 2022-03-08 11:04:06 +05:30
Sumit Madan c4e51bc4db Updated test with new changes. 2022-03-08 10:55:28 +05:30
Sumit Madan f22656b35f Changed date field from int64 to time.Time to fix the parsing error. 2022-03-07 13:14:21 +05:30
Anton Krivenko 9c954e23a1 Merge pull request #139 from dvonthenen/feature/workflowjob
Implement github workflow events (Dispatch, Job, Run)
2021-11-16 19:56:47 +03:00
Anton Krivenko a920656418 Merge pull request #137 from ptu/github-deploy-key-event
Added GitHub deploy_key Event
2021-11-16 19:56:07 +03:00
Anton Krivenko 06301b5ab1 Merge pull request #135 from thedemoncat/v6
Add "Runner" to  BuildEventPayload struct
2021-11-16 19:55:58 +03:00
Anton Krivenko c91d10f2b2 Merge pull request #133 from faldez/gitlab/add-email-in-user
add id and email in gitlab user
2021-11-16 19:55:31 +03:00
Anton Krivenko 1739c6dbe4 Merge pull request #132 from gsaraf/add_missing_private_member_to_repositories
Add missing "private" member to repositories in installation event
2021-11-16 19:55:22 +03:00
dvonthenen ffc40ad83a Implement github workflow events (Dispatch, Job, Run)
Co-authored-by: Justin Toh <tohjustin@hotmail.com>
2021-11-15 09:10:24 -08:00
ptu 2e6b4930e4 Added GitHub deploy_key Event 2021-08-02 15:42:50 +02:00
Zhdanov_R 8618bb2b63 add Runner to BuildEventPayload struct 2021-07-14 14:46:48 +03:00
Muhammad Fadhlika 4399abf450 add id and email in gitlab user 2021-05-21 15:14:01 +07:00
Gahl Saraf f16cede744 Add missing private member to repositories in installation event 2021-05-15 19:17:44 +03:00
Anton Krivenko 3c382736e0 Merge pull request #128 from juliojimenez/checks-installation-id
fix: Add Installation struct to CheckSuitePayload and CheckRunPayload
2021-05-03 23:42:40 +03:00
Anton Krivenko ec227ef416 Merge pull request #131 from riyadhalnur/fix/gitlab-mr-assignee
FIX: gitlab merge request event assignee payload
2021-05-03 23:40:17 +03:00
Riyadh Al Nur e55d994db5 FIX: gitlab merge request event assignee payload
- gitlab updated their MR payload which adds a parent field
for the list of assignees
- this fix update the Assignee struct to add the missing `Email`
and `ID` field
- adds an array of assignees as part of the MR event payload

Closes #101
2021-05-02 16:10:26 +08:00
Julio Jimenez 66bfeb55b9 fix: Add Installation struct to CheckSuitePayload and CheckRunPayload 2021-03-06 14:15:31 -05:00
Anton Krivenko e1c6b6436c Windows support to be checked... 2021-01-23 04:33:26 +03:00
Anton Krivenko 598a1cf5be Fix CI 2021-01-23 04:28:45 +03:00
Anton Krivenko f3cedb24ac Travis -> GitHub Actions 2021-01-23 04:21:20 +03:00
Anton Krivenko 82e53669b8 Fixed tests & minor changes in Makefile 2021-01-23 03:58:58 +03:00
Anton Krivenko cd70db9922 Merge pull request #107 from zrochler/gitlab-job-hook-build-payload
Add handling for job hooks with build payloads
2021-01-21 19:19:31 +03:00
Anton Krivenko b3a37b9b9a Merge pull request #126 from shaheed121/fix_gitlab_payload
Changing duration types from int64 to float64
2021-01-21 19:17:38 +03:00
Anton Krivenko e5ab838da3 Merge pull request #125 from go-playground/v6-go-modules
Go modules support
2021-01-15 00:10:05 +03:00
Abdul Shaheed 56d9dffd38 Changing duration types from int64 to float64 2021-01-11 20:27:51 +01:00
Anton Krivenko c99be7dbb8 CI fixes 2021-01-10 02:10:23 +03:00
Anton Krivenko 433ece5b7b Preparations for the go modules way of work 2021-01-10 01:30:18 +03:00
Anton Krivenko e6bb8aa4b7 Merge pull request #119 from tjrivera/child-team-payload-support
GitHub child team payload support
2021-01-06 22:23:03 +03:00
Anton Krivenko 8a870336ee Merge pull request #110 from wasphin/patch-1
gitlab: fix a typo
2021-01-06 21:54:58 +03:00
Anton Krivenko b6a30802e2 Merge pull request #123 from shaheed121/fix_gitlab_payload
Modify Gitlab Job and Pipeline events
2021-01-06 21:54:45 +03:00
Zach Rochler a8ff1e82b4 Undo BuildDuration change 2021-01-05 16:23:11 -08:00
Anton Krivenko 5fcf4a6e13 Update README.md 2021-01-06 02:47:13 +03:00
Anton Krivenko 1f79ca202d Preparations for the new v6 branch: some updates for .v6 url 2021-01-06 02:33:31 +03:00
Anton Krivenko 59fb74817c Update README.md 2021-01-05 02:33:20 +03:00
Anton Krivenko aa941874be Merge pull request #115 from yinxulai/v5
Add changes field in to IssuesPayload and  IssueCommentPayload of Github
2021-01-05 02:31:45 +03:00
Anton Krivenko bfd950a988 Merge branch 'v5' into v5 2021-01-04 22:39:52 +03:00
Anton Krivenko 9d685f3a73 Merge pull request #106 from wrewolf/patch-1
Added support draft pull request for github
2021-01-04 22:37:19 +03:00
Anton Krivenko 1f42c84783 Merge pull request #122 from DrMagPie/v5
Added missing field
2021-01-04 22:36:10 +03:00
Abdul Shaheed b79b935d9e Modify Job and Pipeline events as per https://docs.gitlab.com/ee/user/project/integrations/webhooks.html
Also, modified dependent types like Repository, MergeRequest, Commit to reflect the latest payload.
2020-12-24 11:51:07 +01:00
Aleksey Andreyanov ee81f21da7 Add correct X-Hub-Signature for PullRequestEvent test 2020-12-08 14:49:12 +03:00
Dr.MagPie 03cee75fc3 Updated Signature 2020-12-08 00:23:31 +02:00
Dr.MagPie 86c24d8570 added missing field 2020-12-07 23:56:48 +02:00
Anton Krivenko 30fb8f885f Merge pull request #114 from takirala/tga/add-labels-support
gitlab: Add labels array in MergeRequestEventPayload
2020-11-10 23:20:39 +03:00
Anton Krivenko 957d07ee07 Update .travis.yml (#120) 2020-11-10 08:54:38 +03:00
yinxulai a5ce17cac3 format .travis.yaml 2020-07-23 11:29:49 +08:00
yinxulai efae47c3b9 add changes field in to IssuesPayload and IssueCommentPayload of GitHub. 2020-07-23 10:15:12 +08:00
Anton Krivenko b616136c50 Merge pull request #111 from aritas1/v5
handle gitlab system hook inconsistencies
2020-07-17 19:00:12 +03:00
Anton Krivenko 303483bff4 Merge pull request #112 from chhsia0/bitbucketserver-pr-from-ref-updated
Bitbucket Server: Add support for `pr:from_ref_updated` event.
2020-07-17 18:59:46 +03:00
Tarun Gupta Akirala 4156f32687 gitlab: Add labels array in MergeRequestEventPayload 2020-07-14 20:50:27 -07:00
aritas1 b03dc868a0 update system hooks to handle event_name fields 2020-05-31 01:37:42 +02:00
Daniel 9f0c3ac5d7 add system hook example data for merge request 2020-05-31 01:13:00 +02:00
Daniel f4ad678f8e add a system tag push example 2020-05-31 01:11:22 +02:00
Daniel a23062206a add a system push example 2020-05-31 01:10:33 +02:00
chhsia0 7c046447e2 Added support for Bitbucket server pr:from_ref_updated event. 2020-05-27 19:55:08 -07:00
Xiaofeng Wang fafbb08b19 gitlab: fix a typo 2020-05-26 10:51:49 +08:00
Tyler Rivera c31b74320c Support GitHub child teams in team payload 2020-05-14 11:58:05 -04:00
Tyler Rivera 5be09cefe2 Support GitHub child teams 2020-05-13 17:37:18 -04:00
Anton Krivenko 7a4edfce55 Merge pull request #108 from yinxulai/v5
add changes field in to PullRequestPayload of GitHub.
2020-05-02 17:14:57 +03:00
Anton Krivenko bb49f714ae Merge pull request #103 from spacelift-io/v5
Add missing ID for Project
2020-05-02 17:13:22 +03:00
yinxulai 260e9b3afd restructuring 2020-04-28 09:57:19 +08:00
yinxulai e01b0fd664 supplementary annotation 2020-04-28 09:54:53 +08:00
yinxulai ef305446ee add changes field in to GitHub PullRequestPayload. 2020-04-28 09:47:11 +08:00
Zach Rochler cfd9712d30 Fix BuildDuration type 2020-04-15 15:26:28 -07:00
Zach Rochler a7a2c8c856 Add handling for job hooks with build payloads 2020-04-15 14:05:41 -07:00
Grzegorz Korzeniowski 743f78a93d Add missing UserUsername in TagEventPayload 2020-04-15 15:23:23 +02:00
Grzegorz Korzeniowski a4dc35a54d Add missing UserUsername in PushEventPayload 2020-04-09 15:14:43 +02:00
Aleksey Andreyanov 9a9f42e1b8 Added support draft pull request for github 2020-04-05 20:19:13 +03:00
Marcin Wyszynski cc63869891 Add missing ID for Project 2020-03-30 14:52:52 +02:00
Dean Karn cb4aa3d145 Merge pull request #96 from chhsia0/github-pr-comment
Added supported for GitHub pull request comments.
2019-11-11 12:54:33 -08:00
Dean Karn 334436bcc5 Merge pull request #97 from Toshik1978/v5
Fixed pipeline hook for GitLab >= 12.3
2019-11-11 12:53:47 -08:00
chhsia0 3007a7f5c2 Added supported for GitHub pull request comments. 2019-10-26 10:00:18 -07:00
Anton Krivenko f248671aae Fixed pipeline hook for GitLab >= 12.3 2019-09-28 23:17:57 +03:00
Dean Karn 2845fba51e Update README.md 2019-08-24 09:41:18 -07:00
Dean Karn e1f5ba4c3a Merge pull request #88 from luca-moser/github-meta-event
Adds GitHub meta event/payload
2019-08-24 09:31:05 -07:00
Dean Karn ef903a2448 Merge branch 'v5' into github-meta-event 2019-08-24 09:22:16 -07:00
Dean Karn 115b7e49a5 Merge pull request #87 from pavelgnom/v5
Add `Installation` to the `ReleasePayload`
2019-08-24 09:10:12 -07:00
Dean Karn 9ce6db7e53 Merge pull request #86 from BlizzTom/v5
Adding support for github event integration_installation_repositories
2019-08-24 09:00:14 -07:00
Luca Moser dc7efa3fa7 adds GitHub meta event/payload 2019-08-24 11:28:48 +02:00
Pavel Herasimau c3faee81c0 add installation to release payload 2019-08-21 17:41:58 +03:00
Tom Anderson 26af15f0e6 Adding support for event integration_installation_repositories 2019-08-01 14:15:31 -07:00
Dean Karn 2c25dbce5e Update README.md 2019-07-10 08:15:30 -07:00
Dean Karn cc33de46ff Merge pull request #85 from riley-martine/v5
Move node_id field from status to status.commit in StatusEvent
2019-07-10 08:14:05 -07:00
Dean Karn c86c1f184a Merge pull request #84 from ilteristabak/updated-bb-actor
Update BitBucket Owner payload
2019-07-10 08:13:12 -07:00
Dean Karn 2c92b6562c Merge pull request #82 from hatstand/add-installation-id
Add installation ID to pull request payloads
2019-07-10 08:12:17 -07:00
Dean Karn 0c10330052 Merge pull request #79 from maguro/v5
Update position to struct
2019-07-10 08:11:48 -07:00
Riley Martine a9a686f8e5 Reorder field in StatusPayload to match schema 2019-07-08 17:29:19 -04:00
Riley Martine 3534f74a83 Move node_id field from status to status.commit in StatusEvent 2019-07-08 17:11:12 -04:00
ilteriş tabak a740f8cf11 Update BitBucket payload 2019-07-02 10:07:43 +03:00
John Maguire 905cac71c9 Add installation ID to PullRequestReviewComment 2019-06-20 14:38:42 +01:00
John Maguire 71b069e705 Add installation ID to PullRequestReview 2019-06-20 14:38:39 +01:00
Alan D. Cabrera 471fb52f8c Update position to struct
Position defines a specific location, identified by paths line numbers and
image coordinates, within a specific diff, identified by start, head and
base commit ids.

Text position will have: new_line and old_line
Image position will have: width, height, x, y
2019-06-01 21:19:40 -07:00
Dean Karn 1751865845 Update README.md 2019-05-23 07:51:41 -07:00
Dean Karn 0a9a3aab3e Merge pull request #76 from v4lproik/add-repository-vulnerability-alert
Add repository vulnerability alert event
2019-05-23 07:51:04 -07:00
jrousseau 43ffb318d2 Add repository vulnerability alert event 2019-05-22 14:09:39 +02:00
Dean Karn 6edb377cee Update README.md 2019-05-20 13:34:26 -07:00
Dean Karn c205145bc6 Merge pull request #75 from maguro/v5
Update PipelineEventPayload with Job
2019-05-20 13:33:52 -07:00
Alan D. Cabrera a8ef7768a6 Update Pipeline even with jobs 2019-05-20 06:53:40 -07:00
Dean Karn 2b63b487a9 Update README.md 2019-05-18 22:50:58 -07:00
Dean Karn c168baf1a5 Merge pull request #73 from iladin/master
Add support for Job Events
2019-05-18 22:48:52 -07:00
Dean Karn 08c3e54514 Merge pull request #72 from geeknoid/v5
Add support for some additional fields.
2019-05-18 22:46:34 -07:00
Daniel Silverman 21587e152e Add support for Job Events
Closes go-playground/webhooks#70, closes go-playground/webhooks#71
2019-05-18 21:46:08 -07:00
mtail bf1a77d573 Add support for some additional fields. 2019-05-18 07:51:32 -07:00
Dean Karn d228b48c40 Update README.md 2019-04-30 07:55:25 -07:00
Dean Karn 869ac76ba8 Merge pull request #69 from hatstand/add-security-advisory
Add github security advisory event
2019-04-30 07:55:04 -07:00
John Maguire ebe6b8d143 Add test for security_advisory 2019-04-17 16:09:34 +01:00
John Maguire c271d4f1c6 Parse SecurityAdvisory events 2019-04-17 15:59:55 +01:00
John Maguire 067e3f1d7a Add SecurityAdvisoryPayload struct 2019-04-17 15:57:20 +01:00
Dean Karn 0f4713c1d1 Update README.md 2019-04-14 09:36:48 -07:00
Dean Karn f053ac6ee1 Merge pull request #67 from hatstand/add-requested-teams
Add requested_team to PullRequestPayload
2019-04-14 09:36:21 -07:00
John Maguire 65f5d60701 Add requested_team to PullRequestPayload 2019-04-04 17:20:26 +01:00
Dean Karn 295aa6531f Update README.md 2019-03-31 05:24:05 -07:00
Dean Karn a1e2052ae0 Update .travis.yml 2019-03-31 05:11:02 -07:00
Dean Karn d70f617c2d Merge pull request #66 from hatstand/add-requested-reviewer
Add requested_reviewer to GitHub pull request
2019-03-31 05:02:57 -07:00
Dean Karn 4ee4acfa25 Merge pull request #65 from hatstand/add-repo-and-send-to-ping
Add repository and sender to ping event
2019-03-31 05:01:03 -07:00
Dean Karn 8856cf3151 Merge pull request #64 from garretua/feature/github_checks
[Github] Support for check_run and check_suite webhooks
2019-03-31 04:57:48 -07:00
Dean Karn 739eddd0c9 Merge pull request #54 from Munsio/feature/gitlab-system-hooks
* Add gitlab system hook parsing

If you use gitlab system hooks you can now send push/tag_push/merge_request events

* Declare err and payload to avoid scope issues

* Refactor the whole event switch into own function

* Remove unnecessary comment

* Give the user the choice to parse SystemHooks
2019-03-31 04:54:13 -07:00
Mathias Åhsberg acf48b9638 Adds support for Bitbucket Server (#63) 2019-03-31 04:49:55 -07:00
John Maguire 01a1302e02 Add requested_reviewer to GitHub pull request 2019-03-28 10:10:15 +00:00
John Maguire d9474f43ee Add repository and sender to ping event 2019-03-26 16:46:50 +00:00
Alex Mukho 4c7b9ae07d check_run and check_suite webhooks support 2019-03-18 18:15:03 +02:00
Martin Treml bad16bfcd0 Give the user the choice to parse SystemHooks 2019-03-11 08:13:22 +01:00
Martin Treml 66059be93b Remove unnecessary comment 2019-03-05 11:38:26 +01:00
Martin Treml 175959ef60 Refactor the whole event switch into own function 2019-02-27 17:58:42 +01:00
Martin Treml 399cac5122 Merge remote-tracking branch 'upstream/v5' into feature/gitlab-system-hooks 2019-02-27 17:09:18 +01:00
Dean Karn a1051fd871 Update README.md 2019-02-12 07:05:05 -08:00
Dean Karn ac198c9e6a change InReplyToId to InReplyToID 2019-02-12 06:52:07 -08:00
kenji sakoda e157e8e469 add in_reply_to_id in PullRequestReviewCommentPayload (#57) 2019-02-12 06:51:04 -08:00
Manjunath A Kumatagi b2ca22db96 Add Label to issuespayload (#58) 2019-02-12 06:50:05 -08:00
Dean Karn dee47c0482 Update README.md 2019-01-08 20:21:48 -08:00
Elliot Maincourt bba5196bce [Github] Add installation_repositories event (#55)
I've recently been using your type definitions while playing around with
the Github Webhooks and I realised the `install_repositories` event was
missing. I've added it and updated the tests.
2019-01-08 20:19:54 -08:00
Martin Treml 57ccf4fc30 Declare err and payload to avoid scope issues 2018-12-20 17:35:44 +01:00
Martin Treml 1b9fe11c1f Add gitlab system hook parsing
If you use gitlab system hooks you can now send push/tag_push/merge_request events
2018-12-20 17:09:12 +01:00
Dean Karn 80aa7fa2fe Update README.md 2018-12-08 07:42:25 -08:00
Dean Karn 88515706e6 Merge pull request #53 from bnfinet/v5
receive docker hub notification of automated build
2018-12-08 07:41:44 -08:00
Benjamin Foote f1f5db7261 #53 removing logging, remove extraneous comments 2018-11-28 11:11:43 -08:00
Benjamin Foote a92dd933ba receive docker hub notification 2018-11-21 17:06:21 -08:00
Dean Karn 26ca2ef893 Update README.md 2018-11-21 07:54:37 -08:00
Dean Karn 4fb25871a6 Update .travis.yml 2018-11-21 07:54:00 -08:00
Dean Karn 22a6a67d07 Update .travis.yml 2018-11-21 07:53:44 -08:00
Dean Karn d7570ff094 Merge pull request #52 from pieterlexis/add-assignees-to-issues
Add Assignees struct to IssuesPayload as well
2018-11-21 07:52:15 -08:00
Pieter Lexis 2dbe987740 Add a singular 'Assignee' field to PR and Issue payloads
This is present when the action for a PR or Issue is "assigned" or
"unassiged", detailing the user assigned or unassiged.
2018-11-05 15:12:41 +01:00
Pieter Lexis b3a5a8edf7 Add Assignees struct to IssuesPayload as well 2018-11-05 14:39:37 +01:00
Dean Karn dfc330f6eb Update README.md 2018-11-04 07:05:03 -08:00
Dean Karn cdc59eb3ef Merge pull request #51 from pieterlexis/add-assignees
GitHub Payloads: Add `Assignees` where needed
2018-11-04 07:04:26 -08:00
Pieter Lexis a39ebc145a GitHub Payloads: Add Assignees where needed
Closes #50
2018-11-02 20:15:14 +01:00
Dean Karn 24279ccb4b Merge pull request #46 from xackery/v5
Added runner to gitlab
2018-10-24 12:36:30 -07:00
Xackery Xtal 4708dcb9f1 Added runner to gitlab 2018-10-19 18:28:45 -07:00
Dean Karn 3fda9e72e1 Update README.md 2018-08-09 12:30:00 -07:00
Dean Karn a610eb250e Merge pull request #43 from go-playground/bb-uuid-check-enhancement
only validate UUID header when expecting one
2018-08-09 12:28:51 -07:00
Dean Karn f583341fb8 only validate UUID header when expecting one 2018-08-09 12:26:52 -07:00
Dean Karn 206a8b42fd cleanup examples and README 2018-08-03 23:04:59 -07:00
Dean Karn 8bd2d158e5 parallelized GitHub tests 2018-08-03 22:52:51 -07:00
Dean Karn 20522db8e3 parallelize giblab tests 2018-08-03 22:04:41 -07:00
Dean Karn 16a6e9e307 parallelize bitbucket tests 2018-08-03 21:42:16 -07:00
Dean Karn 5009b13eac move fixtures to testdata dir 2018-08-03 20:28:38 -07:00
Dean Karn 3b13bc3566 moved test fixtures into files 2018-08-01 08:11:14 -07:00
Dean Karn 865045c8ba misc updates 2018-07-31 08:49:07 -07:00
Dean Karn fe5cf5a911 test working 2018-07-31 08:46:17 -07:00
Dean Karn 1d0289a3ae temp checkin 2018-07-26 08:54:32 -07:00
Dean Karn e452811cf1 covert bitbucket, gitlab and gogs to new style 2018-07-25 22:59:10 -07:00
Dean Karn 077706a514 Converted GitHub 2018-07-25 22:05:43 -07:00
Dean Karn adb918738a Update README.md 2018-07-20 07:02:01 -07:00
Dean Karn 9cc34fc5d1 Merge pull request #38 from bafko/37-pushpayload
Updated Github PushPayload
2018-07-20 07:01:43 -07:00
bafko 63866ac80d Updated Github PushPayload 2018-07-19 17:26:06 +02:00
Dean Karn 866b461aac Update README.md 2018-07-15 20:49:11 -07:00
Dean Karn 0035246764 Merge pull request #36 from binkkatal/feature/owner_fields_in_github_push_event_payload
Add fields in PushPayload for repository owner
2018-07-15 20:48:34 -07:00
binkkatal 443e255708 Fix failing TestCommitCommentEvent
Due to a slight change in the payload , the ssh for payload changed.
This was the reason for failing test case
2018-07-14 11:38:41 +05:30
binkkatal eb56c26534 Skip TestCommitCommentEvent 2018-07-14 11:30:50 +05:30
binkkatal 2d55603413 Add fields in PushPayload for repository owner
All other webhook events have all the repository owner fields except push event.
This commit adds owner fields in `PushPayload`
```
Login             string `json:"login"`
ID                int64  `json:"id"`
AvatarURL         string `json:"avatar_url"`
GravatarID        string `json:"gravatar_id"`
URL               string `json:"url"`
HTMLURL           string `json:"html_url"`
FollowersURL      string `json:"followers_url"`
FollowingURL      string `json:"following_url"`
GistsURL          string `json:"gists_url"`
StarredURL        string `json:"starred_url"`
SubscriptionsURL  string `json:"subscriptions_url"`
OrganizationsURL  string `json:"organizations_url"`
ReposURL          string `json:"repos_url"`
EventsURL         string `json:"events_url"`
ReceivedEventsURL string `json:"received_events_url"`
Type              string `json:"type"`
SiteAdmin         bool   `json:"site_admin"`
```
2018-07-08 16:47:39 +05:30
Dean Karn b9b0e19032 Update README.md 2018-06-28 12:55:36 -07:00
Dean Karn e4aa8cba6c Update README.md 2018-06-28 12:47:55 -07:00
Dean Karn 28d44801e9 Merge pull request #32 from c-Brooks/v4
Make Logger interface more flexible
2018-06-28 12:45:57 -07:00
Dean Karn 7e745505c0 Merge pull request #34 from go-playground/v3
Merge latest v3 changes
2018-06-28 12:34:55 -07:00
Dean Karn 8ffb2ffc32 Update README.md 2018-06-28 12:32:45 -07:00
Dean Karn 84dc839b94 Merge pull request #33 from kishorenc/fix_deployment_payload
Deployment Payload fields should be of type string.
2018-06-28 12:32:17 -07:00
Kishore Nallan 2c541a737f Deployment Payload fields should be string. 2018-06-28 16:33:41 +05:30
Corey Brooks d9e847f7ea Make Logger interface more flexible 2018-06-21 09:28:35 -07:00
Dean Karn be944ed461 update REAME + travis.yml 2018-05-08 07:55:49 -07:00
Dean Karn 16896cdb6b Merge pull request #29 from naiba/v3
Add gogs support
2018-05-08 07:51:34 -07:00
奶爸 3e1bb69b7d fix merge issue 2018-05-08 22:09:43 +08:00
奶爸 c9c9d981d7 godmt 2018-05-07 18:42:23 +08:00
奶爸 22713e3054 add gogs support 2018-05-07 18:41:12 +08:00
奶爸 0ebe5231e2 merge 2018-04-11 16:13:03 +08:00
奶爸 b26a00f48c remove space 2018-04-11 16:11:21 +08:00
Dean Karn 5580947e3e Update README.md 2018-04-08 09:15:57 -07:00
Dean Karn 8db8abb389 Merge pull request #28 from rtnpro/parse-github-pull-request-labels
Parse Github pull request labels from pull request payload.
2018-04-08 09:15:30 -07:00
Ratnadeep Debnath 9e4b7fa61b Parse Github pull request labels from pull request payload. 2018-04-02 12:14:20 +05:30
奶爸 a831111e26 Merge remote-tracking branch 'upstream/v3' into v3 2018-03-23 11:19:22 +08:00
Dean Karn f2acbcde40 Update README.md 2018-03-21 08:13:12 -07:00
Dean Karn 3ad83a882d Update README.md 2018-03-21 08:12:58 -07:00
Dean Karn 32331e68eb Merge pull request #27 from lukepatrick/v3
fix(bitbucket) typo in Event
2018-03-21 08:12:28 -07:00
奶爸 6d731433c9 Merge remote-tracking branch 'upstream/v3' into v3 2018-03-21 16:25:13 +08:00
lukepatrick 1253715fd8 fix(bitbucket) typo in Event 2018-03-20 11:20:36 -06:00
奶爸 d4d9692af0 [fix]Gogs sign verify 2018-03-20 11:27:21 +08:00
Dean Karn 1b6492ce45 Merge pull request #26 from kuiro5/add-requested-reviewers
Add RequestedReviewers to PullRequestPayload
2018-03-19 08:41:56 -07:00
奶爸 493e94de50 [fix] Gogs signature calc 2018-03-19 16:16:01 +08:00
奶爸 fc20b2a250 ignore IDEA 2018-03-19 14:26:32 +08:00
奶爸 1c3914ef16 edit import 2018-03-19 14:25:52 +08:00
奶爸 2aa5fdc243 add gogs support 2018-03-19 14:03:56 +08:00
kuiros ea44f6921c Add RequestedReviewers to PullRequestPayload 2018-03-10 15:33:16 -08:00
Dean Karn b6e930d373 Update README.md 2018-02-23 05:13:07 -08:00
Dean Karn c271ec3e32 Merge pull request #25 from lukepatrick/v3
Update bitbucket uuid check to allow a non-specified uuid, similar to…
2018-02-23 05:10:58 -08:00
lukepatrick 0c4911f7f5 Update bitbucket uuid check to allow a non-specified uuid, similar to gitlab empty secret. 2018-02-22 15:27:54 -07:00
Dean Karn 3667088d60 Merge pull request #24 from lukepatrick/v3
update MergeRequestEvent payload with Project, Repo objects from the API
2018-02-15 07:22:55 -08:00
lukepatrick 9cafa895ff update MergeRequestEvent payload with Project, Repo objects from the API 2018-02-14 12:45:52 -07:00
Dean Karn 9494e434fc Update README.md 2018-01-19 08:54:08 -08:00
Dean Karn 97dd8f3564 Merge pull request #23 from PombeirP/add-installation-and-ping
Add installation and ping
2018-01-19 08:46:12 -08:00
Pedro Pombeiro 8f6fada23d Add support for ping events 2018-01-16 10:15:54 +01:00
Pedro Pombeiro 94f9d6694d Add support for installation and integration_installation events 2018-01-16 10:15:29 +01:00
Dean Karn ad5392160c Update README.md 2017-12-17 22:05:38 -08:00
Dean Karn 19cab958b6 Merge pull request #21 from Mingan/master
[GitLab] Parse label changes on issue and MR events
2017-12-17 22:05:13 -08:00
Štěpán Pilař 78ce03b046 [GitLab] Parse label changes on issue and MR events 2017-12-17 17:50:34 +01:00
Dean Karn ced2e979bc Merge pull request #19 from kairen/add-author-association
Add parse author association for GitHub comment
2017-10-22 09:17:54 -07:00
kairen d60a03e52a Add parse author association for GitHub comment 2017-10-20 16:14:26 +08:00
Dean Karn f553bfaa59 Update README.md 2017-10-01 19:29:18 -07:00
Dean Karn 903279e458 add test for confidential issues gitlab 2017-10-01 19:24:09 -07:00
Dean Karn 5462959f1e Merge pull request #18 from tulir/patch-2
[GitLab] Add support for confidential issues
2017-10-01 19:17:33 -07:00
Dean Karn 4964805803 Merge pull request #17 from tulir/patch-1
[GitLab] Fix type of SourceProjectID in MergeRequest struct
2017-10-01 19:16:55 -07:00
Tulir Asokan 13e6611c00 Add separate payload type for confidential issues 2017-10-01 23:13:19 +03:00
Tulir Asokan b9424ab72e Add support for confidential GitLab issues 2017-10-01 13:56:19 +03:00
Tulir Asokan 203bf4218b Fix type of SourceProjectID in MergeRequest struct
It should be an int64, but was a string.
https://docs.gitlab.com/ce/user/project/integrations/webhooks.html#comment-on-merge-request

The incorrect type caused the MergeRequest field in comment event payloads to be empty.
2017-09-29 19:54:03 +00:00
Dean Karn 5e4be82c0b Update README.md 2017-08-17 08:39:34 -07:00
Dean Karn cd89a10b64 Merge pull request #16 from samuelkarp/pr-label
payload: add Label to PullRequestPayload
2017-08-17 08:34:59 -07:00
Samuel Karp e120e3b3ba payload: add Label to PullRequestPayload 2017-08-12 17:24:29 -07:00
Dean Karn a5141d656b Add customizable Logger interface + info,error and debugs (#14)
* Add customizable Logger interface + info,error and debugs
* update travis.yml to atest golang versions
2017-07-15 12:12:11 -07:00
Dean Karn 9a8b92d028 Update README 2017-05-04 15:04:26 -04:00
Dean Karn 248dae5b83 Merge branch 'rakeshbala-fix/githubPushPayload' into v3 2017-05-04 15:02:51 -04:00
Rakesh Balasubramanian cc075dfe29 fix(github): adds sha to commits in push payload 2017-05-02 11:25:35 -04:00
Dean Karn c93876b3e9 Merge pull request #10 from go-playground/add-handler-support
Add handler support
2017-04-27 19:24:15 -04:00
Dean Karn 0926003ddf .travis.yml tweak for gopkg.in 2017-04-27 19:19:51 -04:00
Dean Karn 58dd13d367 Add Handler function
Handler(...) return an http.Handler of the webhook for use within your own Mux
2017-04-27 17:57:51 -04:00
Dean Karn 4fa39fdfab Add .travis.yml config 2017-04-27 17:40:55 -04:00
Dean Karn fccbba5986 Update README example typo 2017-04-22 12:47:22 -04:00
Dean Karn 0d7e42cf96 correct some spelling 2017-04-21 22:13:16 -04:00
Dean Karn c9ac93f3b3 Update README 2017-04-21 22:06:42 -04:00
Dean Karn 2d256610b0 Update BitBucket + GitLab Payloads 2017-04-21 22:03:45 -04:00
Dean Karn 05a2f7cd8d refine payload interface{} to types 2017-04-21 20:40:02 -04:00
Dean Karn 5ed22cdd66 Initial GitHub Webhook revamp 2017-04-21 19:45:07 -04:00
Dean Karn 2e471dc89c Update MergerRequestEvents to MergeRequestEvents 2017-04-21 16:11:04 -04:00
Dean Karn 64819086ff Update README.md 2017-04-08 11:48:29 -04:00
125 changed files with 24462 additions and 9896 deletions
+52
View File
@@ -0,0 +1,52 @@
on:
push:
branches:
- master
pull_request:
name: Test
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Run linter
uses: golangci/golangci-lint-action@v2
with:
version: v1.35.2
test:
name: Test
strategy:
matrix:
go-version: [1.14.x, 1.15.x]
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Restore cache
uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-v1-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-v1-go-
- name: Run tests
run: go test -race -covermode=atomic -coverprofile="coverage.out" ./...
- name: Upload coverage report to Coveralls
if: matrix.os == 'ubuntu-latest' && matrix.go-version == '1.15.x'
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: coverage.out
+1
View File
@@ -6,6 +6,7 @@
# Folders # Folders
_obj _obj
_test _test
.idea
# Architecture specific extensions/prefixes # Architecture specific extensions/prefixes
*.[568vq] *.[568vq]
+16
View File
@@ -0,0 +1,16 @@
run:
tests: false
skip-dirs:
- _examples
linters:
enable:
- vet
- vetshadow
- golint
- megacheck
- ineffassign
- misspell
- errcheck
- goconst
- gofmt
+21
View File
@@ -0,0 +1,21 @@
GOPATH=$(shell go env GOPATH)
all: lint test
linters-install:
@echo "+ $@"
@$(GOPATH)/bin/golangci-lint --version >/dev/null 2>&1 || { \
echo "Install golangci-lint..."; \
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin; \
}
lint: linters-install
@echo "+ $@"
$(GOPATH)/bin/golangci-lint run ./...
test:
@echo "+ $@"
GO111MODULE=on go test -covermode=atomic -race ./...
.PHONY: test lint linters-install
.DEFAULT_GOAL := all
+32 -96
View File
@@ -1,13 +1,13 @@
Library webhooks Library webhooks
================ ================
<img align="right" src="https://raw.githubusercontent.com/go-playground/webhooks/v2/logo.png">![Project status](https://img.shields.io/badge/version-2.0.0-green.svg) <img align="right" src="https://raw.githubusercontent.com/go-playground/webhooks/v6/logo.png">![Project status](https://img.shields.io/badge/version-6.0.1-green.svg)
[![Build Status](https://semaphoreci.com/api/v1/projects/5b9e2eda-8f8d-40aa-8cb4-e3f6120171fe/587820/badge.svg)](https://semaphoreci.com/joeybloggs/webhooks) [![Test](https://github.com/go-playground/webhooks/workflows/Test/badge.svg?branch=master)](https://github.com/go-playground/webhooks/actions)
[![Coverage Status](https://coveralls.io/repos/go-playground/webhooks/badge.svg?branch=v2&service=github)](https://coveralls.io/github/go-playground/webhooks?branch=v2) [![Coverage Status](https://coveralls.io/repos/go-playground/webhooks/badge.svg?branch=master&service=github)](https://coveralls.io/github/go-playground/webhooks?branch=master)
[![Go Report Card](https://goreportcard.com/badge/go-playground/webhooks)](https://goreportcard.com/report/go-playground/webhooks) [![Go Report Card](https://goreportcard.com/badge/go-playground/webhooks)](https://goreportcard.com/report/go-playground/webhooks)
[![GoDoc](https://godoc.org/gopkg.in/go-playground/webhooks.v2?status.svg)](https://godoc.org/gopkg.in/go-playground/webhooks.v2) [![GoDoc](https://godoc.org/github.com/go-playground/webhooks/v6?status.svg)](https://godoc.org/github.com/go-playground/webhooks/v6)
![License](https://img.shields.io/dub/l/vibe-d.svg) ![License](https://img.shields.io/dub/l/vibe-d.svg)
Library webhooks allows for easy recieving and parsing of GitHub, Bitbucket and GitLab Webhook Events Library webhooks allows for easy receiving and parsing of GitHub, Bitbucket and GitLab Webhook Events
Features: Features:
@@ -24,124 +24,60 @@ Installation
Use go get. Use go get.
```shell ```shell
go get -u gopkg.in/go-playground/webhooks.v2 go get -u github.com/go-playground/webhooks/v6
``` ```
Then import the package into your own code. Then import the package into your own code.
import "gopkg.in/go-playground/webhooks.v2" import "github.com/go-playground/webhooks/v6"
Usage and Documentation Usage and Documentation
------ ------
Please see http://godoc.org/gopkg.in/go-playground/webhooks.v2 for detailed usage docs. Please see http://godoc.org/github.com/go-playground/webhooks/v6 for detailed usage docs.
##### Examples: ##### Examples:
Multiple Handlers for each event you subscribe to
```go ```go
package main package main
import ( import (
"fmt" "fmt"
"strconv"
"gopkg.in/go-playground/webhooks.v2" "net/http"
"gopkg.in/go-playground/webhooks.v2/github"
"github.com/go-playground/webhooks/v6/github"
) )
const ( const (
path = "/webhooks" path = "/webhooks"
port = 3016
) )
func main() { func main() {
hook, _ := github.New(github.Options.Secret("MyGitHubSuperSecretSecrect...?"))
hook := github.New(&github.Config{Secret: "MyGitHubSuperSecretSecrect...?"}) http.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
hook.RegisterEvents(HandleRelease, github.ReleaseEvent) payload, err := hook.Parse(r, github.ReleaseEvent, github.PullRequestEvent)
hook.RegisterEvents(HandlePullRequest, github.PullRequestEvent) if err != nil {
if err == github.ErrEventNotFound {
// ok event wasn;t one of the ones asked to be parsed
}
}
switch payload.(type) {
err := webhooks.Run(hook, ":"+strconv.Itoa(port), path) case github.ReleasePayload:
if err != nil { release := payload.(github.ReleasePayload)
fmt.Println(err) // Do whatever you want from here...
} fmt.Printf("%+v", release)
case github.PullRequestPayload:
pullRequest := payload.(github.PullRequestPayload)
// Do whatever you want from here...
fmt.Printf("%+v", pullRequest)
}
})
http.ListenAndServe(":3000", nil)
} }
// HandleRelease handles GitHub release events
func HandleRelease(payload interface{}, header webhooks.Header) {
fmt.Println("Handling Release")
pl := payload.(github.ReleasePayload)
// only want to compile on full releases
if pl.Release.Draft || pl.Release.Prelelease || pl.Release.TargetCommitish != "master" {
return
}
// Do whatever you want from here...
fmt.Printf("%+v", pl)
}
// HandlePullRequest handles GitHub pull_request events
func HandlePullRequest(payload interface{}, header webhooks.Header) {
fmt.Println("Handling Pull Request")
pl := payload.(github.PullRequestPayload)
// Do whatever you want from here...
fmt.Printf("%+v", pl)
}
```
Single receiver for events you subscribe to
```go
package main
import (
"fmt"
"strconv"
"gopkg.in/go-playground/webhooks.v2"
"gopkg.in/go-playground/webhooks.v2/github"
)
const (
path = "/webhooks"
port = 3016
)
func main() {
hook := github.New(&github.Config{Secret: "MyGitHubSuperSecretSecrect...?"})
hook.RegisterEvents(HandleMultiple, github.ReleaseEvent, github.PullRequestEvent) // Add as many as you want
err := webhooks.Run(hook, ":"+strconv.Itoa(port), path)
if err != nil {
fmt.Println(err)
}
}
// HandleMultiple handles multiple GitHub events
func HandleMultiple(payload interface{}, header webhooks.Header) {
fmt.Println("Handling Payload..")
switch payload.(type) {
case github.ReleasePayload:
release := payload.(github.ReleasePayload)
// Do whatever you want from here...
fmt.Printf("%+v", release)
case github.PullRequestPayload:
pullRequest := payload.(github.PullRequestPayload)
// Do whatever you want from here...
fmt.Printf("%+v", pullRequest)
}
}
``` ```
Contributing Contributing
+62
View File
@@ -0,0 +1,62 @@
package main
import (
"fmt"
"net/http"
"github.com/go-playground/webhooks/v6/github"
)
const (
path1 = "/webhooks1"
path2 = "/webhooks2"
)
func main() {
hook1, _ := github.New(github.Options.Secret("MyGitHubSuperSecretSecrect...?"))
hook2, _ := github.New(github.Options.Secret("MyGitHubSuperSecretSecrect2...?"))
http.HandleFunc(path1, func(w http.ResponseWriter, r *http.Request) {
payload, err := hook1.Parse(r, github.ReleaseEvent, github.PullRequestEvent)
if err != nil {
if err == github.ErrEventNotFound {
// ok event wasn;t one of the ones asked to be parsed
}
}
switch payload.(type) {
case github.ReleasePayload:
release := payload.(github.ReleasePayload)
// Do whatever you want from here...
fmt.Printf("%+v", release)
case github.PullRequestPayload:
pullRequest := payload.(github.PullRequestPayload)
// Do whatever you want from here...
fmt.Printf("%+v", pullRequest)
}
})
http.HandleFunc(path2, func(w http.ResponseWriter, r *http.Request) {
payload, err := hook2.Parse(r, github.ReleaseEvent, github.PullRequestEvent)
if err != nil {
if err == github.ErrEventNotFound {
// ok event wasn;t one of the ones asked to be parsed
}
}
switch payload.(type) {
case github.ReleasePayload:
release := payload.(github.ReleasePayload)
// Do whatever you want from here...
fmt.Printf("%+v", release)
case github.PullRequestPayload:
pullRequest := payload.(github.PullRequestPayload)
// Do whatever you want from here...
fmt.Printf("%+v", pullRequest)
}
})
http.ListenAndServe(":3000", nil)
}
+39
View File
@@ -0,0 +1,39 @@
package main
import (
"fmt"
"net/http"
"github.com/go-playground/webhooks/v6/github"
)
const (
path = "/webhooks"
)
func main() {
hook, _ := github.New(github.Options.Secret("MyGitHubSuperSecretSecrect...?"))
http.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
payload, err := hook.Parse(r, github.ReleaseEvent, github.PullRequestEvent)
if err != nil {
if err == github.ErrEventNotFound {
// ok event wasn;t one of the ones asked to be parsed
}
}
switch payload.(type) {
case github.ReleasePayload:
release := payload.(github.ReleasePayload)
// Do whatever you want from here...
fmt.Printf("%+v", release)
case github.PullRequestPayload:
pullRequest := payload.(github.PullRequestPayload)
// Do whatever you want from here...
fmt.Printf("%+v", pullRequest)
}
})
http.ListenAndServe(":3000", nil)
}
+223
View File
@@ -0,0 +1,223 @@
package bitbucketserver
import (
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
"encoding/json"
"errors"
"fmt"
"io"
"io/ioutil"
"net/http"
)
var (
ErrEventNotSpecifiedToParse = errors.New("no Event specified to parse")
ErrInvalidHTTPMethod = errors.New("invalid HTTP Method")
ErrMissingEventKeyHeader = errors.New("missing X-Event-Key Header")
ErrMissingHubSignatureHeader = errors.New("missing X-Hub-Signature Header")
ErrEventNotFound = errors.New("event not defined to be parsed")
ErrParsingPayload = errors.New("error parsing payload")
ErrHMACVerificationFailed = errors.New("HMAC verification failed")
)
type Event string
const (
RepositoryReferenceChangedEvent Event = "repo:refs_changed"
RepositoryModifiedEvent Event = "repo:modified"
RepositoryForkedEvent Event = "repo:forked"
RepositoryCommentAddedEvent Event = "repo:comment:added"
RepositoryCommentEditedEvent Event = "repo:comment:edited"
RepositoryCommentDeletedEvent Event = "repo:comment:deleted"
PullRequestOpenedEvent Event = "pr:opened"
PullRequestFromReferenceUpdatedEvent Event = "pr:from_ref_updated"
PullRequestModifiedEvent Event = "pr:modified"
PullRequestMergedEvent Event = "pr:merged"
PullRequestDeclinedEvent Event = "pr:declined"
PullRequestDeletedEvent Event = "pr:deleted"
PullRequestReviewerUpdatedEvent Event = "pr:reviewer:updated"
PullRequestReviewerApprovedEvent Event = "pr:reviewer:approved"
PullRequestReviewerUnapprovedEvent Event = "pr:reviewer:unapproved"
PullRequestReviewerNeedsWorkEvent Event = "pr:reviewer:needs_work"
PullRequestCommentAddedEvent Event = "pr:comment:added"
PullRequestCommentEditedEvent Event = "pr:comment:edited"
PullRequestCommentDeletedEvent Event = "pr:comment:deleted"
DiagnosticsPingEvent Event = "diagnostics:ping"
)
// Option is a configuration option for the webhook
type Option func(*Webhook) error
// Options is a namespace var for configuration options
var Options = WebhookOptions{}
// WebhookOptions is a namespace for configuration option methods
type WebhookOptions struct{}
// Secret registers the GitHub secret
func (WebhookOptions) Secret(secret string) Option {
return func(hook *Webhook) error {
hook.secret = secret
return nil
}
}
// Webhook instance contains all methods needed to process events
type Webhook struct {
secret string
}
// New creates and returns a WebHook instance denoted by the Provider type
func New(options ...Option) (*Webhook, error) {
hook := new(Webhook)
for _, opt := range options {
if err := opt(hook); err != nil {
return nil, errors.New("Error applying Option")
}
}
return hook, nil
}
func (hook *Webhook) Parse(r *http.Request, events ...Event) (interface{}, error) {
defer func() {
_, _ = io.Copy(ioutil.Discard, r.Body)
_ = r.Body.Close()
}()
if len(events) == 0 {
return nil, ErrEventNotSpecifiedToParse
}
if r.Method != http.MethodPost {
return nil, ErrInvalidHTTPMethod
}
event := r.Header.Get("X-Event-Key")
if event == "" {
return nil, ErrMissingEventKeyHeader
}
bitbucketEvent := Event(event)
var found bool
for _, evt := range events {
if evt == bitbucketEvent {
found = true
break
}
}
// event not defined to be parsed
if !found {
return nil, ErrEventNotFound
}
if bitbucketEvent == DiagnosticsPingEvent {
return DiagnosticsPingPayload{}, nil
}
payload, err := ioutil.ReadAll(r.Body)
if err != nil || len(payload) == 0 {
return nil, ErrParsingPayload
}
if len(hook.secret) > 0 {
signature := r.Header.Get("X-Hub-Signature")
if len(signature) == 0 {
return nil, ErrMissingHubSignatureHeader
}
mac := hmac.New(sha256.New, []byte(hook.secret))
_, _ = mac.Write(payload)
expectedMAC := hex.EncodeToString(mac.Sum(nil))
if !hmac.Equal([]byte(signature[7:]), []byte(expectedMAC)) {
return nil, ErrHMACVerificationFailed
}
}
switch bitbucketEvent {
case RepositoryReferenceChangedEvent:
var pl RepositoryReferenceChangedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case RepositoryModifiedEvent:
var pl RepositoryModifiedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case RepositoryForkedEvent:
var pl RepositoryForkedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case RepositoryCommentAddedEvent:
var pl RepositoryCommentAddedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case RepositoryCommentEditedEvent:
var pl RepositoryCommentEditedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case RepositoryCommentDeletedEvent:
var pl RepositoryCommentDeletedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestOpenedEvent:
var pl PullRequestOpenedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestFromReferenceUpdatedEvent:
var pl PullRequestFromReferenceUpdatedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestModifiedEvent:
var pl PullRequestModifiedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestMergedEvent:
var pl PullRequestMergedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestDeclinedEvent:
var pl PullRequestDeclinedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestDeletedEvent:
var pl PullRequestDeletedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestReviewerUpdatedEvent:
var pl PullRequestReviewerUpdatedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestReviewerApprovedEvent:
var pl PullRequestReviewerApprovedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestReviewerUnapprovedEvent:
var pl PullRequestReviewerUnapprovedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestReviewerNeedsWorkEvent:
var pl PullRequestReviewerNeedsWorkPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestCommentAddedEvent:
var pl PullRequestCommentAddedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestCommentEditedEvent:
var pl PullRequestCommentEditedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestCommentDeletedEvent:
var pl PullRequestCommentDeletedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
default:
return nil, fmt.Errorf("unknown event %s", bitbucketEvent)
}
}
+319
View File
@@ -0,0 +1,319 @@
package bitbucketserver
import (
"bytes"
"io"
"log"
"net/http"
"net/http/httptest"
"os"
"reflect"
"testing"
"github.com/stretchr/testify/require"
)
const (
path = "/webhooks"
)
var hook *Webhook
func TestMain(m *testing.M) {
// setup
var err error
hook, err = New(Options.Secret("secret"))
if err != nil {
log.Fatal(err)
}
os.Exit(m.Run())
// teardown
}
func newServer(handler http.HandlerFunc) *httptest.Server {
mux := http.NewServeMux()
mux.HandleFunc(path, handler)
return httptest.NewServer(mux)
}
func TestBadRequests(t *testing.T) {
assert := require.New(t)
tests := []struct {
name string
event Event
payload io.Reader
headers http.Header
}{
{
name: "BadNoEventHeader",
event: RepositoryReferenceChangedEvent,
payload: bytes.NewBuffer([]byte("{}")),
headers: http.Header{},
},
{
name: "BadSignatureLength",
event: RepositoryReferenceChangedEvent,
payload: bytes.NewBuffer([]byte("{}")),
headers: http.Header{
"X-Event-Key": []string{"repo:refs_changed"},
"X-Hub-Signature": []string{""},
},
},
{
name: "BadSignatureMatch",
event: RepositoryReferenceChangedEvent,
payload: bytes.NewBuffer([]byte("{}")),
headers: http.Header{
"X-Event-Key": []string{"repo:refs_changed"},
"X-Hub-Signature": []string{"sha256=111"},
},
},
{
name: "UnsubscribedEvent",
event: RepositoryReferenceChangedEvent,
payload: bytes.NewBuffer([]byte("{}")),
headers: http.Header{
"X-Event-Key": []string{"nonexistent_event"},
"X-Hub-Signature": []string{"sha256=111"},
},
},
}
for _, tt := range tests {
tc := tt
client := &http.Client{}
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
var parseError error
server := newServer(func(w http.ResponseWriter, r *http.Request) {
_, parseError = hook.Parse(r, tc.event)
})
defer server.Close()
req, err := http.NewRequest(http.MethodPost, server.URL+path, tc.payload)
assert.NoError(err)
req.Header = tc.headers
req.Header.Set("Content-Type", "application/json")
resp, err := client.Do(req)
assert.NoError(err)
assert.Equal(http.StatusOK, resp.StatusCode)
assert.Error(parseError)
})
}
}
func TestWebhooks(t *testing.T) {
assert := require.New(t)
tests := []struct {
name string
event Event
payloadType interface{}
filename string
headers http.Header
}{
{
name: "Repository refs updated",
event: RepositoryReferenceChangedEvent,
payloadType: RepositoryReferenceChangedPayload{},
filename: "../testdata/bitbucket-server/repo-refs-changed.json",
headers: http.Header{
"X-Event-Key": []string{"repo:refs_changed"},
"X-Hub-Signature": []string{"sha256=8a60f7487d167f55886df87d4077192035d76f76a8e0b3a48fd8ae8cad25f391"},
},
},
{
name: "Repository modified",
event: RepositoryModifiedEvent,
payloadType: RepositoryModifiedPayload{},
filename: "../testdata/bitbucket-server/repo-modified.json",
headers: http.Header{
"X-Event-Key": []string{"repo:modified"},
"X-Hub-Signature": []string{"sha256=1511ed69d7697ede1699b0217e17b7d0b492eeccc9a5649d5d30dd84f0e5a89a"},
},
},
{
name: "Repository forked",
event: RepositoryForkedEvent,
payloadType: RepositoryForkedPayload{},
filename: "../testdata/bitbucket-server/repo-forked.json",
headers: http.Header{
"X-Event-Key": []string{"repo:forked"},
"X-Hub-Signature": []string{"sha256=d34115023042f9e7ef7020200650e2f34da137e0217708475f9b749ad889a16d"},
},
},
{
name: "Repository commit comment edited",
event: RepositoryCommentEditedEvent,
payloadType: RepositoryCommentEditedPayload{},
filename: "../testdata/bitbucket-server/repo-comment-edited.json",
headers: http.Header{
"X-Event-Key": []string{"repo:comment:edited"},
"X-Hub-Signature": []string{"sha256=90a8f4898d8dd7a4ef99e33a7f1d86dd3645f45b2a5b59110493cc4b3062a712"},
},
},
{
name: "Repository commit comment deleted",
event: RepositoryCommentDeletedEvent,
payloadType: RepositoryCommentDeletedPayload{},
filename: "../testdata/bitbucket-server/repo-comment-deleted.json",
headers: http.Header{
"X-Event-Key": []string{"repo:comment:deleted"},
"X-Hub-Signature": []string{"sha256=e8b6d3d1581366c9f65949c93149b29ba33252f6afa807432f8f823fb08680e7"},
},
},
{
name: "Repository commit comment added",
event: RepositoryCommentAddedEvent,
payloadType: RepositoryCommentAddedPayload{},
filename: "../testdata/bitbucket-server/repo-comment-added.json",
headers: http.Header{
"X-Event-Key": []string{"repo:comment:added"},
"X-Hub-Signature": []string{"sha256=80b121d53ec48bb3f8bed9243ba53be62c8eb7d1ce0395ca87fef1938bf9620e"},
},
},
{
name: "Pull request unapproved",
event: PullRequestReviewerUnapprovedEvent,
payloadType: PullRequestReviewerUnapprovedPayload{},
filename: "../testdata/bitbucket-server/pr-reviewer-unapproved.json",
headers: http.Header{
"X-Event-Key": []string{"pr:reviewer:unapproved"},
"X-Hub-Signature": []string{"sha256=9822024378738817dc85c0a41feb9fa4825058d28a9a1ee7065bfacd6a04c7c1"},
},
},
{
name: "Pull request reviewer updated",
event: PullRequestReviewerUpdatedEvent,
payloadType: PullRequestReviewerUpdatedPayload{},
filename: "../testdata/bitbucket-server/pr-reviewer-updated.json",
headers: http.Header{
"X-Event-Key": []string{"pr:reviewer:updated"},
"X-Hub-Signature": []string{"sha256=07ca94a0a5c5913819a16ce0414f976023aeb0065fa9d80f990aad7f1d936be5"},
},
},
{
name: "Pull request opened",
event: PullRequestOpenedEvent,
payloadType: PullRequestOpenedPayload{},
filename: "../testdata/bitbucket-server/pr-opened.json",
headers: http.Header{
"X-Event-Key": []string{"pr:opened"},
"X-Hub-Signature": []string{"sha256=b82c323978a741aa256c0a6bfa13a8f211e1795bd8ddb2641ced122769f7a7c6"},
},
},
{
name: "Pull request modified",
event: PullRequestModifiedEvent,
payloadType: PullRequestModifiedPayload{},
filename: "../testdata/bitbucket-server/pr-modified.json",
headers: http.Header{
"X-Event-Key": []string{"pr:modified"},
"X-Hub-Signature": []string{"sha256=1e307462390ff6f0c59fcdb8eb4b2977058b5cbc502a24a0db385f5331136227"},
},
},
{
name: "Pull request merged",
event: PullRequestMergedEvent,
payloadType: PullRequestMergedPayload{},
filename: "../testdata/bitbucket-server/pr-merged.json",
headers: http.Header{
"X-Event-Key": []string{"pr:merged"},
"X-Hub-Signature": []string{"sha256=adbee42ddd6a178b0c1160e89f666b53fb8c76495f782a4e3055e3fbee232704"},
},
},
{
name: "Pull request marked needs work",
event: PullRequestReviewerNeedsWorkEvent,
payloadType: PullRequestReviewerNeedsWorkPayload{},
filename: "../testdata/bitbucket-server/pr-reviewer-needs-work.json",
headers: http.Header{
"X-Event-Key": []string{"pr:reviewer:needs_work"},
"X-Hub-Signature": []string{"sha256=3d10aadcede2131674654bb48c10fe904b0b2ed3d3b283bdc5c64dbc4856582d"},
},
},
{
name: "Pull request deleted",
event: PullRequestDeletedEvent,
payloadType: PullRequestDeletedPayload{},
filename: "../testdata/bitbucket-server/pr-deleted.json",
headers: http.Header{
"X-Event-Key": []string{"pr:deleted"},
"X-Hub-Signature": []string{"sha256=657c5d9839c0e3c1c95e5ceceacb07f0e372328883dab6e25bb619ee8b19a359"},
},
},
{
name: "Pull request declined",
event: PullRequestDeclinedEvent,
payloadType: PullRequestDeclinedPayload{},
filename: "../testdata/bitbucket-server/pr-declined.json",
headers: http.Header{
"X-Event-Key": []string{"pr:declined"},
"X-Hub-Signature": []string{"sha256=e323ab4d057f32475340d03c90aa9ec20cd3a96c15200d75e59f221c14053528"},
},
},
{
name: "Pull request comment edited",
event: PullRequestCommentEditedEvent,
payloadType: PullRequestCommentEditedPayload{},
filename: "../testdata/bitbucket-server/pr-comment-edited.json",
headers: http.Header{
"X-Event-Key": []string{"pr:comment:edited"},
"X-Hub-Signature": []string{"sha256=66580d1b02904e470cb48c1333452ea0748aecc3a9806f5a0f949be3a8b0a5ec"},
},
},
{
name: "Pull request comment deleted",
event: PullRequestCommentDeletedEvent,
payloadType: PullRequestCommentDeletedPayload{},
filename: "../testdata/bitbucket-server/pr-comment-deleted.json",
headers: http.Header{
"X-Event-Key": []string{"pr:comment:deleted"},
"X-Hub-Signature": []string{"sha256=7c9575a6e9b141e063ef34e5066ebe67c3a5b59241e633d1332d70aba468fd04"},
},
},
{
name: "Pull request comment added",
event: PullRequestReviewerApprovedEvent,
payloadType: PullRequestReviewerApprovedPayload{},
filename: "../testdata/bitbucket-server/pr-reviewer-approved.json",
headers: http.Header{
"X-Event-Key": []string{"pr:reviewer:approved"},
"X-Hub-Signature": []string{"sha256=a8b78d774dea02f234069f724ee6c6a3c5c13fc3a3b856dac0a33d8ed9ec1823"},
},
},
}
for _, tt := range tests {
tc := tt
client := &http.Client{}
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
payload, err := os.Open(tc.filename)
assert.NoError(err)
defer func() {
_ = payload.Close()
}()
var parseError error
var results interface{}
server := newServer(func(w http.ResponseWriter, r *http.Request) {
results, parseError = hook.Parse(r, tc.event)
})
defer server.Close()
req, err := http.NewRequest(http.MethodPost, server.URL+path, payload)
assert.NoError(err)
req.Header = tc.headers
req.Header.Set("Content-Type", "application/json")
resp, err := client.Do(req)
assert.NoError(err)
assert.Equal(http.StatusOK, resp.StatusCode)
assert.NoError(parseError)
assert.Equal(reflect.TypeOf(tc.payloadType), reflect.TypeOf(results))
})
}
}
+281
View File
@@ -0,0 +1,281 @@
package bitbucketserver
import (
"fmt"
"strings"
"time"
)
type DiagnosticsPingPayload struct{}
type RepositoryReferenceChangedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
Repository Repository `json:"repository"`
Changes []RepositoryChange `json:"changes"`
}
type RepositoryModifiedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
Old Repository `json:"old"`
New Repository `json:"new"`
}
type RepositoryForkedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
Repository Repository `json:"repository"`
}
type RepositoryCommentAddedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
Comment Comment `json:"comment"`
Repository Repository `json:"repository"`
Commit string `json:"commit"`
}
type RepositoryCommentEditedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
Comment Comment `json:"comment"`
PreviousComment string `json:"previousComment"`
Repository Repository `json:"repository"`
Commit string `json:"commit"`
}
type RepositoryCommentDeletedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
Comment Comment `json:"comment"`
Repository Repository `json:"repository"`
Commit string `json:"commit"`
}
type PullRequestOpenedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
}
type PullRequestFromReferenceUpdatedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
PreviousFromHash string `json:"previousFromHash"`
}
type PullRequestModifiedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
PreviousTitle string `json:"previousTitle"`
PreviousDescription string `json:"previousDescription"`
PreviousTarget map[string]interface{} `json:"previousTarget"`
}
type PullRequestMergedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
}
type PullRequestDeclinedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
}
type PullRequestDeletedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
}
type PullRequestReviewerUpdatedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
RemovedReviewers []User `json:"removedReviewers"`
AddedReviewers []User `json:"addedReviewers"`
}
type PullRequestReviewerApprovedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
Participant PullRequestParticipant `json:"participant"`
PreviousStatus string `json:"previousStatus"`
}
type PullRequestReviewerUnapprovedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
Participant PullRequestParticipant `json:"participant"`
PreviousStatus string `json:"previousStatus"`
}
type PullRequestReviewerNeedsWorkPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
Participant PullRequestParticipant `json:"participant"`
PreviousStatus string `json:"previousStatus"`
}
type PullRequestCommentAddedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
Comment Comment `json:"comment"`
CommentParentID uint64 `json:"commentParentId,omitempty"`
}
type PullRequestCommentEditedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
Comment Comment `json:"comment"`
CommentParentID string `json:"commentParentId,omitempty"`
PreviousComment string `json:"previousComment"`
}
type PullRequestCommentDeletedPayload struct {
Date Date `json:"date"`
EventKey Event `json:"eventKey"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
Comment Comment `json:"comment"`
CommentParentID uint64 `json:"commentParentId,omitempty"`
}
// -----------------------
type User struct {
ID uint64 `json:"id"`
Name string `json:"name"`
EmailAddress string `json:"emailAddress"`
DisplayName string `json:"displayName"`
Active bool `json:"active"`
Slug string `json:"slug"`
Type string `json:"type"`
Links map[string]interface{} `json:"links"`
}
type Repository struct {
ID uint64 `json:"id"`
Slug string `json:"slug"`
Name string `json:"name"`
ScmID string `json:"scmId"`
State string `json:"state"`
StatusMessage string `json:"statusMessage"`
Forkable bool `json:"forkable"`
Origin *Repository `json:"origin,omitempty"`
Project Project `json:"project"`
Public bool `json:"public"`
Links map[string]interface{} `json:"links"`
}
type Project struct {
ID uint64 `json:"id"`
Key string `json:"key"`
Name string `json:"name"`
Type string `json:"type"`
Public *bool `json:"public,omitempty"`
Owner User `json:"owner"`
Links map[string]interface{} `json:"links"`
}
type PullRequest struct {
ID uint64 `json:"id"`
Version uint64 `json:"version"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
State string `json:"state"`
Open bool `json:"open"`
Closed bool `json:"closed"`
CreatedDate uint64 `json:"createdDate"`
UpdatedDate uint64 `json:"updatedDate,omitempty"`
ClosedDate uint64 `json:"closedDate,omitempty"`
FromRef RepositoryReference `json:"fromRef"`
ToRef RepositoryReference `json:"toRef"`
Locked bool `json:"locked"`
Author PullRequestParticipant `json:"author"`
Reviewers []PullRequestParticipant `json:"reviewers"`
Participants []PullRequestParticipant `json:"participants"`
Properties map[string]interface{} `json:"properties,omitempty"`
Links map[string]interface{} `json:"links"`
}
type RepositoryChange struct {
Reference RepositoryReference `json:"ref"`
ReferenceID string `json:"refId"`
FromHash string `json:"fromHash"`
ToHash string `json:"toHash"`
Type string `json:"type"`
}
type RepositoryReference struct {
ID string `json:"id"`
DisplayID string `json:"displayId"`
Type string `json:"type,omitempty"`
LatestCommit string `json:"latestCommit,omitempty"`
Repository Repository `json:"repository,omitempty"`
}
type Comment struct {
ID uint64 `json:"id"`
Properties map[string]interface{} `json:"properties,omitempty"`
Version uint64 `json:"version"`
Text string `json:"text"`
Author User `json:"author"`
CreatedDate uint64 `json:"createdDate"`
UpdatedDate uint64 `json:"updatedDate"`
Comments []map[string]interface{} `json:"comments"`
Tasks []map[string]interface{} `json:"tasks"`
PermittedOperations map[string]interface{} `json:"permittedOperations,omitempty"`
}
type PullRequestParticipant struct {
User User `json:"user"`
LastReviewedCommit string `json:"lastReviewedCommit,omitempty"`
Role string `json:"role"`
Approved bool `json:"approved"`
Status string `json:"status"`
}
type Date time.Time
func (b *Date) UnmarshalJSON(p []byte) error {
t, err := time.Parse("2006-01-02T15:04:05Z0700", strings.Replace(string(p), "\"", "", -1))
if err != nil {
return err
}
*b = Date(t)
return nil
}
func (b Date) MarshalJSON() ([]byte, error) {
stamp := fmt.Sprintf("\"%s\"", time.Time(b).Format("2006-01-02T15:04:05Z0700"))
return []byte(stamp), nil
}
+127 -104
View File
@@ -2,22 +2,27 @@ package bitbucket
import ( import (
"encoding/json" "encoding/json"
"errors"
"fmt"
"io"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
)
"gopkg.in/go-playground/webhooks.v2" // parse errors
var (
ErrEventNotSpecifiedToParse = errors.New("no Event specified to parse")
ErrInvalidHTTPMethod = errors.New("invalid HTTP Method")
ErrMissingHookUUIDHeader = errors.New("missing X-Hook-UUID Header")
ErrMissingEventKeyHeader = errors.New("missing X-Event-Key Header")
ErrEventNotFound = errors.New("event not defined to be parsed")
ErrParsingPayload = errors.New("error parsing payload")
ErrUUIDVerificationFailed = errors.New("UUID verification failed")
) )
// Webhook instance contains all methods needed to process events // Webhook instance contains all methods needed to process events
type Webhook struct { type Webhook struct {
provider webhooks.Provider uuid string
uuid string
eventFuncs map[Event]webhooks.ProcessPayloadFunc
}
// Config defines the configuration to create a new Bitbucket Webhook instance
type Config struct {
UUID string
} }
// Event defines a Bitbucket hook event type // Event defines a Bitbucket hook event type
@@ -25,157 +30,175 @@ type Event string
// Bitbucket hook types // Bitbucket hook types
const ( const (
RepoPushEvent Event = "repo:push" RepoPushEvent Event = "repo:push"
RepoForkEvent Event = "repo:fork" RepoForkEvent Event = "repo:fork"
RepoCommitCommentCreatedEvent Event = "repo:commit_comment_created" RepoUpdatedEvent Event = "repo:updated"
RepoCommitStatusCreatedEvent Event = "repo:commit_status_created" RepoCommitCommentCreatedEvent Event = "repo:commit_comment_created"
RepoCommitStatusUpdatedEvent Event = "repo:commit_status_updated" RepoCommitStatusCreatedEvent Event = "repo:commit_status_created"
IssueCreatedEvent Event = "issue:created" RepoCommitStatusUpdatedEvent Event = "repo:commit_status_updated"
IssueUpdatedEvent Event = "issue:updated" IssueCreatedEvent Event = "issue:created"
IssueCommentCreatedEvent Event = "issue:comment_created" IssueUpdatedEvent Event = "issue:updated"
PullRequestCreatedEvent Event = "pullrequest:created" IssueCommentCreatedEvent Event = "issue:comment_created"
PullRequestUpdatedEvent Event = "pullrequest:updated" PullRequestCreatedEvent Event = "pullrequest:created"
PullRequestApprovedEvent Event = "pullrequest:approved" PullRequestUpdatedEvent Event = "pullrequest:updated"
PullRequestApprovalRemovedEvent Event = "pullrequest:unapproved" PullRequestApprovedEvent Event = "pullrequest:approved"
PullRequestMergedEvent Event = "pullrequest:fulfilled" PullRequestUnapprovedEvent Event = "pullrequest:unapproved"
PullRequestDeclinedEvent Event = "pullrequest:rejected" PullRequestMergedEvent Event = "pullrequest:fulfilled"
PullRequestCommentCreatedEvent Event = "pullrequest:comment_created" PullRequestDeclinedEvent Event = "pullrequest:rejected"
PullRequestCommentUpdatedEvent Event = "pullrequest:comment_updated" PullRequestCommentCreatedEvent Event = "pullrequest:comment_created"
PullRequestCommentDeletedEvent Event = "pull_request:comment_deleted" PullRequestCommentUpdatedEvent Event = "pullrequest:comment_updated"
PullRequestCommentDeletedEvent Event = "pullrequest:comment_deleted"
) )
// Option is a configuration option for the webhook
type Option func(*Webhook) error
// Options is a namespace var for configuration options
var Options = WebhookOptions{}
// WebhookOptions is a namespace for configuration option methods
type WebhookOptions struct{}
// UUID registers the BitBucket secret
func (WebhookOptions) UUID(uuid string) Option {
return func(hook *Webhook) error {
hook.uuid = uuid
return nil
}
}
// New creates and returns a WebHook instance denoted by the Provider type // New creates and returns a WebHook instance denoted by the Provider type
func New(config *Config) *Webhook { func New(options ...Option) (*Webhook, error) {
return &Webhook{ hook := new(Webhook)
provider: webhooks.Bitbucket, for _, opt := range options {
uuid: config.UUID, if err := opt(hook); err != nil {
eventFuncs: map[Event]webhooks.ProcessPayloadFunc{}, return nil, errors.New("Error applying Option")
}
} }
return hook, nil
} }
// Provider returns the current hooks provider ID // Parse verifies and parses the events specified and returns the payload object or an error
func (hook Webhook) Provider() webhooks.Provider { func (hook Webhook) Parse(r *http.Request, events ...Event) (interface{}, error) {
return hook.provider defer func() {
} _, _ = io.Copy(ioutil.Discard, r.Body)
_ = r.Body.Close()
}()
// RegisterEvents registers the function to call when the specified event(s) are encountered if len(events) == 0 {
func (hook Webhook) RegisterEvents(fn webhooks.ProcessPayloadFunc, events ...Event) { return nil, ErrEventNotSpecifiedToParse
}
for _, event := range events { if r.Method != http.MethodPost {
hook.eventFuncs[event] = fn return nil, ErrInvalidHTTPMethod
} }
}
// ParsePayload parses and verifies the payload and fires off the mapped function, if it exists.
func (hook Webhook) ParsePayload(w http.ResponseWriter, r *http.Request) {
uuid := r.Header.Get("X-Hook-UUID") uuid := r.Header.Get("X-Hook-UUID")
if uuid == "" { if hook.uuid != "" && uuid == "" {
http.Error(w, "400 Bad Request - Missing X-Hook-UUID Header", http.StatusBadRequest) return nil, ErrMissingHookUUIDHeader
return
}
if uuid != hook.uuid {
http.Error(w, "403 Forbidden - Missing X-Hook-UUID does not match", http.StatusForbidden)
return
} }
event := r.Header.Get("X-Event-Key") event := r.Header.Get("X-Event-Key")
if event == "" { if event == "" {
http.Error(w, "400 Bad Request - Missing X-Event-Key Header", http.StatusBadRequest) return nil, ErrMissingEventKeyHeader
return }
if len(hook.uuid) > 0 && uuid != hook.uuid {
return nil, ErrUUIDVerificationFailed
} }
bitbucketEvent := Event(event) bitbucketEvent := Event(event)
fn, ok := hook.eventFuncs[bitbucketEvent] var found bool
// if no event registered for _, evt := range events {
if !ok { if evt == bitbucketEvent {
return found = true
break
}
}
// event not defined to be parsed
if !found {
return nil, ErrEventNotFound
} }
payload, err := ioutil.ReadAll(r.Body) payload, err := ioutil.ReadAll(r.Body)
if err != nil || len(payload) == 0 { if err != nil || len(payload) == 0 {
http.Error(w, "Error reading Body", http.StatusInternalServerError) return nil, ErrParsingPayload
return
} }
hd := webhooks.Header(r.Header)
switch bitbucketEvent { switch bitbucketEvent {
case RepoPushEvent: case RepoPushEvent:
var pl RepoPushPayload var pl RepoPushPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case RepoForkEvent: case RepoForkEvent:
var pl RepoForkPayload var pl RepoForkPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case RepoUpdatedEvent:
var pl RepoUpdatedPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case RepoCommitCommentCreatedEvent: case RepoCommitCommentCreatedEvent:
var pl RepoCommitCommentCreatedPayload var pl RepoCommitCommentCreatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case RepoCommitStatusCreatedEvent: case RepoCommitStatusCreatedEvent:
var pl RepoCommitStatusCreatedPayload var pl RepoCommitStatusCreatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case RepoCommitStatusUpdatedEvent: case RepoCommitStatusUpdatedEvent:
var pl RepoCommitStatusUpdatedPayload var pl RepoCommitStatusUpdatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case IssueCreatedEvent: case IssueCreatedEvent:
var pl IssueCreatedPayload var pl IssueCreatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case IssueUpdatedEvent: case IssueUpdatedEvent:
var pl IssueUpdatedPayload var pl IssueUpdatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case IssueCommentCreatedEvent: case IssueCommentCreatedEvent:
var pl IssueCommentCreatedPayload var pl IssueCommentCreatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestCreatedEvent: case PullRequestCreatedEvent:
var pl PullRequestCreatedPayload var pl PullRequestCreatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestUpdatedEvent: case PullRequestUpdatedEvent:
var pl PullRequestUpdatedPayload var pl PullRequestUpdatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestApprovedEvent: case PullRequestApprovedEvent:
var pl PullRequestApprovedPayload var pl PullRequestApprovedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestApprovalRemovedEvent: case PullRequestUnapprovedEvent:
var pl PullRequestApprovalRemovedPayload var pl PullRequestUnapprovedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestMergedEvent: case PullRequestMergedEvent:
var pl PullRequestMergedPayload var pl PullRequestMergedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestDeclinedEvent: case PullRequestDeclinedEvent:
var pl PullRequestDeclinedPayload var pl PullRequestDeclinedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestCommentCreatedEvent: case PullRequestCommentCreatedEvent:
var pl PullRequestCommentCreatedPayload var pl PullRequestCommentCreatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestCommentUpdatedEvent: case PullRequestCommentUpdatedEvent:
var pl PullRequestCommentUpdatedPayload var pl PullRequestCommentUpdatedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
case PullRequestCommentDeletedEvent: case PullRequestCommentDeletedEvent:
var pl PullRequestCommentDeletedPayload var pl PullRequestCommentDeletedPayload
json.Unmarshal([]byte(payload), &pl) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pl, hd) return pl, err
default:
return nil, fmt.Errorf("unknown event %s", bitbucketEvent)
} }
} }
func (hook Webhook) runProcessPayloadFunc(fn webhooks.ProcessPayloadFunc, results interface{}, header webhooks.Header) {
go func(fn webhooks.ProcessPayloadFunc, results interface{}, header webhooks.Header) {
fn(results, header)
}(fn, results, header)
}
+315 -2836
View File
File diff suppressed because it is too large Load Diff
+459 -338
View File
@@ -2,388 +2,509 @@ package bitbucket
import "time" import "time"
// PullRequestCommentDeletedPayload is the Bitbucket pull_request:comment_deleted payload // RepoPushPayload is the Bitbucket repo:push payload
type PullRequestCommentDeletedPayload struct { type RepoPushPayload struct {
Actor User `json:"actor"` Actor Owner `json:"actor"`
Repository Repository `json:"repository"`
PullRequest PullRequest `json:"pullrequest"`
Comment Comment `json:"comment"`
}
// PullRequestCommentUpdatedPayload is the Bitbucket pullrequest:comment_updated payload
type PullRequestCommentUpdatedPayload struct {
Actor User `json:"actor"`
Repository Repository `json:"repository"`
PullRequest PullRequest `json:"pullrequest"`
Comment Comment `json:"comment"`
}
// PullRequestCommentCreatedPayload is the Bitbucket pullrequest:comment_created payload
type PullRequestCommentCreatedPayload struct {
Actor User `json:"actor"`
Repository Repository `json:"repository"`
PullRequest PullRequest `json:"pullrequest"`
Comment Comment `json:"comment"`
}
// PullRequestDeclinedPayload is the Bitbucket pullrequest:rejected payload
type PullRequestDeclinedPayload struct {
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullrequest"`
Repository Repository `json:"repository"`
}
// PullRequestMergedPayload is the Bitbucket pullrequest:fulfilled payload
type PullRequestMergedPayload struct {
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullrequest"`
Repository Repository `json:"repository"`
}
// PullRequestApprovalRemovedPayload is the Bitbucket pullrequest:unapproved payload
type PullRequestApprovalRemovedPayload struct {
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullrequest"`
Repository Repository `json:"repository"`
Approval Approval `json:"approval"`
}
// PullRequestApprovedPayload is the Bitbucket pullrequest:approved payload
type PullRequestApprovedPayload struct {
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullrequest"`
Repository Repository `json:"repository"`
Approval Approval `json:"approval"`
}
// PullRequestUpdatedPayload is the Bitbucket pullrequest:updated payload
type PullRequestUpdatedPayload struct {
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullrequest"`
Repository Repository `json:"repository"`
}
// PullRequestCreatedPayload is the Bitbucket pullrequest:created payload
type PullRequestCreatedPayload struct {
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullrequest"`
Repository Repository `json:"repository"`
}
// IssueCommentCreatedPayload is the Bitbucket issue:comment_created payload
type IssueCommentCreatedPayload struct {
Actor User `json:"actor"`
Repository Repository `json:"repository"` Repository Repository `json:"repository"`
Issue Issue `json:"issue"` Push struct {
Comment Comment `json:"comment"` Changes []struct {
} New struct {
Type string `json:"type"`
// IssueUpdatedPayload is the Bitbucket issue:updated payload Name string `json:"name"`
type IssueUpdatedPayload struct { Target struct {
Actor User `json:"actor"` Type string `json:"type"`
Issue Issue `json:"issue"` Hash string `json:"hash"`
Repository Repository `json:"repository"` Author Owner `json:"author"`
Comment Comment `json:"comment"` Message string `json:"message"`
Changes IssueChanges `json:"changes"` Date time.Time `json:"date"`
} Parents []struct {
Type string `json:"type"`
// IssueCreatedPayload is the Bitbucket issue:created payload Hash string `json:"hash"`
type IssueCreatedPayload struct { Links struct {
Actor User `json:"actor"` Self struct {
Issue Issue `json:"issue"` Href string `json:"href"`
Repository Repository `json:"repository"` } `json:"self"`
} HTML struct {
Href string `json:"href"`
// RepoCommitStatusUpdatedPayload is the Bitbucket repo:commit_status_updated payload } `json:"html"`
type RepoCommitStatusUpdatedPayload struct { } `json:"links"`
Actor User `json:"actor"` } `json:"parents"`
Repository Repository `json:"repository"` Links struct {
CommitStatus CommitStatus `json:"commit_status"` Self struct {
} Href string `json:"href"`
} `json:"self"`
// RepoCommitStatusCreatedPayload is the Bitbucket repo:commit_status_created payload HTML struct {
type RepoCommitStatusCreatedPayload struct { Href string `json:"href"`
Actor User `json:"actor"` } `json:"html"`
Repository Repository `json:"repository"` } `json:"links"`
CommitStatus CommitStatus `json:"commit_status"` } `json:"target"`
} Links struct {
Self struct {
// RepoCommitCommentCreatedPayload is the Bitbucket repo:commit_comment_created payload Href string `json:"href"`
type RepoCommitCommentCreatedPayload struct { } `json:"self"`
Actor User `json:"actor"` Commits struct {
Comment Comment `json:"comment"` Href string `json:"href"`
Repository Repository `json:"repository"` } `json:"commits"`
Commit CommitHash `json:"commit"` HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"links"`
} `json:"new"`
Old struct {
Type string `json:"type"`
Name string `json:"name"`
Target struct {
Type string `json:"type"`
Hash string `json:"hash"`
Author Owner `json:"author"`
Message string `json:"message"`
Date time.Time `json:"date"`
Parents []struct {
Type string `json:"type"`
Hash string `json:"hash"`
Links struct {
Self struct {
Href string `json:"href"`
} `json:"self"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"links"`
} `json:"parents"`
Links struct {
Self struct {
Href string `json:"href"`
} `json:"self"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"links"`
} `json:"target"`
Links struct {
Self struct {
Href string `json:"href"`
} `json:"self"`
Commits struct {
Href string `json:"href"`
} `json:"commits"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"links"`
} `json:"old"`
Links struct {
HTML struct {
Href string `json:"href"`
} `json:"html"`
Diff struct {
Href string `json:"href"`
} `json:"diff"`
Commits struct {
Href string `json:"href"`
} `json:"commits"`
} `json:"links"`
Created bool `json:"created"`
Forced bool `json:"forced"`
Closed bool `json:"closed"`
Commits []struct {
Hash string `json:"hash"`
Type string `json:"type"`
Message string `json:"message"`
Author Owner `json:"author"`
Links struct {
Self struct {
Href string `json:"href"`
} `json:"self"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"links"`
} `json:"commits"`
Truncated bool `json:"truncated"`
} `json:"changes"`
} `json:"push"`
} }
// RepoForkPayload is the Bitbucket repo:fork payload // RepoForkPayload is the Bitbucket repo:fork payload
type RepoForkPayload struct { type RepoForkPayload struct {
Actor User `json:"actor"` Actor Owner `json:"actor"`
Repository Repository `json:"repository"` Repository Repository `json:"repository"`
Fork Repository `json:"fork"` Fork Repository `json:"fork"`
} }
// RepoPushPayload is the Bitbucket repo:push payload // RepoUpdatedPayload is the Bitbucket repo:updated payload
type RepoPushPayload struct { type RepoUpdatedPayload struct {
Actor User `json:"actor"` Actor Owner `json:"actor"`
Repository Repository `json:"repository"` Repository Repository `json:"repository"`
Push Push `json:"push"` Changes struct {
Name struct {
New string `json:"new"`
Old string `json:"old"`
} `json:"name"`
Website struct {
New string `json:"new"`
Old string `json:"old"`
} `json:"website"`
Language struct {
New string `json:"new"`
Old string `json:"old"`
} `json:"language"`
Links struct {
New struct {
Avatar struct {
Href string `json:"href"`
} `json:"avatar"`
Self struct {
Href string `json:"href"`
} `json:"self"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"new"`
Old struct {
Avatar struct {
Href string `json:"href"`
} `json:"avatar"`
Self struct {
Href string `json:"href"`
} `json:"self"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"old"`
} `json:"links"`
Description struct {
New string `json:"new"`
Old string `json:"old"`
} `json:"description"`
FullName struct {
New string `json:"new"`
Old string `json:"old"`
} `json:"full_name"`
} `json:"changes"`
} }
// Approval is the common Bitbucket Issue Approval Sub Entity // RepoCommitCommentCreatedPayload is the Bitbucket repo:commit_comment_created payload
type Approval struct { type RepoCommitCommentCreatedPayload struct {
Date time.Time `json:"date"` Actor Owner `json:"actor"`
User User `json:"user"` Comment Comment `json:"comment"`
Repository Repository `json:"repository"`
Commit struct {
Hash string `json:"hash"`
} `json:"commit"`
} }
// IssueChanges is the common Bitbucket Issue Changes Sub Entity // RepoCommitStatusCreatedPayload is the Bitbucket repo:commit_status_created payload
type IssueChanges struct { type RepoCommitStatusCreatedPayload struct {
Status IssueChangeStatus `json:"status"` Actor Owner `json:"actor"`
Repository Repository `json:"repository"`
CommitStatus struct {
Name string `json:"name"`
Description string `json:"description"`
State string `json:"state"`
Key string `json:"key"`
URL string `json:"url"`
Type string `json:"type"`
CreatedOn time.Time `json:"created_on"`
UpdatedOn time.Time `json:"updated_on"`
Links struct {
Commit struct {
Href string `json:"href"`
} `json:"commit"`
Self struct {
Href string `json:"href"`
} `json:"self"`
} `json:"links"`
} `json:"commit_status"`
} }
// IssueChangeStatus is the common Bitbucket Issue Change Status Sub Entity // RepoCommitStatusUpdatedPayload is the Bitbucket repo:commit_status_updated payload
type IssueChangeStatus struct { type RepoCommitStatusUpdatedPayload struct {
Old string `json:"old"` Actor Owner `json:"actor"`
New string `json:"new"` Repository Repository `json:"repository"`
CommitStatus struct {
Name string `json:"name"`
Description string `json:"description"`
State string `json:"state"`
Key string `json:"key"`
URL string `json:"url"`
Type string `json:"type"`
CreatedOn time.Time `json:"created_on"`
UpdatedOn time.Time `json:"updated_on"`
Links struct {
Commit struct {
Href string `json:"href"`
} `json:"commit"`
Self struct {
Href string `json:"href"`
} `json:"self"`
} `json:"links"`
} `json:"commit_status"`
} }
// CommitStatus is the common Bitbucket CommitStatus Sub Entity // IssueCreatedPayload is the Bitbucket issue:created payload
type CommitStatus struct { type IssueCreatedPayload struct {
Name string `json:"name"` Actor Owner `json:"actor"`
Description string `json:"description"` Issue Issue `json:"issue"`
State string `json:"state"` Repository Repository `json:"repository"`
Key string `json:"key"`
URL string `json:"url"`
Type string `json:"type"`
CreatedOn time.Time `json:"created_on"`
UpdatedOn time.Time `json:"updated_on"`
Links LinksSelfCommit `json:"links"`
} }
// Push is the common Bitbucket Push Sub Entity // IssueUpdatedPayload is the Bitbucket issue:updated payload
type Push struct { type IssueUpdatedPayload struct {
Changes []Change `json:"changes"` Actor Owner `json:"actor"`
Issue Issue `json:"issue"`
Repository Repository `json:"repository"`
Comment Comment `json:"comment"`
Changes struct {
Status struct {
Old string `json:"old"`
New string `json:"new"`
} `json:"status"`
} `json:"changes"`
} }
// Change is the common Bitbucket Change Sub Entity // IssueCommentCreatedPayload is the Bitbucket pullrequest:created payload
type Change struct { type IssueCommentCreatedPayload struct {
New ChangeData `json:"new"` Actor Owner `json:"actor"`
Old ChangeData `json:"old"` Repository Repository `json:"repository"`
Links LinksHTMLDiffCommits `json:"links"` Issue Issue `json:"issue"`
Created bool `json:"created"` Comment Comment `json:"comment"`
Forced bool `json:"forced"`
Closed bool `json:"closed"`
Commits []Commit `json:"commits"`
Truncated bool `json:"truncated"`
} }
// ChangeData is the common Bitbucket ChangeData Sub Entity // PullRequestCreatedPayload is the Bitbucket pullrequest:created payload
type ChangeData struct { type PullRequestCreatedPayload struct {
Type string `json:"type"` Actor Owner `json:"actor"`
Name string `json:"name"` PullRequest PullRequest `json:"pullrequest"`
Target Target `json:"target"` Repository Repository `json:"repository"`
Links LinksHTMLSelfCommits `json:"links"`
} }
// Target is the common Bitbucket Target Sub Entity // PullRequestUpdatedPayload is the Bitbucket pullrequest:updated payload
type Target struct { type PullRequestUpdatedPayload struct {
Type string `json:"type"` Actor Owner `json:"actor"`
Hash string `json:"hash"` PullRequest PullRequest `json:"pullrequest"`
Author User `json:"author"` Repository Repository `json:"repository"`
Message string `json:"message"`
Date time.Time `json:"date"`
Parents []Parent `json:"parents"`
Links LinksHTMLSelf `json:"links"`
} }
// Parent is the common Bitbucket Parent Sub Entity // PullRequestApprovedPayload is the Bitbucket pullrequest:approved payload
type Parent struct { type PullRequestApprovedPayload struct {
Type string `json:"type"` Actor Owner `json:"actor"`
Hash string `json:"hash"` PullRequest PullRequest `json:"pullrequest"`
Links LinksHTMLSelf `json:"links"` Repository Repository `json:"repository"`
Approval struct {
Date time.Time `json:"date"`
User Owner `json:"user"`
} `json:"approval"`
} }
// Commit is the common Bitbucket Commit Sub Entity // PullRequestUnapprovedPayload is the Bitbucket pullrequest:unapproved payload
type Commit struct { type PullRequestUnapprovedPayload struct {
Hash string `json:"hash"` Actor Owner `json:"actor"`
Type string `json:"type"` PullRequest PullRequest `json:"pullrequest"`
Message string `json:"message"` Repository Repository `json:"repository"`
Author User `json:"author"` Approval struct {
Links LinksHTMLSelf `json:"links"` Date time.Time `json:"date"`
User Owner `json:"user"`
} `json:"approval"`
} }
// User is the common Bitbucket User Entity // PullRequestMergedPayload is the Bitbucket pullrequest:fulfilled payload
type User struct { type PullRequestMergedPayload struct {
Username string `json:"username"` Actor Owner `json:"actor"`
PullRequest PullRequest `json:"pullrequest"`
Repository Repository `json:"repository"`
}
// PullRequestDeclinedPayload is the Bitbucket pullrequest:rejected payload
type PullRequestDeclinedPayload struct {
Actor Owner `json:"actor"`
PullRequest PullRequest `json:"pullrequest"`
Repository Repository `json:"repository"`
}
// PullRequestCommentCreatedPayload is the Bitbucket pullrequest:comment_updated payload
type PullRequestCommentCreatedPayload struct {
Actor Owner `json:"actor"`
Repository Repository `json:"repository"`
PullRequest PullRequest `json:"pullrequest"`
Comment Comment `json:"comment"`
}
// PullRequestCommentUpdatedPayload is the Bitbucket pullrequest:comment_created payload
type PullRequestCommentUpdatedPayload struct {
Actor Owner `json:"actor"`
Repository Repository `json:"repository"`
PullRequest PullRequest `json:"pullrequest"`
Comment Comment `json:"comment"`
}
// PullRequestCommentDeletedPayload is the Bitbucket pullrequest:comment_deleted payload
type PullRequestCommentDeletedPayload struct {
Actor Owner `json:"actor"`
Repository Repository `json:"repository"`
PullRequest PullRequest `json:"pullrequest"`
Comment Comment `json:"comment"`
}
// Owner is the common Bitbucket Owner Sub Entity
type Owner struct {
Type string `json:"type"`
NickName string `json:"nickname"`
DisplayName string `json:"display_name"` DisplayName string `json:"display_name"`
AccountID string `json:"account_id"`
UUID string `json:"uuid"` UUID string `json:"uuid"`
Links Links `json:"links"` Links struct {
Self struct {
Href string `json:"href"`
} `json:"self"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
Avatar struct {
Href string `json:"href"`
} `json:"avatar"`
} `json:"links"`
} }
// Repository is the common Bitbucket Repository Entity // Repository is the common Bitbucket Repository Sub Entity
type Repository struct { type Repository struct {
Links Links `json:"links"` Type string `json:"type"`
UUID string `json:"uuid"` Links struct {
FullName string `json:"full_name"` Self struct {
Name string `json:"name"` Href string `json:"href"`
Scm string `json:"scm"` } `json:"self"`
IsPrivate bool `json:"is_private"` HTML struct {
Href string `json:"href"`
} `json:"html"`
Avatar struct {
Href string `json:"href"`
} `json:"avatar"`
} `json:"links"`
UUID string `json:"uuid"`
Project Project `json:"project"`
FullName string `json:"full_name"`
Name string `json:"name"`
Website string `json:"website"`
Owner Owner `json:"owner"`
Scm string `json:"scm"`
IsPrivate bool `json:"is_private"`
} }
// Issue is the common Bitbucket Issue Entity // Project is the common Bitbucket Project Sub Entity
type Project struct {
Type string `json:"type"`
Project string `json:"project"`
UUID string `json:"uuid"`
Links struct {
HTML struct {
Href string `json:"href"`
} `json:"html"`
Avatar struct {
Href string `json:"href"`
} `json:"avatar"`
} `json:"links"`
Key string `json:"key"`
}
// Issue is the common Bitbucket Issue Sub Entity
type Issue struct { type Issue struct {
ID int64 `json:"id"` ID int64 `json:"id"`
Component string `json:"component"` Component string `json:"component"`
Title string `json:"title"` Title string `json:"title"`
Content Content `json:"content"` Content struct {
Priority string `json:"priority"` Raw string `json:"raw"`
State string `json:"state"` HTML string `json:"html"`
Type string `json:"type"` Markup string `json:"markup"`
Milestone Milestone `json:"milestone"` } `json:"content"`
Version Version `json:"version"` Priority string `json:"priority"`
CreatedOn time.Time `json:"created_on"` State string `json:"state"`
UpdatedOn time.Time `json:"updated_on"` Type string `json:"type"`
Links LinksHTMLSelf `json:"links"` Milestone struct {
Name string `json:"name"`
} `json:"milestone"`
Version struct {
Name string `json:"name"`
} `json:"version"`
CreatedOn time.Time `json:"created_on"`
UpdatedOn time.Time `json:"updated_on"`
Links struct {
Self struct {
Href string `json:"href"`
} `json:"self"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"links"`
} }
// Comment is the common Bitbucket Comment Entity // Comment is the common Bitbucket Comment Sub Entity
type Comment struct { type Comment struct {
ID int64 `json:"id"` ID int64 `json:"id"`
Parent ParentID `json:"parent"` Parent struct {
Content Content `json:"content"` ID int64 `json:"id"`
Inline Inline `json:"inline"` } `json:"parent"`
CreatedOn time.Time `json:"created_on"` Content struct {
UpdatedOn time.Time `json:"updated_on"` Raw string `json:"raw"`
Links LinksHTMLSelf `json:"links"` HTML string `json:"html"`
Markup string `json:"markup"`
} `json:"content"`
Inline struct {
Path string `json:"path"`
From *int64 `json:"from"`
To int64 `json:"to"`
} `json:"inline"`
CreatedOn time.Time `json:"created_on"`
UpdatedOn time.Time `json:"updated_on"`
Links struct {
Self struct {
Href string `json:"href"`
} `json:"self"`
HTML struct {
Href string `json:"href"`
} `json:"html"`
} `json:"links"`
} }
// PullRequest is the common Bitbucket PullRequest Entity // PullRequest is the common Bitbucket Pull Request Sub Entity
type PullRequest struct { type PullRequest struct {
ID int64 `json:"id"` ID int64 `json:"id"`
Title string `json:"title"` Title string `json:"title"`
Description string `json:"description"` Description string `json:"description"`
State string `json:"state"` State string `json:"state"`
Author User `json:"author"` Author Owner `json:"author"`
Source Source `json:"source"` Source struct {
Destination Destination `json:"destination"` Branch struct {
MergeCommit CommitHash `json:"merge_commit"` Name string `json:"name"`
Participants []User `json:"participants"` } `json:"branch"`
Reviewers []User `json:"reviewers"` Commit struct {
CloseSourceBranch bool `json:"close_source_branch"` Hash string `json:"hash"`
ClosedBy User `json:"closed_by"` } `json:"commit"`
Reason string `json:"reason"` Repository Repository `json:"repository"`
CreatedOn time.Time `json:"created_on"` } `json:"source"`
UpdatedOn time.Time `json:"updated_on"` Destination struct {
Links LinksHTMLSelf `json:"links"` Branch struct {
} Name string `json:"name"`
} `json:"branch"`
// Destination is the common Bitbucket Destination Sub Entity Commit struct {
type Destination struct { Hash string `json:"hash"`
Branch Branch `json:"branch"` } `json:"commit"`
Commit CommitHash `json:"commit"` Repository Repository `json:"repository"`
Repository Repository `json:"repository"` } `json:"destination"`
} MergeCommit struct {
Hash string `json:"hash"`
// Source is the common Bitbucket Source Sub Entity } `json:"merge_commit"`
type Source struct { Participants []Owner `json:"participants"`
Branch Branch `json:"branch"` Reviewers []Owner `json:"reviewers"`
Commit CommitHash `json:"commit"` CloseSourceBranch bool `json:"close_source_branch"`
Repository Repository `json:"repository"` ClosedBy Owner `json:"closed_by"`
} Reason string `json:"reason"`
CreatedOn time.Time `json:"created_on"`
// Branch is the common Bitbucket Branch Sub Entity UpdatedOn time.Time `json:"updated_on"`
type Branch struct { Links struct {
Name string `json:"name"` Self struct {
} Href string `json:"href"`
} `json:"self"`
// CommitHash is the common Bitbucket CommitHash Sub Entity HTML struct {
type CommitHash struct { Href string `json:"href"`
Hash string `json:"hash"` } `json:"html"`
} } `json:"links"`
// Inline is the common Bitbucket Inline Sub Entity
type Inline struct {
Path string `json:"path"`
From *int64 `json:"from"`
To int64 `json:"to"`
}
// ParentID is the common Bitbucket ParentID Sub Entity
type ParentID struct {
ID int64 `json:"id"`
}
// Avatar is the common Bitbucket Avatar Sub Entity
type Avatar struct {
HREF string `json:"href"`
}
// HTML is the common Bitbucket HTML Sub Entity
type HTML struct {
HREF string `json:"href"`
}
// Self is the common Bitbucket Self Sub Entity
type Self struct {
HREF string `json:"href"`
}
// Diff is the common Bitbucket Diff Sub Entity
type Diff struct {
HREF string `json:"href"`
}
// Commits is the common Bitbucket Commits Sub Entity
type Commits struct {
HREF string `json:"href"`
}
// LinksSelfCommit is the common Bitbucket LinksSelfCommit Sub Entity
type LinksSelfCommit struct {
Self Self `json:"self"`
Commit Commits `json:"commit"`
}
// LinksHTMLSelfCommits is the common Bitbucket LinksHTMLSelfCommits Sub Entity
type LinksHTMLSelfCommits struct {
Self Self `json:"self"`
Commits Commits `json:"commits"`
HTML HTML `json:"html"`
}
// LinksHTMLDiffCommits is the common Bitbucket LinksHTMLDiffCommits Sub Entity
type LinksHTMLDiffCommits struct {
HTML HTML `json:"html"`
Diff Diff `json:"diff"`
Commits Commits `json:"commits"`
}
// Links is the common Bitbucket Links Sub Entity
type Links struct {
Avatar Avatar `json:"avatar"`
HTML HTML `json:"html"`
Self Self `json:"self"`
}
// LinksHTMLSelf is the common Bitbucket LinksHTMLSelf Sub Entity
type LinksHTMLSelf struct {
HTML HTML `json:"html"`
Self Self `json:"self"`
}
// Content is the common Bitbucket Content Sub Entity
type Content struct {
HTML string `json:"html"`
Markup string `json:"markup"`
Raw string `json:"raw"`
}
// Milestone is the common Bitbucket Milestone Sub Entity
type Milestone struct {
Name string `json:"name"`
}
// Version is the common Bitbucket Version Sub Entity
type Version struct {
Name string `json:"name"`
} }
+92
View File
@@ -0,0 +1,92 @@
package docker
// this package receives the Docker Hub Automated Build webhook
// https://docs.docker.com/docker-hub/webhooks/
// NOT the Docker Trusted Registry webhook
// https://docs.docker.com/ee/dtr/user/create-and-manage-webhooks/
import (
"encoding/json"
"errors"
"io"
"io/ioutil"
"net/http"
)
// parse errors
var (
ErrInvalidHTTPMethod = errors.New("invalid HTTP Method")
ErrParsingPayload = errors.New("error parsing payload")
)
// Event defines a Docker hook event type
type Event string
// Docker hook types (only one for now)
const (
BuildEvent Event = "build"
)
// BuildPayload a docker hub build notice
// https://docs.docker.com/docker-hub/webhooks/
type BuildPayload struct {
CallbackURL string `json:"callback_url"`
PushData struct {
Images []string `json:"images"`
PushedAt float32 `json:"pushed_at"`
Pusher string `json:"pusher"`
Tag string `json:"tag"`
} `json:"push_data"`
Repository struct {
CommentCount int `json:"comment_count"`
DateCreated float32 `json:"date_created"`
Description string `json:"description"`
Dockerfile string `json:"dockerfile"`
FullDescription string `json:"full_description"`
IsOfficial bool `json:"is_official"`
IsPrivate bool `json:"is_private"`
IsTrusted bool `json:"is_trusted"`
Name string `json:"name"`
Namespace string `json:"namespace"`
Owner string `json:"owner"`
RepoName string `json:"repo_name"`
RepoURL string `json:"repo_url"`
StarCount int `json:"star_count"`
Status string `json:"status"`
} `json:"repository"`
}
// Webhook instance contains all methods needed to process events
type Webhook struct {
}
// New creates and returns a WebHook instance
func New() (*Webhook, error) {
hook := new(Webhook)
return hook, nil
}
// Parse verifies and parses the events specified and returns the payload object or an error
func (hook Webhook) Parse(r *http.Request, events ...Event) (interface{}, error) {
defer func() {
_, _ = io.Copy(ioutil.Discard, r.Body)
_ = r.Body.Close()
}()
if r.Method != http.MethodPost {
return nil, ErrInvalidHTTPMethod
}
payload, err := ioutil.ReadAll(r.Body)
if err != nil || len(payload) == 0 {
return nil, ErrParsingPayload
}
var pl BuildPayload
err = json.Unmarshal([]byte(payload), &pl)
if err != nil {
return nil, ErrParsingPayload
}
return pl, err
}
+95
View File
@@ -0,0 +1,95 @@
package docker
import (
"log"
"net/http"
"net/http/httptest"
"os"
"testing"
"reflect"
"github.com/stretchr/testify/require"
)
// NOTES:
// - Run "go test" to run tests
// - Run "gocov test | gocov report" to report on test converage by file
// - Run "gocov test | gocov annotate -" to report on all code and functions, those ,marked with "MISS" were never called
//
// or
//
// -- may be a good idea to change to output path to somewherelike /tmp
// go test -coverprofile cover.out && go tool cover -html=cover.out -o cover.html
//
const (
path = "/webhooks"
)
var hook *Webhook
func TestMain(m *testing.M) {
// setup
var err error
hook, err = New()
if err != nil {
log.Fatal(err)
}
os.Exit(m.Run())
// teardown
}
func newServer(handler http.HandlerFunc) *httptest.Server {
mux := http.NewServeMux()
mux.HandleFunc(path, handler)
return httptest.NewServer(mux)
}
func TestWebhooks(t *testing.T) {
assert := require.New(t)
tests := []struct {
name string
event Event
typ interface{}
filename string
headers http.Header
}{
{
name: "BuildEvent",
event: BuildEvent,
typ: BuildPayload{},
filename: "../testdata/docker/docker_hub_build_notice.json",
},
}
for _, tt := range tests {
tc := tt
client := &http.Client{}
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
payload, err := os.Open(tc.filename)
assert.NoError(err)
defer func() {
_ = payload.Close()
}()
var parseError error
var results interface{}
server := newServer(func(w http.ResponseWriter, r *http.Request) {
results, parseError = hook.Parse(r, tc.event)
})
defer server.Close()
req, err := http.NewRequest(http.MethodPost, server.URL+path, payload)
assert.NoError(err)
req.Header.Set("Content-Type", "application/json")
resp, err := client.Do(req)
assert.NoError(err)
assert.Equal(http.StatusOK, resp.StatusCode)
assert.NoError(parseError)
assert.Equal(reflect.TypeOf(tc.typ), reflect.TypeOf(results))
})
}
}
-53
View File
@@ -1,53 +0,0 @@
package main
import (
"fmt"
"strconv"
"gopkg.in/go-playground/webhooks.v2"
"gopkg.in/go-playground/webhooks.v2/github"
)
const (
path = "/webhooks"
port = 3016
)
func main() {
hook := github.New(&github.Config{Secret: "MyGitHubSuperSecretSecrect...?"})
hook.RegisterEvents(HandleRelease, github.ReleaseEvent)
hook.RegisterEvents(HandlePullRequest, github.PullRequestEvent)
err := webhooks.Run(hook, ":"+strconv.Itoa(port), path)
if err != nil {
fmt.Println(err)
}
}
// HandleRelease handles GitHub release events
func HandleRelease(payload interface{}, header webhooks.Header) {
fmt.Println("Handling Release")
pl := payload.(github.ReleasePayload)
// only want to compile on full releases
if pl.Release.Draft || pl.Release.Prelelease || pl.Release.TargetCommitish != "master" {
return
}
// Do whatever you want from here...
fmt.Printf("%+v", pl)
}
// HandlePullRequest handles GitHub pull_request events
func HandlePullRequest(payload interface{}, header webhooks.Header) {
fmt.Println("Handling Pull Request")
pl := payload.(github.PullRequestPayload)
// Do whatever you want from here...
fmt.Printf("%+v", pl)
}
-44
View File
@@ -1,44 +0,0 @@
package main
import (
"fmt"
"strconv"
"gopkg.in/go-playground/webhooks.v2"
"gopkg.in/go-playground/webhooks.v2/github"
)
const (
path = "/webhooks"
port = 3016
)
func main() {
hook := github.New(&github.Config{Secret: "MyGitHubSuperSecretSecrect...?"})
hook.RegisterEvents(HandleMultiple, github.ReleaseEvent, github.PullRequestEvent) // Add as many as you want
err := webhooks.Run(hook, ":"+strconv.Itoa(port), path)
if err != nil {
fmt.Println(err)
}
}
// HandleMultiple handles multiple GitHub events
func HandleMultiple(payload interface{}, header webhooks.Header) {
fmt.Println("Handling Payload..")
switch payload.(type) {
case github.ReleasePayload:
release := payload.(github.ReleasePayload)
// Do whatever you want from here...
fmt.Printf("%+v", release)
case github.PullRequestPayload:
pullRequest := payload.(github.PullRequestPayload)
// Do whatever you want from here...
fmt.Printf("%+v", pullRequest)
}
}
+264 -145
View File
@@ -5,50 +5,73 @@ import (
"crypto/sha1" "crypto/sha1"
"encoding/hex" "encoding/hex"
"encoding/json" "encoding/json"
"errors"
"fmt"
"io"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"gopkg.in/go-playground/webhooks.v2"
) )
// Webhook instance contains all methods needed to process events // parse errors
type Webhook struct { var (
provider webhooks.Provider ErrEventNotSpecifiedToParse = errors.New("no Event specified to parse")
secret string ErrInvalidHTTPMethod = errors.New("invalid HTTP Method")
eventFuncs map[Event]webhooks.ProcessPayloadFunc ErrMissingGithubEventHeader = errors.New("missing X-GitHub-Event Header")
} ErrMissingHubSignatureHeader = errors.New("missing X-Hub-Signature Header")
ErrEventNotFound = errors.New("event not defined to be parsed")
// Config defines the configuration to create a new GitHub Webhook instance ErrParsingPayload = errors.New("error parsing payload")
type Config struct { ErrHMACVerificationFailed = errors.New("HMAC verification failed")
Secret string )
}
// Event defines a GitHub hook event type // Event defines a GitHub hook event type
type Event string type Event string
// GitHub hook types // GitHub hook types
const ( const (
CommitCommentEvent Event = "commit_comment" CheckRunEvent Event = "check_run"
CreateEvent Event = "create" CheckSuiteEvent Event = "check_suite"
DeleteEvent Event = "delete" CommitCommentEvent Event = "commit_comment"
DeploymentEvent Event = "deployment" CreateEvent Event = "create"
DeploymentStatusEvent Event = "deployment_status" DeleteEvent Event = "delete"
ForkEvent Event = "fork" DeployKeyEvent Event = "deploy_key"
GollumEvent Event = "gollum" DeploymentEvent Event = "deployment"
IssueCommentEvent Event = "issue_comment" DeploymentStatusEvent Event = "deployment_status"
IssuesEvent Event = "issues" ForkEvent Event = "fork"
MemberEvent Event = "member" GollumEvent Event = "gollum"
MembershipEvent Event = "membership" InstallationEvent Event = "installation"
PageBuildEvent Event = "page_build" InstallationRepositoriesEvent Event = "installation_repositories"
PublicEvent Event = "public" IntegrationInstallationEvent Event = "integration_installation"
PullRequestReviewCommentEvent Event = "pull_request_review_comment" IntegrationInstallationRepositoriesEvent Event = "integration_installation_repositories"
PullRequestEvent Event = "pull_request" IssueCommentEvent Event = "issue_comment"
PushEvent Event = "push" IssuesEvent Event = "issues"
RepositoryEvent Event = "repository" LabelEvent Event = "label"
ReleaseEvent Event = "release" MemberEvent Event = "member"
StatusEvent Event = "status" MembershipEvent Event = "membership"
TeamAddEvent Event = "team_add" MilestoneEvent Event = "milestone"
WatchEvent Event = "watch" MetaEvent Event = "meta"
OrganizationEvent Event = "organization"
OrgBlockEvent Event = "org_block"
PageBuildEvent Event = "page_build"
PingEvent Event = "ping"
ProjectCardEvent Event = "project_card"
ProjectColumnEvent Event = "project_column"
ProjectEvent Event = "project"
PublicEvent Event = "public"
PullRequestEvent Event = "pull_request"
PullRequestReviewEvent Event = "pull_request_review"
PullRequestReviewCommentEvent Event = "pull_request_review_comment"
PushEvent Event = "push"
ReleaseEvent Event = "release"
RepositoryEvent Event = "repository"
RepositoryVulnerabilityAlertEvent Event = "repository_vulnerability_alert"
SecurityAdvisoryEvent Event = "security_advisory"
StatusEvent Event = "status"
TeamEvent Event = "team"
TeamAddEvent Event = "team_add"
WatchEvent Event = "watch"
WorkflowDispatchEvent Event = "workflow_dispatch"
WorkflowJobEvent Event = "workflow_job"
WorkflowRunEvent Event = "workflow_run"
) )
// EventSubtype defines a GitHub Hook Event subtype // EventSubtype defines a GitHub Hook Event subtype
@@ -63,165 +86,261 @@ const (
IssueSubtype EventSubtype = "issues" IssueSubtype EventSubtype = "issues"
) )
// Option is a configuration option for the webhook
type Option func(*Webhook) error
// Options is a namespace var for configuration options
var Options = WebhookOptions{}
// WebhookOptions is a namespace for configuration option methods
type WebhookOptions struct{}
// Secret registers the GitHub secret
func (WebhookOptions) Secret(secret string) Option {
return func(hook *Webhook) error {
hook.secret = secret
return nil
}
}
// Webhook instance contains all methods needed to process events
type Webhook struct {
secret string
}
// New creates and returns a WebHook instance denoted by the Provider type // New creates and returns a WebHook instance denoted by the Provider type
func New(config *Config) *Webhook { func New(options ...Option) (*Webhook, error) {
return &Webhook{ hook := new(Webhook)
provider: webhooks.GitHub, for _, opt := range options {
secret: config.Secret, if err := opt(hook); err != nil {
eventFuncs: map[Event]webhooks.ProcessPayloadFunc{}, return nil, errors.New("Error applying Option")
}
} }
return hook, nil
} }
// Provider returns the current hooks provider ID // Parse verifies and parses the events specified and returns the payload object or an error
func (hook Webhook) Provider() webhooks.Provider { func (hook Webhook) Parse(r *http.Request, events ...Event) (interface{}, error) {
return hook.provider defer func() {
} _, _ = io.Copy(ioutil.Discard, r.Body)
_ = r.Body.Close()
}()
// RegisterEvents registers the function to call when the specified event(s) are encountered if len(events) == 0 {
func (hook Webhook) RegisterEvents(fn webhooks.ProcessPayloadFunc, events ...Event) { return nil, ErrEventNotSpecifiedToParse
}
for _, event := range events { if r.Method != http.MethodPost {
hook.eventFuncs[event] = fn return nil, ErrInvalidHTTPMethod
} }
}
// ParsePayload parses and verifies the payload and fires off the mapped function, if it exists.
func (hook Webhook) ParsePayload(w http.ResponseWriter, r *http.Request) {
event := r.Header.Get("X-GitHub-Event") event := r.Header.Get("X-GitHub-Event")
if len(event) == 0 { if event == "" {
http.Error(w, "400 Bad Request - Missing X-GitHub-Event Header", http.StatusBadRequest) return nil, ErrMissingGithubEventHeader
return
} }
gitHubEvent := Event(event) gitHubEvent := Event(event)
fn, ok := hook.eventFuncs[gitHubEvent] var found bool
// if no event registered for _, evt := range events {
if !ok { if evt == gitHubEvent {
return found = true
break
}
}
// event not defined to be parsed
if !found {
return nil, ErrEventNotFound
} }
payload, err := ioutil.ReadAll(r.Body) payload, err := ioutil.ReadAll(r.Body)
if err != nil || len(payload) == 0 { if err != nil || len(payload) == 0 {
http.Error(w, "Error reading Body", http.StatusInternalServerError) return nil, ErrParsingPayload
return
} }
// If we have a Secret set, we should check the MAC // If we have a Secret set, we should check the MAC
if len(hook.secret) > 0 { if len(hook.secret) > 0 {
signature := r.Header.Get("X-Hub-Signature") signature := r.Header.Get("X-Hub-Signature")
if len(signature) == 0 { if len(signature) == 0 {
http.Error(w, "403 Forbidden - Missing X-Hub-Signature required for HMAC verification", http.StatusForbidden) return nil, ErrMissingHubSignatureHeader
return
} }
mac := hmac.New(sha1.New, []byte(hook.secret)) mac := hmac.New(sha1.New, []byte(hook.secret))
mac.Write(payload) _, _ = mac.Write(payload)
expectedMAC := hex.EncodeToString(mac.Sum(nil)) expectedMAC := hex.EncodeToString(mac.Sum(nil))
if !hmac.Equal([]byte(signature[5:]), []byte(expectedMAC)) { if !hmac.Equal([]byte(signature[5:]), []byte(expectedMAC)) {
http.Error(w, "403 Forbidden - HMAC verification failed", http.StatusForbidden) return nil, ErrHMACVerificationFailed
return
} }
} }
// Make headers available to ProcessPayloadFunc as a webhooks type
hd := webhooks.Header(r.Header)
switch gitHubEvent { switch gitHubEvent {
case CheckRunEvent:
var pl CheckRunPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case CheckSuiteEvent:
var pl CheckSuitePayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case CommitCommentEvent: case CommitCommentEvent:
var cc CommitCommentPayload var pl CommitCommentPayload
json.Unmarshal([]byte(payload), &cc) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, cc, hd) return pl, err
case CreateEvent: case CreateEvent:
var c CreatePayload var pl CreatePayload
json.Unmarshal([]byte(payload), &c) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, c, hd) return pl, err
case DeployKeyEvent:
var pl DeployKeyPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case DeleteEvent: case DeleteEvent:
var d DeletePayload var pl DeletePayload
json.Unmarshal([]byte(payload), &d) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, d, hd) return pl, err
case DeploymentEvent: case DeploymentEvent:
var d DeploymentPayload var pl DeploymentPayload
json.Unmarshal([]byte(payload), &d) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, d, hd) return pl, err
case DeploymentStatusEvent: case DeploymentStatusEvent:
var d DeploymentStatusPayload var pl DeploymentStatusPayload
json.Unmarshal([]byte(payload), &d) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, d, hd) return pl, err
case ForkEvent: case ForkEvent:
var f ForkPayload var pl ForkPayload
json.Unmarshal([]byte(payload), &f) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, f, hd) return pl, err
case GollumEvent: case GollumEvent:
var g GollumPayload var pl GollumPayload
json.Unmarshal([]byte(payload), &g) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, g, hd) return pl, err
case InstallationEvent, IntegrationInstallationEvent:
var pl InstallationPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case InstallationRepositoriesEvent, IntegrationInstallationRepositoriesEvent:
var pl InstallationRepositoriesPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case IssueCommentEvent: case IssueCommentEvent:
var i IssueCommentPayload var pl IssueCommentPayload
json.Unmarshal([]byte(payload), &i) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, i, hd) return pl, err
case IssuesEvent: case IssuesEvent:
var i IssuesPayload var pl IssuesPayload
json.Unmarshal([]byte(payload), &i) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, i, hd) return pl, err
case LabelEvent:
var pl LabelPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case MemberEvent: case MemberEvent:
var m MemberPayload var pl MemberPayload
json.Unmarshal([]byte(payload), &m) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, m, hd) return pl, err
case MembershipEvent: case MembershipEvent:
var m MembershipPayload var pl MembershipPayload
json.Unmarshal([]byte(payload), &m) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, m, hd) return pl, err
case MetaEvent:
var pl MetaPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case MilestoneEvent:
var pl MilestonePayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case OrganizationEvent:
var pl OrganizationPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case OrgBlockEvent:
var pl OrgBlockPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PageBuildEvent: case PageBuildEvent:
var p PageBuildPayload var pl PageBuildPayload
json.Unmarshal([]byte(payload), &p) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, p, hd) return pl, err
case PingEvent:
var pl PingPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case ProjectCardEvent:
var pl ProjectCardPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case ProjectColumnEvent:
var pl ProjectColumnPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case ProjectEvent:
var pl ProjectPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PublicEvent: case PublicEvent:
var p PublicPayload var pl PublicPayload
json.Unmarshal([]byte(payload), &p) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, p, hd) return pl, err
case PullRequestReviewCommentEvent:
var p PullRequestReviewCommentPayload
json.Unmarshal([]byte(payload), &p)
hook.runProcessPayloadFunc(fn, p, hd)
case PullRequestEvent: case PullRequestEvent:
var p PullRequestPayload var pl PullRequestPayload
json.Unmarshal([]byte(payload), &p) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, p, hd) return pl, err
case PullRequestReviewEvent:
var pl PullRequestReviewPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestReviewCommentEvent:
var pl PullRequestReviewCommentPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PushEvent: case PushEvent:
var p PushPayload var pl PushPayload
json.Unmarshal([]byte(payload), &p) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, p, hd) return pl, err
case RepositoryEvent:
var r RepositoryPayload
json.Unmarshal([]byte(payload), &r)
hook.runProcessPayloadFunc(fn, r, hd)
case ReleaseEvent: case ReleaseEvent:
var r ReleasePayload var pl ReleasePayload
json.Unmarshal([]byte(payload), &r) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, r, hd) return pl, err
case RepositoryEvent:
var pl RepositoryPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case RepositoryVulnerabilityAlertEvent:
var pl RepositoryVulnerabilityAlertPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case SecurityAdvisoryEvent:
var pl SecurityAdvisoryPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case StatusEvent: case StatusEvent:
var s StatusPayload var pl StatusPayload
json.Unmarshal([]byte(payload), &s) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, s, hd) return pl, err
case TeamEvent:
var pl TeamPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case TeamAddEvent: case TeamAddEvent:
var t TeamAddPayload var pl TeamAddPayload
json.Unmarshal([]byte(payload), &t) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, t, hd) return pl, err
case WatchEvent: case WatchEvent:
var w WatchPayload var pl WatchPayload
json.Unmarshal([]byte(payload), &w) err = json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, w, hd) return pl, err
case WorkflowDispatchEvent:
var pl WorkflowDispatchPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case WorkflowJobEvent:
var pl WorkflowJobPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case WorkflowRunEvent:
var pl WorkflowRunPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
default:
return nil, fmt.Errorf("unknown event %s", gitHubEvent)
} }
} }
func (hook Webhook) runProcessPayloadFunc(fn webhooks.ProcessPayloadFunc, results interface{}, header webhooks.Header) {
go func(fn webhooks.ProcessPayloadFunc, results interface{}, header webhooks.Header) {
fn(results, header)
}(fn, results, header)
}
+563 -4016
View File
File diff suppressed because it is too large Load Diff
+6857 -644
View File
File diff suppressed because it is too large Load Diff
+169 -98
View File
@@ -2,143 +2,214 @@ package gitlab
import ( import (
"encoding/json" "encoding/json"
"errors"
"fmt"
"io"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"gopkg.in/go-playground/webhooks.v2"
) )
// Webhook instance contains all methods needed to process events // parse errors
type Webhook struct { var (
provider webhooks.Provider ErrEventNotSpecifiedToParse = errors.New("no Event specified to parse")
secret string ErrInvalidHTTPMethod = errors.New("invalid HTTP Method")
eventFuncs map[Event]webhooks.ProcessPayloadFunc ErrMissingGitLabEventHeader = errors.New("missing X-Gitlab-Event Header")
} ErrGitLabTokenVerificationFailed = errors.New("X-Gitlab-Token validation failed")
ErrEventNotFound = errors.New("event not defined to be parsed")
// Config defines the configuration to create a new GitHub Webhook instance ErrParsingPayload = errors.New("error parsing payload")
type Config struct { ErrParsingSystemPayload = errors.New("error parsing system payload")
Secret string // ErrHMACVerificationFailed = errors.New("HMAC verification failed")
} )
// Event defines a GitHub hook event type
type Event string
// GitLab hook types // GitLab hook types
const ( const (
PushEvents Event = "Push Hook" PushEvents Event = "Push Hook"
TagEvents Event = "Tag Push Hook" TagEvents Event = "Tag Push Hook"
IssuesEvents Event = "Issue Hook" IssuesEvents Event = "Issue Hook"
CommentEvents Event = "Note Hook" ConfidentialIssuesEvents Event = "Confidential Issue Hook"
MergerRequestEvents Event = "Merge Request Hook" CommentEvents Event = "Note Hook"
WikiPageEvents Event = "Wiki Page Hook" MergeRequestEvents Event = "Merge Request Hook"
PipelineEvents Event = "Pipeline Hook" WikiPageEvents Event = "Wiki Page Hook"
BuildEvents Event = "Build Hook" PipelineEvents Event = "Pipeline Hook"
BuildEvents Event = "Build Hook"
JobEvents Event = "Job Hook"
SystemHookEvents Event = "System Hook"
objectPush string = "push"
objectTag string = "tag_push"
objectMergeRequest string = "merge_request"
objectBuild string = "build"
) )
// Option is a configuration option for the webhook
type Option func(*Webhook) error
// Options is a namespace var for configuration options
var Options = WebhookOptions{}
// WebhookOptions is a namespace for configuration option methods
type WebhookOptions struct{}
// Secret registers the GitLab secret
func (WebhookOptions) Secret(secret string) Option {
return func(hook *Webhook) error {
hook.secret = secret
return nil
}
}
// Webhook instance contains all methods needed to process events
type Webhook struct {
secret string
}
// Event defines a GitLab hook event type by the X-Gitlab-Event Header
type Event string
// New creates and returns a WebHook instance denoted by the Provider type // New creates and returns a WebHook instance denoted by the Provider type
func New(config *Config) *Webhook { func New(options ...Option) (*Webhook, error) {
return &Webhook{ hook := new(Webhook)
provider: webhooks.GitLab, for _, opt := range options {
secret: config.Secret, if err := opt(hook); err != nil {
eventFuncs: map[Event]webhooks.ProcessPayloadFunc{}, return nil, errors.New("Error applying Option")
}
} }
return hook, nil
} }
// Provider returns the current hooks provider ID // Parse verifies and parses the events specified and returns the payload object or an error
func (hook Webhook) Provider() webhooks.Provider { func (hook Webhook) Parse(r *http.Request, events ...Event) (interface{}, error) {
return hook.provider defer func() {
} _, _ = io.Copy(ioutil.Discard, r.Body)
_ = r.Body.Close()
}()
// RegisterEvents registers the function to call when the specified event(s) are encountered if len(events) == 0 {
func (hook Webhook) RegisterEvents(fn webhooks.ProcessPayloadFunc, events ...Event) { return nil, ErrEventNotSpecifiedToParse
for _, event := range events {
hook.eventFuncs[event] = fn
} }
} if r.Method != http.MethodPost {
return nil, ErrInvalidHTTPMethod
// ParsePayload parses and verifies the payload and fires off the mapped function, if it exists.
func (hook Webhook) ParsePayload(w http.ResponseWriter, r *http.Request) {
event := r.Header.Get("X-Gitlab-Event")
if len(event) == 0 {
http.Error(w, "400 Bad Request - Missing X-Gitlab-Event Header", http.StatusBadRequest)
return
}
gitLabEvent := Event(event)
fn, ok := hook.eventFuncs[gitLabEvent]
// if no event registered
if !ok {
return
}
payload, err := ioutil.ReadAll(r.Body)
if err != nil || len(payload) == 0 {
http.Error(w, "Error reading Body", http.StatusInternalServerError)
return
} }
// If we have a Secret set, we should check the MAC // If we have a Secret set, we should check the MAC
if len(hook.secret) > 0 { if len(hook.secret) > 0 {
signature := r.Header.Get("X-Gitlab-Token") signature := r.Header.Get("X-Gitlab-Token")
if signature != hook.secret { if signature != hook.secret {
http.Error(w, "403 Forbidden - Token missmatch", http.StatusForbidden) return nil, ErrGitLabTokenVerificationFailed
return
} }
} }
// Make headers available to ProcessPayloadFunc as a webhooks type event := r.Header.Get("X-Gitlab-Event")
hd := webhooks.Header(r.Header) if len(event) == 0 {
return nil, ErrMissingGitLabEventHeader
}
gitLabEvent := Event(event)
payload, err := ioutil.ReadAll(r.Body)
if err != nil || len(payload) == 0 {
return nil, ErrParsingPayload
}
return eventParsing(gitLabEvent, events, payload)
}
func eventParsing(gitLabEvent Event, events []Event, payload []byte) (interface{}, error) {
var found bool
for _, evt := range events {
if evt == gitLabEvent {
found = true
break
}
}
// event not defined to be parsed
if !found {
return nil, ErrEventNotFound
}
switch gitLabEvent { switch gitLabEvent {
case PushEvents: case PushEvents:
var pe PushEventPayload var pl PushEventPayload
json.Unmarshal([]byte(payload), &pe) err := json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pe, hd) return pl, err
case TagEvents: case TagEvents:
var te TagEventPayload var pl TagEventPayload
json.Unmarshal([]byte(payload), &te) err := json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, te, hd) return pl, err
case ConfidentialIssuesEvents:
var pl ConfidentialIssueEventPayload
err := json.Unmarshal([]byte(payload), &pl)
return pl, err
case IssuesEvents: case IssuesEvents:
var ie IssueEventPayload var pl IssueEventPayload
json.Unmarshal([]byte(payload), &ie) err := json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, ie, hd) return pl, err
case CommentEvents: case CommentEvents:
var ce CommentEventPayload var pl CommentEventPayload
json.Unmarshal([]byte(payload), &ce) err := json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, ce, hd) return pl, err
case MergerRequestEvents: case MergeRequestEvents:
var mre MergeRequestEventPayload var pl MergeRequestEventPayload
json.Unmarshal([]byte(payload), &mre) err := json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, mre, hd) return pl, err
case WikiPageEvents: case WikiPageEvents:
var wpe WikiPageEventPayload var pl WikiPageEventPayload
json.Unmarshal([]byte(payload), &wpe) err := json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, wpe, hd) return pl, err
case PipelineEvents: case PipelineEvents:
var pe PipelineEventPayload var pl PipelineEventPayload
json.Unmarshal([]byte(payload), &pe) err := json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, pe, hd) return pl, err
case BuildEvents: case BuildEvents:
var be BuildEventPayload var pl BuildEventPayload
json.Unmarshal([]byte(payload), &be) err := json.Unmarshal([]byte(payload), &pl)
hook.runProcessPayloadFunc(fn, be, hd) return pl, err
case JobEvents:
var pl JobEventPayload
err := json.Unmarshal([]byte(payload), &pl)
if err != nil {
return nil, err
}
if pl.ObjectKind == objectBuild {
return eventParsing(BuildEvents, events, payload)
}
return pl, nil
case SystemHookEvents:
var pl SystemHookPayload
err := json.Unmarshal([]byte(payload), &pl)
if err != nil {
return nil, err
}
switch pl.ObjectKind {
case objectPush:
return eventParsing(PushEvents, events, payload)
case objectTag:
return eventParsing(TagEvents, events, payload)
case objectMergeRequest:
return eventParsing(MergeRequestEvents, events, payload)
default:
switch pl.EventName {
case objectPush:
return eventParsing(PushEvents, events, payload)
case objectTag:
return eventParsing(TagEvents, events, payload)
case objectMergeRequest:
return eventParsing(MergeRequestEvents, events, payload)
default:
return nil, fmt.Errorf("unknown system hook event %s", gitLabEvent)
}
}
default:
return nil, fmt.Errorf("unknown event %s", gitLabEvent)
} }
} }
func (hook Webhook) runProcessPayloadFunc(fn webhooks.ProcessPayloadFunc, results interface{}, header webhooks.Header) {
go func(fn webhooks.ProcessPayloadFunc, results interface{}, header webhooks.Header) {
fn(results, header)
}(fn, results, header)
}
+323 -1070
View File
File diff suppressed because it is too large Load Diff
+256 -111
View File
@@ -38,6 +38,14 @@ type IssueEventPayload struct {
Repository Repository `json:"repository"` Repository Repository `json:"repository"`
ObjectAttributes ObjectAttributes `json:"object_attributes"` ObjectAttributes ObjectAttributes `json:"object_attributes"`
Assignee Assignee `json:"assignee"` Assignee Assignee `json:"assignee"`
Changes Changes `json:"changes"`
}
// ConfidentialIssueEventPayload contains the information for GitLab's confidential issue event
type ConfidentialIssueEventPayload struct {
// The data for confidential issues is currently the same as normal issues,
// so we can just embed the normal issue payload type here.
IssueEventPayload
} }
// MergeRequestEventPayload contains the information for GitLab's merge request event // MergeRequestEventPayload contains the information for GitLab's merge request event
@@ -45,6 +53,11 @@ type MergeRequestEventPayload struct {
ObjectKind string `json:"object_kind"` ObjectKind string `json:"object_kind"`
User User `json:"user"` User User `json:"user"`
ObjectAttributes ObjectAttributes `json:"object_attributes"` ObjectAttributes ObjectAttributes `json:"object_attributes"`
Changes Changes `json:"changes"`
Project Project `json:"project"`
Repository Repository `json:"repository"`
Labels []Label `json:"labels"`
Assignees []Assignee `json:"assignees"`
} }
// PushEventPayload contains the information for GitLab's push event // PushEventPayload contains the information for GitLab's push event
@@ -54,15 +67,16 @@ type PushEventPayload struct {
After string `json:"after"` After string `json:"after"`
Ref string `json:"ref"` Ref string `json:"ref"`
CheckoutSHA string `json:"checkout_sha"` CheckoutSHA string `json:"checkout_sha"`
UserID int `json:"user_id"` UserID int64 `json:"user_id"`
UserName string `json:"user_name"` UserName string `json:"user_name"`
UserUsername string `json:"user_username"`
UserEmail string `json:"user_email"` UserEmail string `json:"user_email"`
UserAvatar string `json:"user_avatar"` UserAvatar string `json:"user_avatar"`
ProjectID int `json:"project_id"` ProjectID int64 `json:"project_id"`
Project Project `json:"Project"` Project Project `json:"Project"`
Repository Repository `json:"repository"` Repository Repository `json:"repository"`
Commits []Commit `json:"commits"` Commits []Commit `json:"commits"`
TotalCommitsCount int `json:"total_commits_count"` TotalCommitsCount int64 `json:"total_commits_count"`
} }
// TagEventPayload contains the information for GitLab's tag push event // TagEventPayload contains the information for GitLab's tag push event
@@ -72,14 +86,15 @@ type TagEventPayload struct {
After string `json:"after"` After string `json:"after"`
Ref string `json:"ref"` Ref string `json:"ref"`
CheckoutSHA string `json:"checkout_sha"` CheckoutSHA string `json:"checkout_sha"`
UserID int `json:"user_id"` UserID int64 `json:"user_id"`
UserName string `json:"user_name"` UserName string `json:"user_name"`
UserUsername string `json:"user_username"`
UserAvatar string `json:"user_avatar"` UserAvatar string `json:"user_avatar"`
ProjectID int `json:"project_id"` ProjectID int64 `json:"project_id"`
Project Project `json:"Project"` Project Project `json:"Project"`
Repository Repository `json:"repository"` Repository Repository `json:"repository"`
Commits []Commit `json:"commits"` Commits []Commit `json:"commits"`
TotalCommitsCount int `json:"total_commits_count"` TotalCommitsCount int64 `json:"total_commits_count"`
} }
// WikiPageEventPayload contains the information for GitLab's wiki created/updated event // WikiPageEventPayload contains the information for GitLab's wiki created/updated event
@@ -93,19 +108,20 @@ type WikiPageEventPayload struct {
// PipelineEventPayload contains the information for GitLab's pipeline status change event // PipelineEventPayload contains the information for GitLab's pipeline status change event
type PipelineEventPayload struct { type PipelineEventPayload struct {
ObjectKind string `json:"object_kind"` ObjectKind string `json:"object_kind"`
User User `json:"user"` User User `json:"user"`
Project Project `json:"project"` Project Project `json:"project"`
Commit Commit `json:"commit"` Commit Commit `json:"commit"`
ObjectAttributes ObjectAttributes `json:"object_attributes"` ObjectAttributes PipelineObjectAttributes `json:"object_attributes"`
Builds []Build `json:"builds"` MergeRequest MergeRequest `json:"merge_request"`
Builds []Build `json:"builds"`
} }
// CommentEventPayload contains the information for GitLab's comment event // CommentEventPayload contains the information for GitLab's comment event
type CommentEventPayload struct { type CommentEventPayload struct {
ObjectKind string `json:"object_kind"` ObjectKind string `json:"object_kind"`
User User `json:"user"` User User `json:"user"`
ProjectID int `json:"project_id"` ProjectID int64 `json:"project_id"`
Project Project `json:"project"` Project Project `json:"project"`
Repository Repository `json:"repository"` Repository Repository `json:"repository"`
ObjectAttributes ObjectAttributes `json:"object_attributes"` ObjectAttributes ObjectAttributes `json:"object_attributes"`
@@ -122,41 +138,73 @@ type BuildEventPayload struct {
Tag bool `json:"tag"` Tag bool `json:"tag"`
BeforeSHA string `json:"before_sha"` BeforeSHA string `json:"before_sha"`
SHA string `json:"sha"` SHA string `json:"sha"`
BuildID int `json:"build_id"` BuildID int64 `json:"build_id"`
BuildName string `json:"build_name"` BuildName string `json:"build_name"`
BuildStage string `json:"build_stage"` BuildStage string `json:"build_stage"`
BuildStatus string `json:"build_status"` BuildStatus string `json:"build_status"`
BuildStartedAt customTime `json:"build_started_at"` BuildStartedAt customTime `json:"build_started_at"`
BuildFinishedAt customTime `json:"build_finished_at"` BuildFinishedAt customTime `json:"build_finished_at"`
BuildDuration int `json:"build_duration"` BuildDuration float64 `json:"build_duration"`
BuildAllowFailure bool `json:"build_allow_failure"` BuildAllowFailure bool `json:"build_allow_failure"`
ProjectID int `json:"project_id"` ProjectID int64 `json:"project_id"`
ProjectName string `json:"project_name"` ProjectName string `json:"project_name"`
User User `json:"user"` User User `json:"user"`
Commit BuildCommit `json:"commit"` Commit BuildCommit `json:"commit"`
Repository Repository `json:"repository"` Repository Repository `json:"repository"`
Runner Runner `json:"runner"`
} }
// Issue contais all of the GitLab issue information // JobEventPayload contains the information for GitLab's Job status change
type JobEventPayload struct {
ObjectKind string `json:"object_kind"`
Ref string `json:"ref"`
Tag bool `json:"tag"`
BeforeSHA string `json:"before_sha"`
SHA string `json:"sha"`
BuildID int64 `json:"build_id"`
BuildName string `json:"build_name"`
BuildStage string `json:"build_stage"`
BuildStatus string `json:"build_status"`
BuildStartedAt customTime `json:"build_started_at"`
BuildFinishedAt customTime `json:"build_finished_at"`
BuildDuration float64 `json:"build_duration"`
BuildAllowFailure bool `json:"build_allow_failure"`
BuildFailureReason string `json:"build_failure_reason"`
PipelineID int64 `json:"pipeline_id"`
ProjectID int64 `json:"project_id"`
ProjectName string `json:"project_name"`
User User `json:"user"`
Commit BuildCommit `json:"commit"`
Repository Repository `json:"repository"`
Runner Runner `json:"runner"`
}
// SystemHookPayload contains the ObjectKind to match with real hook events
type SystemHookPayload struct {
ObjectKind string `json:"object_kind"`
EventName string `json:"event_name"`
}
// Issue contains all of the GitLab issue information
type Issue struct { type Issue struct {
ID int `json:"id"` ID int64 `json:"id"`
Title string `json:"title"` Title string `json:"title"`
AssigneeID int `json:"assignee_id"` AssigneeID int64 `json:"assignee_id"`
AuthorID int `json:"author_id"` AuthorID int64 `json:"author_id"`
ProjectID int `json:"project_id"` ProjectID int64 `json:"project_id"`
CreatedAt customTime `json:"created_at"` CreatedAt customTime `json:"created_at"`
UpdatedAt customTime `json:"updated_at"` UpdatedAt customTime `json:"updated_at"`
Position int `json:"position"` Position int64 `json:"position"`
BranchName string `json:"branch_name"` BranchName string `json:"branch_name"`
Description string `json:"description"` Description string `json:"description"`
MilestoneID int `json:"milestone_id"` MilestoneID int64 `json:"milestone_id"`
State string `json:"state"` State string `json:"state"`
IID int `json:"iid"` IID int64 `json:"iid"`
} }
// Build contais all of the GitLab build information // Build contains all of the GitLab Build information
type Build struct { type Build struct {
ID int `json:"id"` ID int64 `json:"id"`
Stage string `json:"stage"` Stage string `json:"stage"`
Name string `json:"name"` Name string `json:"name"`
Status string `json:"status"` Status string `json:"status"`
@@ -166,17 +214,25 @@ type Build struct {
When string `json:"when"` When string `json:"when"`
Manual bool `json:"manual"` Manual bool `json:"manual"`
User User `json:"user"` User User `json:"user"`
Runner string `json:"runner"` Runner Runner `json:"runner"`
ArtifactsFile ArtifactsFile `json:"artifactsfile"` ArtifactsFile ArtifactsFile `json:"artifactsfile"`
} }
// ArtifactsFile contais all of the GitLab artifact information // Runner represents a runner agent
type Runner struct {
ID int64 `json:"id"`
Description string `json:"description"`
Active bool `json:"active"`
IsShared bool `json:"is_shared"`
}
// ArtifactsFile contains all of the GitLab artifact information
type ArtifactsFile struct { type ArtifactsFile struct {
Filename string `json:"filename"` Filename string `json:"filename"`
Size string `json:"size"` Size string `json:"size"`
} }
// Wiki contais all of the GitLab wiki information // Wiki contains all of the GitLab wiki information
type Wiki struct { type Wiki struct {
WebURL string `json:"web_url"` WebURL string `json:"web_url"`
GitSSHURL string `json:"git_ssh_url"` GitSSHURL string `json:"git_ssh_url"`
@@ -185,10 +241,11 @@ type Wiki struct {
DefaultBranch string `json:"default_branch"` DefaultBranch string `json:"default_branch"`
} }
// Commit contais all of the GitLab commit information // Commit contains all of the GitLab commit information
type Commit struct { type Commit struct {
ID string `json:"id"` ID string `json:"id"`
Message string `json:"message"` Message string `json:"message"`
Title string `json:"title"`
Timestamp customTime `json:"timestamp"` Timestamp customTime `json:"timestamp"`
URL string `json:"url"` URL string `json:"url"`
Author Author `json:"author"` Author Author `json:"author"`
@@ -197,51 +254,54 @@ type Commit struct {
Removed []string `json:"removed"` Removed []string `json:"removed"`
} }
// BuildCommit contais all of the GitLab build commit information // BuildCommit contains all of the GitLab build commit information
type BuildCommit struct { type BuildCommit struct {
ID int `json:"id"` ID int64 `json:"id"`
SHA string `json:"sha"` SHA string `json:"sha"`
Message string `json:"message"` Message string `json:"message"`
AuthorName string `json:"auuthor_name"` AuthorName string `json:"author_name"`
AuthorEmail string `json:"author_email"` AuthorEmail string `json:"author_email"`
Status string `json:"status"` Status string `json:"status"`
Duration int `json:"duration"` Duration float64 `json:"duration"`
StartedAt customTime `json:"started_at"` StartedAt customTime `json:"started_at"`
FinishedAt customTime `json:"finished_at"` FinishedAt customTime `json:"finished_at"`
} }
// Snippet contais all of the GitLab snippet information // Snippet contains all of the GitLab snippet information
type Snippet struct { type Snippet struct {
ID int `json:"id"` ID int64 `json:"id"`
Title string `json:"title"` Title string `json:"title"`
Content string `json:"content"` Content string `json:"content"`
AuthorID int `json:"author_id"` AuthorID int64 `json:"author_id"`
ProjectID int `json:"project_id"` ProjectID int64 `json:"project_id"`
CreatedAt customTime `json:"created_at"` CreatedAt customTime `json:"created_at"`
UpdatedAt customTime `json:"updated_at"` UpdatedAt customTime `json:"updated_at"`
FileName string `json:"file_name"` FileName string `json:"file_name"`
ExpiresAt customTime `json:"expires_at"` ExpiresAt customTime `json:"expires_at"`
Type string `json:"type"` Type string `json:"type"`
VisibilityLevel int `json:"visibility_level"` VisibilityLevel int64 `json:"visibility_level"`
} }
// User contais all of the GitLab user information // User contains all of the GitLab user information
type User struct { type User struct {
ID int64 `json:"id"`
Name string `json:"name"` Name string `json:"name"`
UserName string `json:"username"` UserName string `json:"username"`
AvatarURL string `json:"avatar_url"` AvatarURL string `json:"avatar_url"`
Email string `json:"email"`
} }
// Project contais all of the GitLab project information // Project contains all of the GitLab project information
type Project struct { type Project struct {
ID int64 `json:"id"`
Name string `json:"name"` Name string `json:"name"`
Description string `json:"description"` Description string `json:"description"`
WebURL string `json:"web_url"` WebURL string `json:"web_url"`
AvatarURL string `json:"avatar_url"` AvatarURL string `json:"avatar_url"`
GitSSSHURL string `json:"git_ssh_url"` GitSSHURL string `json:"git_ssh_url"`
GitHTTPURL string `json:"git_http_url"` GitHTTPURL string `json:"git_http_url"`
Namespace string `json:"namespace"` Namespace string `json:"namespace"`
VisibilityLevel int `json:"visibility_level"` VisibilityLevel int64 `json:"visibility_level"`
PathWithNamespace string `json:"path_with_namespace"` PathWithNamespace string `json:"path_with_namespace"`
DefaultBranch string `json:"default_branch"` DefaultBranch string `json:"default_branch"`
Homepage string `json:"homepage"` Homepage string `json:"homepage"`
@@ -250,97 +310,157 @@ type Project struct {
HTTPURL string `json:"http_url"` HTTPURL string `json:"http_url"`
} }
// Repository contais all of the GitLab repository information // Repository contains all of the GitLab repository information
type Repository struct { type Repository struct {
Name string `json:"name"` Name string `json:"name"`
URL string `json:"url"` URL string `json:"url"`
Description string `json:"description"` Description string `json:"description"`
Homepage string `json:"homepage"` Homepage string `json:"homepage"`
GitSSHURL string `json:"git_ssh_url"`
GitHTTPURL string `json:"git_http_url"`
VisibilityLevel int64 `json:"visibility_level"`
} }
// ObjectAttributes contais all of the GitLab object attributes information // ObjectAttributes contains all of the GitLab object attributes information
type ObjectAttributes struct { type ObjectAttributes struct {
ID int `json:"id"` ID int64 `json:"id"`
Title string `json:"title"` Title string `json:"title"`
AssigneeID int `json:"assignee_id"` AssigneeIDS []int64 `json:"assignee_ids"`
AuthorID int `json:"author_id"` AssigneeID int64 `json:"assignee_id"`
ProjectID int `json:"project_id"` AuthorID int64 `json:"author_id"`
CreatedAt customTime `json:"created_at"` ProjectID int64 `json:"project_id"`
UpdatedAt customTime `json:"updated_at"` CreatedAt customTime `json:"created_at"`
Position int `json:"position"` UpdatedAt customTime `json:"updated_at"`
BranchName string `json:"branch_name"` UpdatedByID int64 `json:"updated_by_id"`
Description string `json:"description"` LastEditedAt customTime `json:"last_edited_at"`
MilestoneID int `json:"milestone_id"` LastEditedByID int64 `json:"last_edited_by_id"`
State string `json:"state"` RelativePosition int64 `json:"relative_position"`
IID int `json:"iid"` Position Position `json:"position"`
URL string `json:"url"` BranchName string `json:"branch_name"`
Action string `json:"action"` Description string `json:"description"`
TargetBranch string `json:"target_branch"` MilestoneID int64 `json:"milestone_id"`
SourceBranch string `json:"source_branch"` State string `json:"state"`
SourceProjectID int `json:"source_project_id"` StateID int64 `json:"state_id"`
TargetProjectID int `json:"target_project_id"` Confidential bool `json:"confidential"`
StCommits string `json:"st_commits"` DiscussionLocked bool `json:"discussion_locked"`
MergeStatus string `json:"merge_status"` DueDate customTime `json:"due_date"`
Content string `json:"content"` TimeEstimate int64 `json:"time_estimate"`
Format string `json:"format"` TotalTimeSpent int64 `json:"total_time_spent"`
Message string `json:"message"` IID int64 `json:"iid"`
Slug string `json:"slug"` URL string `json:"url"`
Ref string `json:"ref"` Action string `json:"action"`
Tag bool `json:"tag"` TargetBranch string `json:"target_branch"`
SHA string `json:"sha"` SourceBranch string `json:"source_branch"`
BeforeSHA string `json:"before_sha"` SourceProjectID int64 `json:"source_project_id"`
Status string `json:"status"` TargetProjectID int64 `json:"target_project_id"`
Stages []string `json:"stages"` StCommits string `json:"st_commits"`
Duration int `json:"duration"` MergeStatus string `json:"merge_status"`
Note string `json:"note"` Content string `json:"content"`
NotebookType string `json:"noteable_type"` Format string `json:"format"`
At customTime `json:"attachment"` Message string `json:"message"`
LineCode string `json:"line_code"` Slug string `json:"slug"`
CommitID string `json:"commit_id"` Ref string `json:"ref"`
NoteableID int `json:"noteable_id"` Tag bool `json:"tag"`
System bool `json:"system"` SHA string `json:"sha"`
WorkInProgress bool `json:"work_in_progress"` BeforeSHA string `json:"before_sha"`
StDiffs []StDiff `json:"st_diffs"` Status string `json:"status"`
Source Source `json:"source"` Stages []string `json:"stages"`
Target Target `json:"target"` Duration int64 `json:"duration"`
LastCommit LastCommit `json:"last_commit"` Note string `json:"note"`
Assignee Assignee `json:"assignee"` NotebookType string `json:"noteable_type"` // nolint:misspell
At customTime `json:"attachment"`
LineCode string `json:"line_code"`
CommitID string `json:"commit_id"`
NoteableID int64 `json:"noteable_id"` // nolint: misspell
System bool `json:"system"`
WorkInProgress bool `json:"work_in_progress"`
StDiffs []StDiff `json:"st_diffs"`
Source Source `json:"source"`
Target Target `json:"target"`
LastCommit LastCommit `json:"last_commit"`
Assignee Assignee `json:"assignee"`
} }
// MergeRequest contais all of the GitLab merge request information // PipelineObjectAttributes contains pipeline specific GitLab object attributes information
type PipelineObjectAttributes struct {
ID int64 `json:"id"`
Ref string `json:"ref"`
Tag bool `json:"tag"`
SHA string `json:"sha"`
BeforeSHA string `json:"before_sha"`
Source string `json:"source"`
Status string `json:"status"`
Stages []string `json:"stages"`
CreatedAt customTime `json:"created_at"`
FinishedAt customTime `json:"finished_at"`
Duration int64 `json:"duration"`
Variables []Variable `json:"variables"`
}
// Variable contains pipeline variables
type Variable struct {
Key string `json:"key"`
Value string `json:"value"`
}
// Position defines a specific location, identified by paths line numbers and
// image coordinates, within a specific diff, identified by start, head and
// base commit ids.
//
// Text position will have: new_line and old_line
// Image position will have: width, height, x, y
type Position struct {
BaseSHA string `json:"base_sha"`
StartSHA string `json:"start_sha"`
HeadSHA string `json:"head_sha"`
OldPath string `json:"old_path"`
NewPath string `json:"new_path"`
PositionType string `json:"position_type"`
OldLine int64 `json:"old_line"`
NewLine int64 `json:"new_line"`
Width int64 `json:"width"`
Height int64 `json:"height"`
X int64 `json:"x"`
Y int64 `json:"y"`
}
// MergeRequest contains all of the GitLab merge request information
type MergeRequest struct { type MergeRequest struct {
ID int `json:"id"` ID int64 `json:"id"`
TargetBranch string `json:"target_branch"` TargetBranch string `json:"target_branch"`
SourceBranch string `json:"source_branch"` SourceBranch string `json:"source_branch"`
SourceProjectID string `json:"source_project_id"` SourceProjectID int64 `json:"source_project_id"`
AssigneeID int `json:"assignee_id"` AssigneeID int64 `json:"assignee_id"`
AuthorID int `json:"author_id"` AuthorID int64 `json:"author_id"`
Title string `json:"title"` Title string `json:"title"`
CreatedAt customTime `json:"created_at"` CreatedAt customTime `json:"created_at"`
UpdatedAt customTime `json:"updated_at"` UpdatedAt customTime `json:"updated_at"`
MilestoneID int `json:"milestone_id"` MilestoneID int64 `json:"milestone_id"`
State string `json:"state"` State string `json:"state"`
MergeStatus string `json:"merge_status"` MergeStatus string `json:"merge_status"`
TargetProjectID int `json:"target_project_id"` TargetProjectID int64 `json:"target_project_id"`
IID int `json:"iid"` IID int64 `json:"iid"`
Description string `json:"description"` Description string `json:"description"`
Position int `json:"position"` Position int64 `json:"position"`
LockedAt customTime `json:"locked_at"` LockedAt customTime `json:"locked_at"`
Source Source `json:"source"` Source Source `json:"source"`
Target Target `json:"target"` Target Target `json:"target"`
LastCommit LastCommit `json:"last_commit"` LastCommit LastCommit `json:"last_commit"`
WorkInProgress bool `json:"work_in_progress"` WorkInProgress bool `json:"work_in_progress"`
Assignee Assignee `json:"assignee"` Assignee Assignee `json:"assignee"`
URL string `json:"url"`
} }
// Assignee contais all of the GitLab assignee information // Assignee contains all of the GitLab assignee information
type Assignee struct { type Assignee struct {
ID int64 `json:"id"`
Name string `json:"name"` Name string `json:"name"`
Username string `json:"username"` Username string `json:"username"`
AvatarURL string `json:"avatar_url"` AvatarURL string `json:"avatar_url"`
Email string `json:"email"`
} }
// StDiff contais all of the GitLab diff information // StDiff contains all of the GitLab diff information
type StDiff struct { type StDiff struct {
Diff string `json:"diff"` Diff string `json:"diff"`
NewPath string `json:"new_path"` NewPath string `json:"new_path"`
@@ -352,7 +472,7 @@ type StDiff struct {
DeletedFile bool `json:"deleted_file"` DeletedFile bool `json:"deleted_file"`
} }
// Source contais all of the GitLab source information // Source contains all of the GitLab source information
type Source struct { type Source struct {
Name string `json:"name"` Name string `json:"name"`
Description string `json:"description"` Description string `json:"description"`
@@ -361,7 +481,7 @@ type Source struct {
GitSSHURL string `json:"git_ssh_url"` GitSSHURL string `json:"git_ssh_url"`
GitHTTPURL string `json:"git_http_url"` GitHTTPURL string `json:"git_http_url"`
Namespace string `json:"namespace"` Namespace string `json:"namespace"`
VisibilityLevel int `json:"visibility_level"` VisibilityLevel int64 `json:"visibility_level"`
PathWithNamespace string `json:"path_with_namespace"` PathWithNamespace string `json:"path_with_namespace"`
DefaultBranch string `json:"default_branch"` DefaultBranch string `json:"default_branch"`
Homepage string `json:"homepage"` Homepage string `json:"homepage"`
@@ -370,7 +490,7 @@ type Source struct {
HTTPURL string `json:"http_url"` HTTPURL string `json:"http_url"`
} }
// Target contais all of the GitLab target information // Target contains all of the GitLab target information
type Target struct { type Target struct {
Name string `json:"name"` Name string `json:"name"`
Description string `json:"description"` Description string `json:"description"`
@@ -379,7 +499,7 @@ type Target struct {
GitSSHURL string `json:"git_ssh_url"` GitSSHURL string `json:"git_ssh_url"`
GitHTTPURL string `json:"git_http_url"` GitHTTPURL string `json:"git_http_url"`
Namespace string `json:"namespace"` Namespace string `json:"namespace"`
VisibilityLevel int `json:"visibility_level"` VisibilityLevel int64 `json:"visibility_level"`
PathWithNamespace string `json:"path_with_namespace"` PathWithNamespace string `json:"path_with_namespace"`
DefaultBranch string `json:"default_branch"` DefaultBranch string `json:"default_branch"`
Homepage string `json:"homepage"` Homepage string `json:"homepage"`
@@ -388,7 +508,7 @@ type Target struct {
HTTPURL string `json:"http_url"` HTTPURL string `json:"http_url"`
} }
// LastCommit contais all of the GitLab last commit information // LastCommit contains all of the GitLab last commit information
type LastCommit struct { type LastCommit struct {
ID string `json:"id"` ID string `json:"id"`
Message string `json:"message"` Message string `json:"message"`
@@ -397,8 +517,33 @@ type LastCommit struct {
Author Author `json:"author"` Author Author `json:"author"`
} }
// Author contais all of the GitLab author information // Author contains all of the GitLab author information
type Author struct { type Author struct {
Name string `json:"name"` Name string `json:"name"`
Email string `json:"email"` Email string `json:"email"`
} }
// Changes contains all changes associated with a GitLab issue or MR
type Changes struct {
LabelChanges LabelChanges `json:"labels"`
}
// LabelChanges contains changes in labels assocatiated with a GitLab issue or MR
type LabelChanges struct {
Previous []Label `json:"previous"`
Current []Label `json:"current"`
}
// Label contains all of the GitLab label information
type Label struct {
ID int64 `json:"id"`
Title string `json:"title"`
Color string `json:"color"`
ProjectID int64 `json:"project_id"`
CreatedAt customTime `json:"created_at"`
UpdatedAt customTime `json:"updated_at"`
Template bool `json:"template"`
Description string `json:"description"`
Type string `json:"type"`
GroupID int64 `json:"group_id"`
}
+8
View File
@@ -0,0 +1,8 @@
module github.com/go-playground/webhooks/v6
go 1.15
require (
github.com/gogits/go-gogs-client v0.0.0-20200905025246-8bb8a50cb355
github.com/stretchr/testify v1.6.1
)
+13
View File
@@ -0,0 +1,13 @@
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/gogits/go-gogs-client v0.0.0-20200905025246-8bb8a50cb355 h1:HTVNOdTWO/gHYeFnr/HwpYwY6tgMcYd+Rgf1XrHnORY=
github.com/gogits/go-gogs-client v0.0.0-20200905025246-8bb8a50cb355/go.mod h1:cY2AIrMgHm6oOHmR7jY+9TtjzSjQ3iG7tURJG3Y6XH0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+176
View File
@@ -0,0 +1,176 @@
package gogs
import (
"encoding/json"
"errors"
"fmt"
"io"
"io/ioutil"
"net/http"
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
client "github.com/gogits/go-gogs-client"
)
// parse errors
var (
ErrEventNotSpecifiedToParse = errors.New("no Event specified to parse")
ErrInvalidHTTPMethod = errors.New("invalid HTTP Method")
ErrMissingGogsEventHeader = errors.New("missing X-Gogs-Event Header")
ErrMissingGogsSignatureHeader = errors.New("missing X-Gogs-Signature Header")
ErrEventNotFound = errors.New("event not defined to be parsed")
ErrParsingPayload = errors.New("error parsing payload")
ErrHMACVerificationFailed = errors.New("HMAC verification failed")
)
// Option is a configuration option for the webhook
type Option func(*Webhook) error
// Options is a namespace var for configuration options
var Options = WebhookOptions{}
// WebhookOptions is a namespace for configuration option methods
type WebhookOptions struct{}
// Secret registers the GitLab secret
func (WebhookOptions) Secret(secret string) Option {
return func(hook *Webhook) error {
hook.secret = secret
return nil
}
}
// Webhook instance contains all methods needed to process events
type Webhook struct {
secret string
}
// Event defines a Gogs hook event type
type Event string
// Gogs hook types
const (
CreateEvent Event = "create"
DeleteEvent Event = "delete"
ForkEvent Event = "fork"
PushEvent Event = "push"
IssuesEvent Event = "issues"
IssueCommentEvent Event = "issue_comment"
PullRequestEvent Event = "pull_request"
ReleaseEvent Event = "release"
)
// New creates and returns a WebHook instance denoted by the Provider type
func New(options ...Option) (*Webhook, error) {
hook := new(Webhook)
for _, opt := range options {
if err := opt(hook); err != nil {
return nil, errors.New("Error applying Option")
}
}
return hook, nil
}
// Parse verifies and parses the events specified and returns the payload object or an error
func (hook Webhook) Parse(r *http.Request, events ...Event) (interface{}, error) {
defer func() {
_, _ = io.Copy(ioutil.Discard, r.Body)
_ = r.Body.Close()
}()
if len(events) == 0 {
return nil, ErrEventNotSpecifiedToParse
}
if r.Method != http.MethodPost {
return nil, ErrInvalidHTTPMethod
}
event := r.Header.Get("X-Gogs-Event")
if len(event) == 0 {
return nil, ErrMissingGogsEventHeader
}
gogsEvent := Event(event)
var found bool
for _, evt := range events {
if evt == gogsEvent {
found = true
break
}
}
// event not defined to be parsed
if !found {
return nil, ErrEventNotFound
}
payload, err := ioutil.ReadAll(r.Body)
if err != nil || len(payload) == 0 {
return nil, ErrParsingPayload
}
// If we have a Secret set, we should check the MAC
if len(hook.secret) > 0 {
signature := r.Header.Get("X-Gogs-Signature")
if len(signature) == 0 {
return nil, ErrMissingGogsSignatureHeader
}
mac := hmac.New(sha256.New, []byte(hook.secret))
_, _ = mac.Write(payload)
expectedMAC := hex.EncodeToString(mac.Sum(nil))
if !hmac.Equal([]byte(signature), []byte(expectedMAC)) {
return nil, ErrHMACVerificationFailed
}
}
switch gogsEvent {
case CreateEvent:
var pl client.CreatePayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case ReleaseEvent:
var pl client.ReleasePayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PushEvent:
var pl client.PushPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case DeleteEvent:
var pl client.DeletePayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case ForkEvent:
var pl client.ForkPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case IssuesEvent:
var pl client.IssuesPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case IssueCommentEvent:
var pl client.IssueCommentPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
case PullRequestEvent:
var pl client.PullRequestPayload
err = json.Unmarshal([]byte(payload), &pl)
return pl, err
default:
return nil, fmt.Errorf("unknown event %s", gogsEvent)
}
}
+213
View File
@@ -0,0 +1,213 @@
{
"eventKey": "pr:comment:added",
"date": "2019-03-01T10:08:35+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 2,
"version": 20,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1550436762919,
"updatedDate": 1551366080055,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "50a8ee1fae3abf75738a85f9039b4b2de4947174",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/2"
}
]
}
},
"comment": {
"properties": {
"repositoryId": 4
},
"id": 167,
"version": 0,
"text": "test",
"author": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"createdDate": 1551431315592,
"updatedDate": 1551431315592,
"comments": [],
"tasks": []
},
"commentParentId": 164
}
+210
View File
@@ -0,0 +1,210 @@
{
"eventKey": "pr:comment:deleted",
"date": "2019-03-01T10:09:09+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 2,
"version": 20,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1550436762919,
"updatedDate": 1551366080055,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "50a8ee1fae3abf75738a85f9039b4b2de4947174",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/2"
}
]
}
},
"comment": {
"id": 166,
"version": 0,
"text": "test",
"author": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"createdDate": 1551431209893,
"updatedDate": 1551431209893,
"comments": [],
"tasks": []
},
"commentParentId": 165
}
+213
View File
@@ -0,0 +1,213 @@
{
"eventKey": "pr:comment:edited",
"date": "2019-03-01T10:06:11+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 2,
"version": 20,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1550436762919,
"updatedDate": 1551366080055,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "50a8ee1fae3abf75738a85f9039b4b2de4947174",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/2"
}
]
}
},
"comment": {
"properties": {
"repositoryId": 4
},
"id": 165,
"version": 3,
"text": "yada edit comment",
"author": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"createdDate": 1551430363669,
"updatedDate": 1551431171528,
"comments": [],
"tasks": []
},
"previousComment": "yada yada yada"
}
+185
View File
@@ -0,0 +1,185 @@
{
"eventKey": "pr:declined",
"date": "2019-03-01T10:12:35+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 2,
"version": 23,
"title": "Update README",
"description": "yada yada yada",
"state": "DECLINED",
"open": false,
"closed": true,
"createdDate": 1550436762919,
"updatedDate": 1551431555605,
"closedDate": 1551431555605,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "50a8ee1fae3abf75738a85f9039b4b2de4947174",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/2"
}
]
}
}
}
+184
View File
@@ -0,0 +1,184 @@
{
"eventKey": "pr:deleted",
"date": "2019-03-01T10:17:10+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 2,
"version": 26,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1550436762919,
"updatedDate": 1551431770064,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "50a8ee1fae3abf75738a85f9039b4b2de4947174",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/2"
}
]
}
}
}
+214
View File
@@ -0,0 +1,214 @@
{
"eventKey": "pr:merged",
"date": "2019-03-01T10:37:14+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 5,
"version": 2,
"title": "Update README",
"description": "yada yada yada",
"state": "MERGED",
"open": false,
"closed": true,
"createdDate": 1551432675860,
"updatedDate": 1551433034286,
"closedDate": 1551433034286,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "cde6c45a4210afe81638aa1f3aa960d633c66a90",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"lastReviewedCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"role": "REVIEWER",
"approved": true,
"status": "APPROVED"
}
],
"participants": [],
"properties": {
"mergeCommit": {
"displayId": "cbf26be7bfc",
"id": "cbf26be7bfc8394906abbd571498fb8d28888b58"
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/5"
}
]
}
}
}
+215
View File
@@ -0,0 +1,215 @@
{
"eventKey": "pr:modified",
"date": "2019-03-01T10:19:48+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bibucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 3,
"version": 1,
"title": "Feature/wip",
"description": "Update README",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1551431949625,
"updatedDate": 1551431988769,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "591f702354b3abf1faaca4d23811620d1b2ac984",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bibucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bibucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bibucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bibucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bibucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bibucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bibucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bibucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bibucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bibucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bibucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bibucket.local/users/tux"
}
]
}
},
"role": "REVIEWER",
"approved": false,
"status": "UNAPPROVED"
}
],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bibucket.local/users/gopher/repos/webhook-test/pull-requests/3"
}
]
}
},
"previousTitle": "Feature/wip",
"previousDescription": "wip",
"previousTarget": {
"id": "refs/heads/master",
"displayId": "master",
"type": "BRANCH",
"latestCommit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"latestChangeset": "038e7b67735e54f6de8f1c5d533c6751df524f6c"
}
}
+206
View File
@@ -0,0 +1,206 @@
{
"eventKey": "pr:opened",
"date": "2019-03-01T10:31:15+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 5,
"version": 0,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1551432675860,
"updatedDate": 1551432675860,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "cde6c45a4210afe81638aa1f3aa960d633c66a90",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"role": "REVIEWER",
"approved": false,
"status": "UNAPPROVED"
}
],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/5"
}
]
}
}
}
+230
View File
@@ -0,0 +1,230 @@
{
"eventKey": "pr:reviewer:approved",
"date": "2019-03-01T10:35:38+0100",
"actor": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"pullRequest": {
"id": 5,
"version": 0,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1551432675860,
"updatedDate": 1551432675860,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "cde6c45a4210afe81638aa1f3aa960d633c66a90",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"lastReviewedCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"role": "REVIEWER",
"approved": true,
"status": "APPROVED"
}
],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/5"
}
]
}
},
"participant": {
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"lastReviewedCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"role": "REVIEWER",
"approved": true,
"status": "APPROVED"
},
"previousStatus": "NEEDS_WORK"
}
+230
View File
@@ -0,0 +1,230 @@
{
"eventKey": "pr:reviewer:needs_work",
"date": "2019-03-01T10:34:53+0100",
"actor": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"pullRequest": {
"id": 5,
"version": 0,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1551432675860,
"updatedDate": 1551432675860,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "cde6c45a4210afe81638aa1f3aa960d633c66a90",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"lastReviewedCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"role": "REVIEWER",
"approved": false,
"status": "NEEDS_WORK"
}
],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/5"
}
]
}
},
"participant": {
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"lastReviewedCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"role": "REVIEWER",
"approved": false,
"status": "NEEDS_WORK"
},
"previousStatus": "UNAPPROVED"
}
+230
View File
@@ -0,0 +1,230 @@
{
"eventKey": "pr:reviewer:unapproved",
"date": "2019-03-01T10:34:15+0100",
"actor": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"pullRequest": {
"id": 5,
"version": 0,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1551432675860,
"updatedDate": 1551432675860,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "cde6c45a4210afe81638aa1f3aa960d633c66a90",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"lastReviewedCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"role": "REVIEWER",
"approved": false,
"status": "UNAPPROVED"
}
],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/5"
}
]
}
},
"participant": {
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"lastReviewedCommit": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"role": "REVIEWER",
"approved": false,
"status": "UNAPPROVED"
},
"previousStatus": "NEEDS_WORK"
}
+225
View File
@@ -0,0 +1,225 @@
{
"eventKey": "pr:reviewer:updated",
"date": "2019-03-01T10:19:48+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"pullRequest": {
"id": 3,
"version": 1,
"title": "Update README",
"description": "yada yada yada",
"state": "OPEN",
"open": true,
"closed": false,
"createdDate": 1551431949625,
"updatedDate": 1551431988769,
"fromRef": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"latestCommit": "591f702354b3abf1faaca4d23811620d1b2ac984",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"toRef": {
"id": "refs/heads/master",
"displayId": "master",
"latestCommit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
},
"locked": false,
"author": {
"user": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"role": "AUTHOR",
"approved": false,
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"role": "REVIEWER",
"approved": false,
"status": "UNAPPROVED"
}
],
"participants": [],
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/pull-requests/3"
}
]
}
},
"addedReviewers": [
{
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
}
],
"removedReviewers": []
}
+105
View File
@@ -0,0 +1,105 @@
{
"eventKey": "repo:comment:added",
"date": "2019-02-28T16:17:06+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"comment": {
"properties": {
"repositoryId": 4
},
"id": 146,
"version": 0,
"text": "test",
"author": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"createdDate": 1551367026162,
"updatedDate": 1551367026162,
"comments": [],
"tasks": []
},
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
},
"commit": "038e7b67735e54f6de8f1c5d533c6751df524f6c"
}
+102
View File
@@ -0,0 +1,102 @@
{
"eventKey": "repo:comment:deleted",
"date": "2019-03-01T09:40:51+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"comment": {
"id": 145,
"version": 1,
"text": "Test commit comment editing comment",
"author": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"createdDate": 1551366857036,
"updatedDate": 1551429525155,
"comments": [],
"tasks": []
},
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
},
"commit": "038e7b67735e54f6de8f1c5d533c6751df524f6c"
}
+106
View File
@@ -0,0 +1,106 @@
{
"eventKey": "repo:comment:edited",
"date": "2019-03-01T09:38:45+0100",
"actor": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"comment": {
"properties": {
"repositoryId": 4
},
"id": 145,
"version": 1,
"text": "Test commit comment editing comment",
"author": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"createdDate": 1551366857036,
"updatedDate": 1551429525155,
"comments": [],
"tasks": []
},
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
},
"commit": "038e7b67735e54f6de8f1c5d533c6751df524f6c",
"previousComment": "Test commit comment"
}
+132
View File
@@ -0,0 +1,132 @@
{
"eventKey": "repo:forked",
"date": "2019-02-28T16:12:04+0100",
"actor": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"repository": {
"slug": "webhook-test",
"id": 124,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"origin": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "gopher@foo.bar",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
},
"project": {
"key": "~tux",
"id": 19,
"name": "Cain Piper",
"type": "PERSONAL",
"owner": {
"name": "tux",
"emailAddress": "cain.piper@foo.bar",
"id": 2125,
"displayName": "Cain Piper",
"active": true,
"slug": "tux",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/tux"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~tux/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~tux/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/tux/repos/webhook-test/browse"
}
]
}
}
}
+132
View File
@@ -0,0 +1,132 @@
{
"eventKey": "repo:modified",
"date": "2019-02-28T16:08:46+0100",
"actor": {
"name": "gopher",
"emailAddress": "foo@bar.se",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"old": {
"slug": "webhook-test-2",
"id": 4,
"name": "webhook-test-2",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "foo@bar.se",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test-2/browse"
}
]
}
},
"new": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "foo@bar.se",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
}
}
+89
View File
@@ -0,0 +1,89 @@
{
"eventKey": "repo:refs_changed",
"date": "2019-03-01T10:37:14+0100",
"actor": {
"name": "gopher",
"emailAddress": "foo@bar.com",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"repository": {
"slug": "webhook-test",
"id": 4,
"name": "webhook-test",
"scmId": "git",
"state": "AVAILABLE",
"statusMessage": "Available",
"forkable": true,
"project": {
"key": "~gopher",
"id": 2,
"name": "Foo Bar",
"type": "PERSONAL",
"owner": {
"name": "gopher",
"emailAddress": "foo@bar.com",
"id": 3231,
"displayName": "Foo Bar",
"active": true,
"slug": "gopher",
"type": "NORMAL",
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"links": {
"self": [
{
"href": "https://server.bitbucket.local/users/gopher"
}
]
}
},
"public": false,
"links": {
"clone": [
{
"href": "ssh://git@server.bitbucket.local:7999/~gopher/webhook-test.git",
"name": "ssh"
},
{
"href": "https://server.bitbucket.local/scm/~gopher/webhook-test.git",
"name": "http"
}
],
"self": [
{
"href": "https://server.bitbucket.local/users/gopher/repos/webhook-test/browse"
}
]
}
},
"changes": [
{
"ref": {
"id": "refs/heads/feature/wip",
"displayId": "feature/wip",
"type": "BRANCH"
},
"refId": "refs/heads/feature/wip",
"fromHash": "32a0b8a740c2963c6f56bd8baf3dc05683d299e0",
"toHash": "0000000000000000000000000000000000000000",
"type": "DELETE"
}
]
}
+66
View File
@@ -0,0 +1,66 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"comment":{
"id":17,
"parent":{
"id":16
},
"content":{
"raw":"Comment text",
"html":"<p>Comment text</p>",
"markup":"markdown"
},
"inline":{
"path":"path/to/file",
"from":null,
"to":10
},
"created_on":"2015-04-06T16:52:29.982346+00:00",
"updated_on":"2015-04-06T16:52:29.983730+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/comments/comment_id"
},
"html":{
"href":"https://api.bitbucket.org/comment_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"commit":{
"hash":"d3022fc0ca3d65c7f6654eea129d6bf0cf0ee08e"
}
}
+92
View File
@@ -0,0 +1,92 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"issue":{
"id":1,
"component":"component",
"title":"Issue title",
"content":{
"raw":"Issue description",
"html":"<p>Issue description</p>",
"markup":"markdown"
},
"priority":"trivial|minor|major|critical|blocker",
"state":"new|open|on hold|resolved|duplicate|invalid|wontfix|closed",
"type":"bug|enhancement|proposal|task",
"milestone":{
"name":"milestone 1"
},
"version":{
"name":"version 1"
},
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.179678+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/issues/issue_id"
},
"html":{
"href":"https://api.bitbucket.org/issue_id"
}
}
},
"comment":{
"id":17,
"parent":{
"id":16
},
"content":{
"raw":"Comment text",
"html":"<p>Comment text</p>",
"markup":"markdown"
},
"inline":{
"path":"path/to/file",
"from":null,
"to":10
},
"created_on":"2015-04-06T16:52:29.982346+00:00",
"updated_on":"2015-04-06T16:52:29.983730+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/comments/comment_id"
},
"html":{
"href":"https://api.bitbucket.org/comment_id"
}
}
}
}
+66
View File
@@ -0,0 +1,66 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"issue":{
"id":1,
"component":"component",
"title":"Issue title",
"content":{
"raw":"Issue description",
"html":"<p>Issue description</p>",
"markup":"markdown"
},
"priority":"trivial|minor|major|critical|blocker",
"state":"new|open|on hold|resolved|duplicate|invalid|wontfix|closed",
"type":"bug|enhancement|proposal|task",
"milestone":{
"name":"milestone 1"
},
"version":{
"name":"version 1"
},
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.179678+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/issues/issue_id"
},
"html":{
"href":"https://api.bitbucket.org/issue_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
}
+98
View File
@@ -0,0 +1,98 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"issue":{
"id":1,
"component":"component",
"title":"Issue title",
"content":{
"raw":"Issue description",
"html":"<p>Issue description</p>",
"markup":"markdown"
},
"priority":"trivial|minor|major|critical|blocker",
"state":"new|open|on hold|resolved|duplicate|invalid|wontfix|closed",
"type":"bug|enhancement|proposal|task",
"milestone":{
"name":"milestone 1"
},
"version":{
"name":"version 1"
},
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.179678+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/issues/issue_id"
},
"html":{
"href":"https://api.bitbucket.org/issue_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"comment":{
"id":17,
"parent":{
"id":16
},
"content":{
"raw":"Comment text",
"html":"<p>Comment text</p>",
"markup":"markdown"
},
"inline":{
"path":"path/to/file",
"from":null,
"to":10
},
"created_on":"2015-04-06T16:52:29.982346+00:00",
"updated_on":"2015-04-06T16:52:29.983730+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/comments/comment_id"
},
"html":{
"href":"https://api.bitbucket.org/comment_id"
}
}
},
"changes":{
"status":{
"old":"open",
"new":"on hold"
}
}
}
+202
View File
@@ -0,0 +1,202 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"approval":{
"date":"2015-04-06T16:34:59.195330+00:00",
"user":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
}
}
+202
View File
@@ -0,0 +1,202 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"approval":{
"date":"2015-04-06T16:34:59.195330+00:00",
"user":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
}
}
+208
View File
@@ -0,0 +1,208 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"comment":{
"id":17,
"parent":{
"id":16
},
"content":{
"raw":"Comment text",
"html":"<p>Comment text</p>",
"markup":"markdown"
},
"inline":{
"path":"path/to/file",
"from":null,
"to":10
},
"created_on":"2015-04-06T16:52:29.982346+00:00",
"updated_on":"2015-04-06T16:52:29.983730+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/comments/comment_id"
},
"html":{
"href":"https://api.bitbucket.org/comment_id"
}
}
}
}
+208
View File
@@ -0,0 +1,208 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"comment":{
"id":17,
"parent":{
"id":16
},
"content":{
"raw":"Comment text",
"html":"<p>Comment text</p>",
"markup":"markdown"
},
"inline":{
"path":"path/to/file",
"from":null,
"to":10
},
"created_on":"2015-04-06T16:52:29.982346+00:00",
"updated_on":"2015-04-06T16:52:29.983730+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/comments/comment_id"
},
"html":{
"href":"https://api.bitbucket.org/comment_id"
}
}
}
}
+208
View File
@@ -0,0 +1,208 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"comment":{
"id":17,
"parent":{
"id":16
},
"content":{
"raw":"Comment text",
"html":"<p>Comment text</p>",
"markup":"markdown"
},
"inline":{
"path":"path/to/file",
"from":null,
"to":10
},
"created_on":"2015-04-06T16:52:29.982346+00:00",
"updated_on":"2015-04-06T16:52:29.983730+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/comments/comment_id"
},
"html":{
"href":"https://api.bitbucket.org/comment_id"
}
}
}
}
+182
View File
@@ -0,0 +1,182 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
}
+182
View File
@@ -0,0 +1,182 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
}
+181
View File
@@ -0,0 +1,181 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"username":"emmap1",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
}
+182
View File
@@ -0,0 +1,182 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"pullrequest":{
"id":1,
"title":"Title of pull request",
"description":"Description of pull request",
"state":"OPEN|MERGED|DECLINED",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"source":{
"branch":{
"name":"branch2"
},
"commit":{
"hash":"d3022fc0ca3d"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"destination":{
"branch":{
"name":"master"
},
"commit":{
"hash":"ce5965ddd289"
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
},
"merge_commit":{
"hash":"764413d85e29"
},
"participants":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"reviewers":[
{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
}
],
"close_source_branch":true,
"closed_by":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"reason":"reason for declining the PR (if applicable)",
"created_on":"2015-04-06T15:23:38.179678+00:00",
"updated_on":"2015-04-06T15:23:38.205705+00:00",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/pullrequests/pullrequest_id"
},
"html":{
"href":"https://api.bitbucket.org/pullrequest_id"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
}
+55
View File
@@ -0,0 +1,55 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"commit_status":{
"name":"Unit Tests (Python)",
"description":"Build started",
"state":"INPROGRESS",
"key":"mybuildtool",
"url":"https://my-build-tool.com/builds/MY-PROJECT/BUILD-777",
"type":"build",
"created_on":"2015-11-19T20:37:35.547563+00:00",
"updated_on":"2015-11-19T20:37:35.547563+00:00",
"links":{
"commit":{
"href":"http://api.bitbucket.org/2.0/repositories/tk/test/commit/9fec847784abb10b2fa567ee63b85bd238955d0e"
},
"self":{
"href":"http://api.bitbucket.org/2.0/repositories/tk/test/commit/9fec847784abb10b2fa567ee63b85bd238955d0e/statuses/build/mybuildtool"
}
}
}
}
+55
View File
@@ -0,0 +1,55 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"commit_status":{
"name":"Unit Tests (Python)",
"description":"All tests passed",
"state":"SUCCESSFUL",
"key":"mybuildtool",
"url":"https://my-build-tool.com/builds/MY-PROJECT/BUILD-792",
"type":"build",
"created_on":"2015-11-19T20:37:35.547563+00:00",
"updated_on":"2015-11-20T08:01:16.433108+00:00",
"links":{
"commit":{
"href":"http://api.bitbucket.org/2.0/repositories/tk/test/commit/9fec847784abb10b2fa567ee63b85bd238955d0e"
},
"self":{
"href":"http://api.bitbucket.org/2.0/repositories/tk/test/commit/9fec847784abb10b2fa567ee63b85bd238955d0e/statuses/build/mybuildtool"
}
}
}
}
+55
View File
@@ -0,0 +1,55 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"fork":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
}
}
+210
View File
@@ -0,0 +1,210 @@
{
"actor":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository":{
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html":{
"href":"https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar":{
"href":"https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid":"{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"full_name":"team_name/repo_name",
"name":"repo_name",
"scm":"git",
"is_private":true
},
"push":{
"changes":[
{
"new":{
"type":"branch",
"name":"name-of-branch",
"target":{
"type":"commit",
"hash":"709d658dc5b6d6afcd46049c2f332ee3f515a67d",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"message":"new commit message\n",
"date":"2015-06-09T03:34:49+00:00",
"parents":[
{
"type":"commit",
"hash":"1e65c05c1d5171631d92438a13901ca7dae9618c",
"links":{
"self":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/commit/8cbbd65829c7ad834a97841e0defc965718036a0"
},
"html":{
"href":"https://bitbucket.org/user_name/repo_name/commits/8cbbd65829c7ad834a97841e0defc965718036a0"
}
}
}
],
"links":{
"self":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/commit/c4b2b7914156a878aa7c9da452a09fb50c2091f2"
},
"html":{
"href":"https://bitbucket.org/user_name/repo_name/commits/c4b2b7914156a878aa7c9da452a09fb50c2091f2"
}
}
},
"links":{
"self":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/refs/branches/master"
},
"commits":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/commits/master"
},
"html":{
"href":"https://bitbucket.org/user_name/repo_name/branch/master"
}
}
},
"old":{
"type":"branch",
"name":"name-of-branch",
"target":{
"type":"commit",
"hash":"1e65c05c1d5171631d92438a13901ca7dae9618c",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"message":"old commit message\n",
"date":"2015-06-08T21:34:56+00:00",
"parents":[
{
"type":"commit",
"hash":"e0d0c2041e09746be5ce4b55067d5a8e3098c843",
"links":{
"self":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/commit/9c4a3452da3bc4f37af5a6bb9c784246f44406f7"
},
"html":{
"href":"https://bitbucket.org/user_name/repo_name/commits/9c4a3452da3bc4f37af5a6bb9c784246f44406f7"
}
}
}
],
"links":{
"self":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/commit/b99ea6dad8f416e57c5ca78c1ccef590600d841b"
},
"html":{
"href":"https://bitbucket.org/user_name/repo_name/commits/b99ea6dad8f416e57c5ca78c1ccef590600d841b"
}
}
},
"links":{
"self":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/refs/branches/master"
},
"commits":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/commits/master"
},
"html":{
"href":"https://bitbucket.org/user_name/repo_name/branch/master"
}
}
},
"links":{
"html":{
"href":"https://bitbucket.org/user_name/repo_name/branches/compare/c4b2b7914156a878aa7c9da452a09fb50c2091f2..b99ea6dad8f416e57c5ca78c1ccef590600d841b"
},
"diff":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/diff/c4b2b7914156a878aa7c9da452a09fb50c2091f2..b99ea6dad8f416e57c5ca78c1ccef590600d841b"
},
"commits":{
"href":"https://api.bitbucket.org/2.0/repositories/user_name/repo_name/commits?include=c4b2b7914156a878aa7c9da452a09fb50c2091f2&exclude=b99ea6dad8f416e57c5ca78c1ccef590600d841b"
}
},
"created":false,
"forced":false,
"closed":false,
"commits":[
{
"hash":"03f4a7270240708834de475bcf21532d6134777e",
"type":"commit",
"message":"commit message\n",
"author":{
"nickname":"emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name":"Emma",
"uuid":"{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links":{
"self":{
"href":"https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html":{
"href":"https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar":{
"href":"https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"links":{
"self":{
"href":"https://api.bitbucket.org/2.0/repositories/user/repo/commit/03f4a7270240708834de475bcf21532d6134777e"
},
"html":{
"href":"https://bitbucket.org/user/repo/commits/03f4a7270240708834de475bcf21532d6134777e"
}
}
}
],
"truncated":false
}
]
}
}
+118
View File
@@ -0,0 +1,118 @@
{
"actor": {
"type": "user",
"nickname": "emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name": "Emma",
"uuid": "{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links": {
"self": {
"href": "https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html": {
"href": "https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar": {
"href": "https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"repository": {
"type": "repository",
"links": {
"self": {
"href": "https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
},
"html": {
"href": "https://api.bitbucket.org/bitbucket/bitbucket"
},
"avatar": {
"href": "https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
}
},
"uuid": "{673a6070-3421-46c9-9d48-90745f7bfe8e}",
"project": {
"type": "project",
"project": "Untitled project",
"uuid": "{3b7898dc-6891-4225-ae60-24613bb83080}",
"links": {
"html": {
"href": "https://bitbucket.org/account/user/teamawesome/projects/proj"
},
"avatar": {
"href": "https://bitbucket.org/account/user/teamawesome/projects/proj/avatar/32"
}
},
"key": "proj"
},
"full_name": "team_name/repo_name",
"name": "repo_name",
"website": "https://mywebsite.com/",
"owner": {
"type": "user",
"nickname": "emmap1",
"account_id":"udfy9suggmzpswxc7n200y3c",
"display_name": "Emma",
"uuid": "{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
"links": {
"self": {
"href": "https://api.bitbucket.org/api/2.0/users/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"html": {
"href": "https://api.bitbucket.org/%7Ba54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3%7D"
},
"avatar": {
"href": "https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
}
}
},
"scm": "git",
"is_private": true
},
"changes": {
"name": {
"new": "repository",
"old": "repository_name"
},
"website": {
"new": "http://www.example.com/",
"old": ""
},
"language": {
"new": "java",
"old": ""
},
"links": {
"new": {
"avatar": {
"href": "https://bitbucket.org/teamawesome/repository/avatar/32/"
},
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/teamawesome/repository"
},
"html": {
"href": "https://bitbucket.org/teamawesome/repository"
}
},
"old": {
"avatar": {
"href": "https://bitbucket.org/teamawesome/repository_name/avatar/32/"
},
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/teamawesome/repository_name"
},
"html": {
"href": "https://bitbucket.org/teamawesome/repository_name"
}
}
},
"description": {
"new": "This is a better description.",
"old": "This is a description."
},
"full_name": {
"new": "teamawesome/repository",
"old": "teamawesome/repository_name"
}
}
}
+30
View File
@@ -0,0 +1,30 @@
{
"callback_url": "https://registry.hub.docker.com/u/svendowideit/testhook/hook/2141b5bi5i5b02bec211i4eeih0242eg11000a/",
"push_data": {
"images": [
"27d47432a69bca5f2700e4dff7de0388ed65f9d3fb1ec645e2bc24c223dc1cc3",
"51a9c7c1f8bb2fa19bcd09789a34e63f35abb80044bc10196e304f6634cc582c",
"..."
],
"pushed_at": 1.417566161e+09,
"pusher": "trustedbuilder",
"tag": "latest"
},
"repository": {
"comment_count": 0,
"date_created": 1.417494799e+09,
"description": "",
"dockerfile": "#\n# BUILD\u0009\u0009docker build -t svendowideit/apt-cacher .\n# RUN\u0009\u0009docker run -d -p 3142:3142 -name apt-cacher-run apt-cacher\n#\n# and then you can run containers with:\n# \u0009\u0009docker run -t -i -rm -e http_proxy http://192.168.1.2:3142/ debian bash\n#\nFROM\u0009\u0009ubuntu\n\n\nVOLUME\u0009\u0009[/var/cache/apt-cacher-ng]\nRUN\u0009\u0009apt-get update ; apt-get install -yq apt-cacher-ng\n\nEXPOSE \u0009\u00093142\nCMD\u0009\u0009chmod 777 /var/cache/apt-cacher-ng ; /etc/init.d/apt-cacher-ng start ; tail -f /var/log/apt-cacher-ng/*\n",
"full_description": "Docker Hub based automated build from a GitHub repo",
"is_official": false,
"is_private": true,
"is_trusted": true,
"name": "testhook",
"namespace": "svendowideit",
"owner": "svendowideit",
"repo_name": "svendowideit/testhook",
"repo_url": "https://registry.hub.docker.com/u/svendowideit/testhook/",
"star_count": 0,
"status": "Active"
}
}
+230
View File
@@ -0,0 +1,230 @@
{
"action": "rerequested",
"check_run": {
"id": 4,
"head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3",
"external_id": "",
"url": "https://api.github.com/repos/github/hello-world/check-runs/4",
"html_url": "http://github.com/github/hello-world/runs/4",
"status": "completed",
"conclusion": "neutral",
"started_at": "2018-05-04T01:14:52Z",
"completed_at": "2018-05-04T01:14:52Z",
"output": {
"title": "Report",
"summary": "It's all good.",
"text": "Minus odio facilis repudiandae. Soluta odit aut amet magni nobis. Et voluptatibus ex dolorem et eum.",
"annotations_count": 2,
"annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations"
},
"name": "randscape",
"check_suite": {
"id": 5,
"head_branch": "master",
"head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3",
"status": "completed",
"conclusion": "neutral",
"url": "https://api.github.com/repos/github/hello-world/check-suites/5",
"before": "146e867f55c26428e5f9fade55a9bbf5e95a7912",
"after": "d6fde92930d4715a2b49857d24b940956b26d2d3",
"pull_requests": [
],
"app": {
"id": 2,
"node_id": "MDExOkludGVncmF0aW9uMQ==",
"owner": {
"login": "github",
"id": 340,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"avatar_url": "http://alambic.github.com/avatars/u/340?",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "http://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"name": "Super Duper",
"description": null,
"external_url": "http://super-duper.example.com",
"html_url": "http://github.com/apps/super-duper",
"created_at": "2018-04-25 20:42:10",
"updated_at": "2018-04-25 20:42:10"
},
"created_at": "2018-05-04T01:14:52Z",
"updated_at": "2018-05-04T01:14:52Z"
},
"app": {
"id": 2,
"node_id": "MDExOkludGVncmF0aW9uMQ==",
"owner": {
"login": "github",
"id": 340,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"avatar_url": "http://alambic.github.com/avatars/u/340?",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "http://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"name": "Super Duper",
"description": null,
"external_url": "http://super-duper.example.com",
"html_url": "http://github.com/apps/super-duper",
"created_at": "2018-04-25 20:42:10",
"updated_at": "2018-04-25 20:42:10"
},
"pull_requests": [
]
},
"repository": {
"id": 526,
"node_id": "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=",
"name": "hello-world",
"full_name": "github/hello-world",
"owner": {
"login": "github",
"id": 340,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "http://alambic.github.com/avatars/u/340?",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "http://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"private": false,
"html_url": "http://github.com/github/hello-world",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/github/hello-world",
"forks_url": "https://api.github.com/repos/github/hello-world/forks",
"keys_url": "https://api.github.com/repos/github/hello-world/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/github/hello-world/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/github/hello-world/teams",
"hooks_url": "https://api.github.com/repos/github/hello-world/hooks",
"issue_events_url": "https://api.github.com/repos/github/hello-world/issues/events{/number}",
"events_url": "https://api.github.com/repos/github/hello-world/events",
"assignees_url": "https://api.github.com/repos/github/hello-world/assignees{/user}",
"branches_url": "https://api.github.com/repos/github/hello-world/branches{/branch}",
"tags_url": "https://api.github.com/repos/github/hello-world/tags",
"blobs_url": "https://api.github.com/repos/github/hello-world/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/github/hello-world/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/github/hello-world/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/github/hello-world/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/github/hello-world/statuses/{sha}",
"languages_url": "https://api.github.com/repos/github/hello-world/languages",
"stargazers_url": "https://api.github.com/repos/github/hello-world/stargazers",
"contributors_url": "https://api.github.com/repos/github/hello-world/contributors",
"subscribers_url": "https://api.github.com/repos/github/hello-world/subscribers",
"subscription_url": "https://api.github.com/repos/github/hello-world/subscription",
"commits_url": "https://api.github.com/repos/github/hello-world/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/github/hello-world/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/github/hello-world/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/github/hello-world/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/github/hello-world/contents/{+path}",
"compare_url": "https://api.github.com/repos/github/hello-world/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/github/hello-world/merges",
"archive_url": "https://api.github.com/repos/github/hello-world/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/github/hello-world/downloads",
"issues_url": "https://api.github.com/repos/github/hello-world/issues{/number}",
"pulls_url": "https://api.github.com/repos/github/hello-world/pulls{/number}",
"milestones_url": "https://api.github.com/repos/github/hello-world/milestones{/number}",
"notifications_url": "https://api.github.com/repos/github/hello-world/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/github/hello-world/labels{/name}",
"releases_url": "https://api.github.com/repos/github/hello-world/releases{/id}",
"deployments_url": "https://api.github.com/repos/github/hello-world/deployments",
"created_at": "2018-04-25T20:42:10Z",
"updated_at": "2018-04-25T20:43:34Z",
"pushed_at": "2018-05-04T01:14:47Z",
"git_url": "git://github.com/github/hello-world.git",
"ssh_url": "ssh://git@localhost:3035/github/hello-world.git",
"clone_url": "http://github.com/github/hello-world.git",
"svn_url": "http://github.com/github/hello-world",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"open_issues_count": 3,
"license": null,
"forks": 0,
"open_issues": 3,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "github",
"id": 340,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4MzAyODk5",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "http://alambic.github.com/avatars/u/340?",
"description": "How people build software."
},
"sender": {
"login": "octocat",
"id": 5346,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "http://alambic.github.com/avatars/u/5346?",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "http://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 1
}
}
+194
View File
@@ -0,0 +1,194 @@
{
"action": "requested",
"check_suite": {
"id": 5,
"head_branch": "master",
"head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3",
"status": "completed",
"conclusion": "neutral",
"url": "https://api.github.com/repos/github/hello-world/check-suites/5",
"before": "146e867f55c26428e5f9fade55a9bbf5e95a7912",
"after": "d6fde92930d4715a2b49857d24b940956b26d2d3",
"pull_requests": [
],
"app": {
"id": 2,
"node_id": "MDExOkludGVncmF0aW9uMQ==",
"owner": {
"login": "github",
"id": 340,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"avatar_url": "http://alambic.github.com/avatars/u/340?",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "http://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"name": "Super Duper",
"description": null,
"external_url": "http://super-duper.example.com",
"html_url": "http://github.com/apps/super-duper",
"created_at": "2018-04-25 20:42:10",
"updated_at": "2018-04-25 20:42:10"
},
"created_at": "2018-05-04T01:14:52Z",
"updated_at": "2018-05-04T01:14:52Z",
"latest_check_runs_count": 1,
"check_runs_url": "https://api.github.com/repos/github/hello-world/check-suites/5/check-runs",
"head_commit": {
"id": "d6fde92930d4715a2b49857d24b940956b26d2d3",
"tree_id": "41a846c7d878d279f11355e23b348e1bb63b89a8",
"message": "Say hello (again) to everybody",
"timestamp": "2018-05-04T01:14:46Z",
"author": {
"name": "octocat",
"email": "octocat@github.com"
},
"committer": {
"name": "octocat",
"email": "octocat@github.com"
}
}
},
"repository": {
"id": 526,
"node_id": "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=",
"name": "hello-world",
"full_name": "github/hello-world",
"owner": {
"login": "github",
"id": 340,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "http://alambic.github.com/avatars/u/340?",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "http://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"private": false,
"html_url": "http://github.com/github/hello-world",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/github/hello-world",
"forks_url": "https://api.github.com/repos/github/hello-world/forks",
"keys_url": "https://api.github.com/repos/github/hello-world/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/github/hello-world/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/github/hello-world/teams",
"hooks_url": "https://api.github.com/repos/github/hello-world/hooks",
"issue_events_url": "https://api.github.com/repos/github/hello-world/issues/events{/number}",
"events_url": "https://api.github.com/repos/github/hello-world/events",
"assignees_url": "https://api.github.com/repos/github/hello-world/assignees{/user}",
"branches_url": "https://api.github.com/repos/github/hello-world/branches{/branch}",
"tags_url": "https://api.github.com/repos/github/hello-world/tags",
"blobs_url": "https://api.github.com/repos/github/hello-world/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/github/hello-world/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/github/hello-world/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/github/hello-world/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/github/hello-world/statuses/{sha}",
"languages_url": "https://api.github.com/repos/github/hello-world/languages",
"stargazers_url": "https://api.github.com/repos/github/hello-world/stargazers",
"contributors_url": "https://api.github.com/repos/github/hello-world/contributors",
"subscribers_url": "https://api.github.com/repos/github/hello-world/subscribers",
"subscription_url": "https://api.github.com/repos/github/hello-world/subscription",
"commits_url": "https://api.github.com/repos/github/hello-world/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/github/hello-world/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/github/hello-world/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/github/hello-world/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/github/hello-world/contents/{+path}",
"compare_url": "https://api.github.com/repos/github/hello-world/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/github/hello-world/merges",
"archive_url": "https://api.github.com/repos/github/hello-world/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/github/hello-world/downloads",
"issues_url": "https://api.github.com/repos/github/hello-world/issues{/number}",
"pulls_url": "https://api.github.com/repos/github/hello-world/pulls{/number}",
"milestones_url": "https://api.github.com/repos/github/hello-world/milestones{/number}",
"notifications_url": "https://api.github.com/repos/github/hello-world/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/github/hello-world/labels{/name}",
"releases_url": "https://api.github.com/repos/github/hello-world/releases{/id}",
"deployments_url": "https://api.github.com/repos/github/hello-world/deployments",
"created_at": "2018-04-25T20:42:10Z",
"updated_at": "2018-04-25T20:43:34Z",
"pushed_at": "2018-05-04T01:14:47Z",
"git_url": "git://github.com/github/hello-world.git",
"ssh_url": "ssh://git@localhost:3035/github/hello-world.git",
"clone_url": "http://github.com/github/hello-world.git",
"svn_url": "http://github.com/github/hello-world",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"open_issues_count": 3,
"license": null,
"forks": 0,
"open_issues": 3,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "github",
"id": 340,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4MzAyODk5",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "http://alambic.github.com/avatars/u/340?",
"description": "How people build software."
},
"sender": {
"login": "octocat",
"id": 5346,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "http://alambic.github.com/avatars/u/5346?",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "http://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 1
}
}
+140
View File
@@ -0,0 +1,140 @@
{
"action": "created",
"comment": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/comments/11056394",
"html_url": "https://github.com/baxterthehacker/public-repo/commit/9049f1265b7d61be4a8904a9a27120d2064dab3b#commitcomment-11056394",
"id": 11056394,
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"position": null,
"line": null,
"path": null,
"commit_id": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
"created_at": "2015-05-05T23:40:29Z",
"updated_at": "2015-05-05T23:40:29Z",
"body": "This is a really good change! :+1:"
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+113
View File
@@ -0,0 +1,113 @@
{
"ref": "0.0.1",
"ref_type": "tag",
"master_branch": "master",
"description": "",
"pusher_type": "user",
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:30Z",
"pushed_at": "2015-05-05T23:40:38Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+111
View File
@@ -0,0 +1,111 @@
{
"ref": "simple-tag",
"ref_type": "tag",
"pusher_type": "user",
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:30Z",
"pushed_at": "2015-05-05T23:40:40Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+125
View File
@@ -0,0 +1,125 @@
{
"action": "created",
"key": {
"id": 100,
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQConScVc7ouWWgwcjneNnJ4PScDkkwEjuDL5leLIUU5aIg13dH55/f4aqKUSvfcLUOKJ0a8073tFqMbR9rfvLAhLGeStKxmYApJXpzVkphauu7kfNW8kQNi1fI4kmHyOpQ+dKtoonzjZAT4L9AV3FlVTOfRq3U8wJ2RPwU+4EtOpMKUF+wcoDJ5ONlKBOW6uAeBt/guBiu6r3awDClDGRo4Q2YCmMceiAyoiuXcr2mFNSyzTqU1f20fftFwucV/VqnxlJjZvZ/zhlfB+v+UgQN11pJJ5vChZ7bzyRtIRRsjxbTReyWxqVZ5hEle5sm1oAR97abW9zTWfwIABgClKo+z",
"url": "https://api.github.com/repos/Codertocat/Hello-World/keys/100",
"title": "hey-its-a-deploy-key",
"verified": true,
"created_at": "2019-04-02T17:37:07Z",
"read_only": true
},
"repository": {
"id": 135493233,
"node_id": "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=",
"name": "Hello-World",
"full_name": "Codertocat/Hello-World",
"owner": {
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/Codertocat/Hello-World",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/Codertocat/Hello-World",
"forks_url": "https://api.github.com/repos/Codertocat/Hello-World/forks",
"keys_url": "https://api.github.com/repos/Codertocat/Hello-World/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/Codertocat/Hello-World/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/Codertocat/Hello-World/teams",
"hooks_url": "https://api.github.com/repos/Codertocat/Hello-World/hooks",
"issue_events_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/events{/number}",
"events_url": "https://api.github.com/repos/Codertocat/Hello-World/events",
"assignees_url": "https://api.github.com/repos/Codertocat/Hello-World/assignees{/user}",
"branches_url": "https://api.github.com/repos/Codertocat/Hello-World/branches{/branch}",
"tags_url": "https://api.github.com/repos/Codertocat/Hello-World/tags",
"blobs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/Codertocat/Hello-World/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/Codertocat/Hello-World/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/{sha}",
"languages_url": "https://api.github.com/repos/Codertocat/Hello-World/languages",
"stargazers_url": "https://api.github.com/repos/Codertocat/Hello-World/stargazers",
"contributors_url": "https://api.github.com/repos/Codertocat/Hello-World/contributors",
"subscribers_url": "https://api.github.com/repos/Codertocat/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/Codertocat/Hello-World/subscription",
"commits_url": "https://api.github.com/repos/Codertocat/Hello-World/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/Codertocat/Hello-World/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/Codertocat/Hello-World/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/Codertocat/Hello-World/contents/{+path}",
"compare_url": "https://api.github.com/repos/Codertocat/Hello-World/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/Codertocat/Hello-World/merges",
"archive_url": "https://api.github.com/repos/Codertocat/Hello-World/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/Codertocat/Hello-World/downloads",
"issues_url": "https://api.github.com/repos/Codertocat/Hello-World/issues{/number}",
"pulls_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls{/number}",
"milestones_url": "https://api.github.com/repos/Codertocat/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/Codertocat/Hello-World/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/Codertocat/Hello-World/labels{/name}",
"releases_url": "https://api.github.com/repos/Codertocat/Hello-World/releases{/id}",
"deployments_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments",
"created_at": "2018-05-30T20:18:04Z",
"updated_at": "2018-05-30T20:18:50Z",
"pushed_at": "2018-05-30T20:18:48Z",
"git_url": "git://github.com/Codertocat/Hello-World.git",
"ssh_url": "git@github.com:Codertocat/Hello-World.git",
"clone_url": "https://github.com/Codertocat/Hello-World.git",
"svn_url": "https://github.com/Codertocat/Hello-World",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"open_issues_count": 1,
"license": null,
"forks": 0,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "Codertocat",
"id": 21031067,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/Codertocat",
"html_url": "https://github.com/Codertocat",
"followers_url": "https://api.github.com/users/Codertocat/followers",
"following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
"gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
"organizations_url": "https://api.github.com/users/Codertocat/orgs",
"repos_url": "https://api.github.com/users/Codertocat/repos",
"events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/Codertocat/received_events",
"type": "User",
"site_admin": false
}
}
+172
View File
@@ -0,0 +1,172 @@
{
"deployment_status": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/deployments/710692/statuses/1115122",
"id": 1115122,
"state": "success",
"creator": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"description": null,
"target_url": null,
"created_at": "2015-05-05T23:40:39Z",
"updated_at": "2015-05-05T23:40:39Z",
"deployment_url": "https://api.github.com/repos/baxterthehacker/public-repo/deployments/710692",
"repository_url": "https://api.github.com/repos/baxterthehacker/public-repo"
},
"deployment": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/deployments/710692",
"id": 710692,
"sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
"ref": "master",
"task": "deploy",
"payload": {
},
"environment": "production",
"description": null,
"creator": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2015-05-05T23:40:38Z",
"updated_at": "2015-05-05T23:40:38Z",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/deployments/710692/statuses",
"repository_url": "https://api.github.com/repos/baxterthehacker/public-repo"
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:30Z",
"pushed_at": "2015-05-05T23:40:38Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+142
View File
@@ -0,0 +1,142 @@
{
"deployment": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/deployments/710692",
"id": 710692,
"sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
"ref": "master",
"task": "deploy",
"payload": {
},
"environment": "production",
"description": null,
"creator": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2015-05-05T23:40:38Z",
"updated_at": "2015-05-05T23:40:38Z",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/deployments/710692/statuses",
"repository_url": "https://api.github.com/repos/baxterthehacker/public-repo"
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:30Z",
"pushed_at": "2015-05-05T23:40:38Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+196
View File
@@ -0,0 +1,196 @@
{
"forkee": {
"id": 35129393,
"name": "public-repo",
"full_name": "baxterandthehackers/public-repo",
"owner": {
"login": "baxterandthehackers",
"id": 7649605,
"avatar_url": "https://avatars.githubusercontent.com/u/7649605?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterandthehackers",
"html_url": "https://github.com/baxterandthehackers",
"followers_url": "https://api.github.com/users/baxterandthehackers/followers",
"following_url": "https://api.github.com/users/baxterandthehackers/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterandthehackers/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterandthehackers/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterandthehackers/subscriptions",
"organizations_url": "https://api.github.com/users/baxterandthehackers/orgs",
"repos_url": "https://api.github.com/users/baxterandthehackers/repos",
"events_url": "https://api.github.com/users/baxterandthehackers/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterandthehackers/received_events",
"type": "Organization",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterandthehackers/public-repo",
"description": "",
"fork": true,
"url": "https://api.github.com/repos/baxterandthehackers/public-repo",
"forks_url": "https://api.github.com/repos/baxterandthehackers/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterandthehackers/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterandthehackers/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterandthehackers/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterandthehackers/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterandthehackers/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterandthehackers/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterandthehackers/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterandthehackers/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterandthehackers/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterandthehackers/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterandthehackers/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterandthehackers/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterandthehackers/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterandthehackers/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterandthehackers/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterandthehackers/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterandthehackers/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterandthehackers/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterandthehackers/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterandthehackers/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterandthehackers/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterandthehackers/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterandthehackers/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterandthehackers/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterandthehackers/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterandthehackers/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterandthehackers/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterandthehackers/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterandthehackers/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterandthehackers/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterandthehackers/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterandthehackers/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterandthehackers/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterandthehackers/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:30Z",
"updated_at": "2015-05-05T23:40:30Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterandthehackers/public-repo.git",
"ssh_url": "git@github.com:baxterandthehackers/public-repo.git",
"clone_url": "https://github.com/baxterandthehackers/public-repo.git",
"svn_url": "https://github.com/baxterandthehackers/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": false,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 0,
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master",
"public": true
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:30Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 1,
"mirror_url": null,
"open_issues_count": 2,
"forks": 1,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterandthehackers",
"id": 7649605,
"avatar_url": "https://avatars.githubusercontent.com/u/7649605?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterandthehackers",
"html_url": "https://github.com/baxterandthehackers",
"followers_url": "https://api.github.com/users/baxterandthehackers/followers",
"following_url": "https://api.github.com/users/baxterandthehackers/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterandthehackers/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterandthehackers/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterandthehackers/subscriptions",
"organizations_url": "https://api.github.com/users/baxterandthehackers/orgs",
"repos_url": "https://api.github.com/users/baxterandthehackers/repos",
"events_url": "https://api.github.com/users/baxterandthehackers/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterandthehackers/received_events",
"type": "Organization",
"site_admin": false
}
}
+118
View File
@@ -0,0 +1,118 @@
{
"pages": [
{
"page_name": "Home",
"title": "Home",
"summary": null,
"action": "created",
"sha": "91ea1bd42aa2ba166b86e8aefe049e9837214e67",
"html_url": "https://github.com/baxterthehacker/public-repo/wiki/Home"
}
],
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:17Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 0,
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "jasonrudolph",
"id": 2988,
"avatar_url": "https://avatars.githubusercontent.com/u/2988?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/jasonrudolph",
"html_url": "https://github.com/jasonrudolph",
"followers_url": "https://api.github.com/users/jasonrudolph/followers",
"following_url": "https://api.github.com/users/jasonrudolph/following{/other_user}",
"gists_url": "https://api.github.com/users/jasonrudolph/gists{/gist_id}",
"starred_url": "https://api.github.com/users/jasonrudolph/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/jasonrudolph/subscriptions",
"organizations_url": "https://api.github.com/users/jasonrudolph/orgs",
"repos_url": "https://api.github.com/users/jasonrudolph/repos",
"events_url": "https://api.github.com/users/jasonrudolph/events{/privacy}",
"received_events_url": "https://api.github.com/users/jasonrudolph/received_events",
"type": "User",
"site_admin": true
}
}
+77
View File
@@ -0,0 +1,77 @@
{
"action": "removed",
"installation": {
"id": 2,
"account": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"repository_selection": "selected",
"access_tokens_url": "https://api.github.com/installations/2/access_tokens",
"repositories_url": "https://api.github.com/installation/repositories",
"html_url": "https://github.com/settings/installations/2",
"app_id": 5725,
"target_id": 3880403,
"target_type": "User",
"permissions": {
"metadata": "read",
"contents": "read",
"issues": "write"
},
"events": [
"push",
"pull_request"
],
"created_at": "2022-03-02T18:02:51.000Z",
"updated_at": "2022-03-02T18:02:51.000Z",
"single_file_name": "config.yml"
},
"repository_selection": "selected",
"repositories_added": [
],
"repositories_removed": [
{
"id": 1296269,
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"private": false
}
],
"sender": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
}
}
+73
View File
@@ -0,0 +1,73 @@
{
"action": "deleted",
"installation": {
"id": 2,
"account": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"repository_selection": "selected",
"access_tokens_url": "https://api.github.com/installations/2/access_tokens",
"repositories_url": "https://api.github.com/installation/repositories",
"html_url": "https://github.com/settings/installations/2",
"app_id": 5725,
"target_id": 3880403,
"target_type": "User",
"permissions": {
"metadata": "read",
"contents": "read",
"issues": "write"
},
"events": [
"push",
"pull_request"
],
"created_at": "2022-03-02T18:02:51.000Z",
"updated_at": "2022-03-02T18:02:51.000Z",
"single_file_name": "config.yml"
},
"repositories": [
{
"id": 1296269,
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"private": false
}
],
"sender": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
}
}
@@ -0,0 +1,75 @@
{
"action": "removed",
"installation": {
"id": 2,
"account": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"repository_selection": "selected",
"access_tokens_url": "https://api.github.com/installations/2/access_tokens",
"repositories_url": "https://api.github.com/installation/repositories",
"html_url": "https://github.com/settings/installations/2",
"app_id": 5725,
"target_id": 3880403,
"target_type": "User",
"permissions": {
"metadata": "read",
"contents": "read",
"issues": "write"
},
"events": [
"push",
"pull_request"
],
"created_at": "2022-03-02T18:02:51.000Z",
"updated_at": "2022-03-02T18:02:51.000Z",
"single_file_name": "config.yml"
},
"repository_selection": "selected",
"repositories_added": [],
"repositories_removed": [
{
"id": 1296269,
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"private": false
}
],
"sender": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
}
}
+70
View File
@@ -0,0 +1,70 @@
{
"action": "created",
"installation": {
"id": 80429,
"account": {
"login": "PombeirP",
"id": 138074,
"avatar_url": "https://avatars1.githubusercontent.com/u/138074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/PombeirP",
"html_url": "https://github.com/PombeirP",
"followers_url": "https://api.github.com/users/PombeirP/followers",
"following_url": "https://api.github.com/users/PombeirP/following{/other_user}",
"gists_url": "https://api.github.com/users/PombeirP/gists{/gist_id}",
"starred_url": "https://api.github.com/users/PombeirP/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/PombeirP/subscriptions",
"organizations_url": "https://api.github.com/users/PombeirP/orgs",
"repos_url": "https://api.github.com/users/PombeirP/repos",
"events_url": "https://api.github.com/users/PombeirP/events{/privacy}",
"received_events_url": "https://api.github.com/users/PombeirP/received_events",
"type": "User",
"site_admin": false
},
"repository_selection": "selected",
"access_tokens_url": "https://api.github.com/installations/80429/access_tokens",
"repositories_url": "https://api.github.com/installation/repositories",
"html_url": "https://github.com/settings/installations/80429",
"app_id": 8157,
"target_id": 138074,
"target_type": "User",
"permissions": {
"repository_projects": "write",
"issues": "read",
"metadata": "read",
"pull_requests": "read"
},
"events": [
"pull_request"
],
"created_at": "2022-03-02T18:02:51.000Z",
"updated_at": "2022-03-02T18:02:51.000Z",
"single_file_name": null
},
"repositories": [
{
"id": 117381220,
"name": "status-github-bot",
"full_name": "PombeirP/status-github-bot"
}
],
"sender": {
"login": "PombeirP",
"id": 138074,
"avatar_url": "https://avatars1.githubusercontent.com/u/138074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/PombeirP",
"html_url": "https://github.com/PombeirP",
"followers_url": "https://api.github.com/users/PombeirP/followers",
"following_url": "https://api.github.com/users/PombeirP/following{/other_user}",
"gists_url": "https://api.github.com/users/PombeirP/gists{/gist_id}",
"starred_url": "https://api.github.com/users/PombeirP/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/PombeirP/subscriptions",
"organizations_url": "https://api.github.com/users/PombeirP/orgs",
"repos_url": "https://api.github.com/users/PombeirP/repos",
"events_url": "https://api.github.com/users/PombeirP/events{/privacy}",
"received_events_url": "https://api.github.com/users/PombeirP/received_events",
"type": "User",
"site_admin": false
}
}
+182
View File
@@ -0,0 +1,182 @@
{
"action": "created",
"issue": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2/labels{/name}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2/comments",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2/events",
"html_url": "https://github.com/baxterthehacker/public-repo/issues/2",
"id": 73464126,
"number": 2,
"title": "Spelling error in the README file",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"labels": [
{
"url": "https://api.github.com/repos/baxterthehacker/public-repo/labels/bug",
"name": "bug",
"color": "fc2929"
}
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 1,
"created_at": "2015-05-05T23:40:28Z",
"updated_at": "2015-05-05T23:40:28Z",
"closed_at": null,
"body": "It looks like you accidently spelled 'commit' with two 't's."
},
"comment": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments/99262140",
"html_url": "https://github.com/baxterthehacker/public-repo/issues/2#issuecomment-99262140",
"issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2",
"id": 99262140,
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2015-05-05T23:40:28Z",
"updated_at": "2015-05-05T23:40:28Z",
"body": "You are totally right! I'll get this fixed right away."
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+156
View File
@@ -0,0 +1,156 @@
{
"action": "opened",
"issue": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2/labels{/name}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2/comments",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2/events",
"html_url": "https://github.com/baxterthehacker/public-repo/issues/2",
"id": 73464126,
"number": 2,
"title": "Spelling error in the README file",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"labels": [
{
"id": 208045946,
"url": "https://api.github.com/repos/baxterthehacker/public-repo/labels/bug",
"name": "bug",
"color": "fc2929",
"default": true
}
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 0,
"created_at": "2015-05-05T23:40:28Z",
"updated_at": "2015-05-05T23:40:28Z",
"closed_at": null,
"body": "It looks like you accidently spelled 'commit' with two 't's."
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+128
View File
@@ -0,0 +1,128 @@
{
"action":"created",
"label":{
"url":"https://api.github.com/repos/baxterandthehackers/public-repo/labels/blocked",
"name":"blocked",
"color":"ff0000"
},
"repository":{
"id":67075329,
"name":"public-repo",
"full_name":"baxterandthehackers/public-repo",
"owner":{
"login":"baxterandthehackers",
"id":4312013,
"avatar_url":"https://avatars.githubusercontent.com/u/4312013?v=3",
"gravatar_id":"",
"url":"https://api.github.com/users/baxterandthehackers",
"html_url":"https://github.com/baxterandthehackers",
"followers_url":"https://api.github.com/users/baxterandthehackers/followers",
"following_url":"https://api.github.com/users/baxterandthehackers/following{/other_user}",
"gists_url":"https://api.github.com/users/baxterandthehackers/gists{/gist_id}",
"starred_url":"https://api.github.com/users/baxterandthehackers/starred{/owner}{/repo}",
"subscriptions_url":"https://api.github.com/users/baxterandthehackers/subscriptions",
"organizations_url":"https://api.github.com/users/baxterandthehackers/orgs",
"repos_url":"https://api.github.com/users/baxterandthehackers/repos",
"events_url":"https://api.github.com/users/baxterandthehackers/events{/privacy}",
"received_events_url":"https://api.github.com/users/baxterandthehackers/received_events",
"type":"Organization",
"site_admin":false
},
"private":true,
"html_url":"https://github.com/baxterandthehackers/public-repo",
"description":null,
"fork":false,
"url":"https://api.github.com/repos/baxterandthehackers/public-repo",
"forks_url":"https://api.github.com/repos/baxterandthehackers/public-repo/forks",
"keys_url":"https://api.github.com/repos/baxterandthehackers/public-repo/keys{/key_id}",
"collaborators_url":"https://api.github.com/repos/baxterandthehackers/public-repo/collaborators{/collaborator}",
"teams_url":"https://api.github.com/repos/baxterandthehackers/public-repo/teams",
"hooks_url":"https://api.github.com/repos/baxterandthehackers/public-repo/hooks",
"issue_events_url":"https://api.github.com/repos/baxterandthehackers/public-repo/issues/events{/number}",
"events_url":"https://api.github.com/repos/baxterandthehackers/public-repo/events",
"assignees_url":"https://api.github.com/repos/baxterandthehackers/public-repo/assignees{/user}",
"branches_url":"https://api.github.com/repos/baxterandthehackers/public-repo/branches{/branch}",
"tags_url":"https://api.github.com/repos/baxterandthehackers/public-repo/tags",
"blobs_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/blobs{/sha}",
"git_tags_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/tags{/sha}",
"git_refs_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/refs{/sha}",
"trees_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/trees{/sha}",
"statuses_url":"https://api.github.com/repos/baxterandthehackers/public-repo/statuses/{sha}",
"languages_url":"https://api.github.com/repos/baxterandthehackers/public-repo/languages",
"stargazers_url":"https://api.github.com/repos/baxterandthehackers/public-repo/stargazers",
"contributors_url":"https://api.github.com/repos/baxterandthehackers/public-repo/contributors",
"subscribers_url":"https://api.github.com/repos/baxterandthehackers/public-repo/subscribers",
"subscription_url":"https://api.github.com/repos/baxterandthehackers/public-repo/subscription",
"commits_url":"https://api.github.com/repos/baxterandthehackers/public-repo/commits{/sha}",
"git_commits_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/commits{/sha}",
"comments_url":"https://api.github.com/repos/baxterandthehackers/public-repo/comments{/number}",
"issue_comment_url":"https://api.github.com/repos/baxterandthehackers/public-repo/issues/comments{/number}",
"contents_url":"https://api.github.com/repos/baxterandthehackers/public-repo/contents/{+path}",
"compare_url":"https://api.github.com/repos/baxterandthehackers/public-repo/compare/{base}...{head}",
"merges_url":"https://api.github.com/repos/baxterandthehackers/public-repo/merges",
"archive_url":"https://api.github.com/repos/baxterandthehackers/public-repo/{archive_format}{/ref}",
"downloads_url":"https://api.github.com/repos/baxterandthehackers/public-repo/downloads",
"issues_url":"https://api.github.com/repos/baxterandthehackers/public-repo/issues{/number}",
"pulls_url":"https://api.github.com/repos/baxterandthehackers/public-repo/pulls{/number}",
"milestones_url":"https://api.github.com/repos/baxterandthehackers/public-repo/milestones{/number}",
"notifications_url":"https://api.github.com/repos/baxterandthehackers/public-repo/notifications{?since,all,participating}",
"labels_url":"https://api.github.com/repos/baxterandthehackers/public-repo/labels{/name}",
"releases_url":"https://api.github.com/repos/baxterandthehackers/public-repo/releases{/id}",
"deployments_url":"https://api.github.com/repos/baxterandthehackers/public-repo/deployments",
"created_at":"2016-08-31T21:38:51Z",
"updated_at":"2016-08-31T21:38:51Z",
"pushed_at":"2016-08-31T21:38:51Z",
"git_url":"git://github.com/baxterandthehackers/public-repo.git",
"ssh_url":"git@github.com:baxterandthehackers/public-repo.git",
"clone_url":"https://github.com/baxterandthehackers/public-repo.git",
"svn_url":"https://github.com/baxterandthehackers/public-repo",
"homepage":null,
"size":0,
"stargazers_count":0,
"watchers_count":0,
"language":null,
"has_issues":true,
"has_downloads":true,
"has_wiki":true,
"has_pages":false,
"forks_count":0,
"mirror_url":null,
"open_issues_count":2,
"forks":0,
"open_issues":2,
"watchers":0,
"default_branch":"master"
},
"organization":{
"login":"baxterandthehackers",
"id":4312013,
"url":"https://api.github.com/orgs/baxterandthehackers",
"repos_url":"https://api.github.com/orgs/baxterandthehackers/repos",
"events_url":"https://api.github.com/orgs/baxterandthehackers/events",
"hooks_url":"https://api.github.com/orgs/baxterandthehackers/hooks",
"issues_url":"https://api.github.com/orgs/baxterandthehackers/issues",
"members_url":"https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url":"https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url":"https://avatars.githubusercontent.com/u/4312013?v=3",
"description":""
},
"sender":{
"login":"baxterthehacker",
"id":7649605,
"avatar_url":"https://avatars.githubusercontent.com/u/7649605?v=3",
"gravatar_id":"",
"url":"https://api.github.com/users/baxterthehacker",
"html_url":"https://github.com/baxterthehacker",
"followers_url":"https://api.github.com/users/baxterthehacker/followers",
"following_url":"https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url":"https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url":"https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url":"https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url":"https://api.github.com/users/baxterthehacker/orgs",
"repos_url":"https://api.github.com/users/baxterthehacker/repos",
"events_url":"https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url":"https://api.github.com/users/baxterthehacker/received_events",
"type":"User",
"site_admin":true
}
}
+128
View File
@@ -0,0 +1,128 @@
{
"action": "added",
"member": {
"login": "octocat",
"id": 583231,
"avatar_url": "https://avatars.githubusercontent.com/u/583231?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:30Z",
"pushed_at": "2015-05-05T23:40:40Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+61
View File
@@ -0,0 +1,61 @@
{
"action": "added",
"scope": "team",
"member": {
"login": "kdaigle",
"id": 2501,
"avatar_url": "https://avatars.githubusercontent.com/u/2501?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/kdaigle",
"html_url": "https://github.com/kdaigle",
"followers_url": "https://api.github.com/users/kdaigle/followers",
"following_url": "https://api.github.com/users/kdaigle/following{/other_user}",
"gists_url": "https://api.github.com/users/kdaigle/gists{/gist_id}",
"starred_url": "https://api.github.com/users/kdaigle/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/kdaigle/subscriptions",
"organizations_url": "https://api.github.com/users/kdaigle/orgs",
"repos_url": "https://api.github.com/users/kdaigle/repos",
"events_url": "https://api.github.com/users/kdaigle/events{/privacy}",
"received_events_url": "https://api.github.com/users/kdaigle/received_events",
"type": "User",
"site_admin": true
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=2",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"team": {
"name": "Contractors",
"id": 123456,
"slug": "contractors",
"permission": "admin",
"url": "https://api.github.com/teams/123456",
"members_url": "https://api.github.com/teams/123456/members{/member}",
"repositories_url": "https://api.github.com/teams/123456/repos"
},
"organization": {
"login": "baxterandthehackers",
"id": 7649605,
"url": "https://api.github.com/orgs/baxterandthehackers",
"repos_url": "https://api.github.com/orgs/baxterandthehackers/repos",
"events_url": "https://api.github.com/orgs/baxterandthehackers/events",
"members_url": "https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url": "https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/7649605?v=2"
}
}
+158
View File
@@ -0,0 +1,158 @@
{
"action":"created",
"milestone":{
"url":"https://api.github.com/repos/baxterandthehackers/public-repo/milestones/3",
"html_url":"https://github.com/baxterandthehackers/public-repo/milestones/Test%20milestone%20creation%20webhook%20from%20command%20line2",
"labels_url":"https://api.github.com/repos/baxterandthehackers/public-repo/milestones/3/labels",
"id":2055681,
"number":3,
"title":"I am a milestone",
"description":null,
"creator":{
"login":"baxterthehacker",
"id":7649605,
"avatar_url":"https://avatars.githubusercontent.com/u/7649605?v=3",
"gravatar_id":"",
"url":"https://api.github.com/users/baxterthehacker",
"html_url":"https://github.com/baxterthehacker",
"followers_url":"https://api.github.com/users/baxterthehacker/followers",
"following_url":"https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url":"https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url":"https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url":"https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url":"https://api.github.com/users/baxterthehacker/orgs",
"repos_url":"https://api.github.com/users/baxterthehacker/repos",
"events_url":"https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url":"https://api.github.com/users/baxterthehacker/received_events",
"type":"User",
"site_admin":true
},
"open_issues":0,
"closed_issues":0,
"state":"open",
"created_at":"2016-10-07T19:26:08Z",
"updated_at":"2016-10-07T19:26:08Z",
"due_on":null,
"closed_at":null
},
"repository":{
"id":70275481,
"name":"public-repo",
"full_name":"baxterandthehackers/public-repo",
"owner":{
"login":"baxterandthehackers",
"id":4312013,
"avatar_url":"https://avatars.githubusercontent.com/u/4312013?v=3",
"gravatar_id":"",
"url":"https://api.github.com/users/baxterandthehackers",
"html_url":"https://github.com/baxterandthehackers",
"followers_url":"https://api.github.com/users/baxterandthehackers/followers",
"following_url":"https://api.github.com/users/baxterandthehackers/following{/other_user}",
"gists_url":"https://api.github.com/users/baxterandthehackers/gists{/gist_id}",
"starred_url":"https://api.github.com/users/baxterandthehackers/starred{/owner}{/repo}",
"subscriptions_url":"https://api.github.com/users/baxterandthehackers/subscriptions",
"organizations_url":"https://api.github.com/users/baxterandthehackers/orgs",
"repos_url":"https://api.github.com/users/baxterandthehackers/repos",
"events_url":"https://api.github.com/users/baxterandthehackers/events{/privacy}",
"received_events_url":"https://api.github.com/users/baxterandthehackers/received_events",
"type":"Organization",
"site_admin":false
},
"private":true,
"html_url":"https://github.com/baxterandthehackers/public-repo",
"description":null,
"fork":false,
"url":"https://api.github.com/repos/baxterandthehackers/public-repo",
"forks_url":"https://api.github.com/repos/baxterandthehackers/public-repo/forks",
"keys_url":"https://api.github.com/repos/baxterandthehackers/public-repo/keys{/key_id}",
"collaborators_url":"https://api.github.com/repos/baxterandthehackers/public-repo/collaborators{/collaborator}",
"teams_url":"https://api.github.com/repos/baxterandthehackers/public-repo/teams",
"hooks_url":"https://api.github.com/repos/baxterandthehackers/public-repo/hooks",
"issue_events_url":"https://api.github.com/repos/baxterandthehackers/public-repo/issues/events{/number}",
"events_url":"https://api.github.com/repos/baxterandthehackers/public-repo/events",
"assignees_url":"https://api.github.com/repos/baxterandthehackers/public-repo/assignees{/user}",
"branches_url":"https://api.github.com/repos/baxterandthehackers/public-repo/branches{/branch}",
"tags_url":"https://api.github.com/repos/baxterandthehackers/public-repo/tags",
"blobs_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/blobs{/sha}",
"git_tags_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/tags{/sha}",
"git_refs_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/refs{/sha}",
"trees_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/trees{/sha}",
"statuses_url":"https://api.github.com/repos/baxterandthehackers/public-repo/statuses/{sha}",
"languages_url":"https://api.github.com/repos/baxterandthehackers/public-repo/languages",
"stargazers_url":"https://api.github.com/repos/baxterandthehackers/public-repo/stargazers",
"contributors_url":"https://api.github.com/repos/baxterandthehackers/public-repo/contributors",
"subscribers_url":"https://api.github.com/repos/baxterandthehackers/public-repo/subscribers",
"subscription_url":"https://api.github.com/repos/baxterandthehackers/public-repo/subscription",
"commits_url":"https://api.github.com/repos/baxterandthehackers/public-repo/commits{/sha}",
"git_commits_url":"https://api.github.com/repos/baxterandthehackers/public-repo/git/commits{/sha}",
"comments_url":"https://api.github.com/repos/baxterandthehackers/public-repo/comments{/number}",
"issue_comment_url":"https://api.github.com/repos/baxterandthehackers/public-repo/issues/comments{/number}",
"contents_url":"https://api.github.com/repos/baxterandthehackers/public-repo/contents/{+path}",
"compare_url":"https://api.github.com/repos/baxterandthehackers/public-repo/compare/{base}...{head}",
"merges_url":"https://api.github.com/repos/baxterandthehackers/public-repo/merges",
"archive_url":"https://api.github.com/repos/baxterandthehackers/public-repo/{archive_format}{/ref}",
"downloads_url":"https://api.github.com/repos/baxterandthehackers/public-repo/downloads",
"issues_url":"https://api.github.com/repos/baxterandthehackers/public-repo/issues{/number}",
"pulls_url":"https://api.github.com/repos/baxterandthehackers/public-repo/pulls{/number}",
"milestones_url":"https://api.github.com/repos/baxterandthehackers/public-repo/milestones{/number}",
"notifications_url":"https://api.github.com/repos/baxterandthehackers/public-repo/notifications{?since,all,participating}",
"labels_url":"https://api.github.com/repos/baxterandthehackers/public-repo/labels{/name}",
"releases_url":"https://api.github.com/repos/baxterandthehackers/public-repo/releases{/id}",
"deployments_url":"https://api.github.com/repos/baxterandthehackers/public-repo/deployments",
"created_at":"2016-10-07T19:10:12Z",
"updated_at":"2016-10-07T19:10:12Z",
"pushed_at":"2016-10-07T19:10:13Z",
"git_url":"git://github.com/baxterandthehackers/public-repo.git",
"ssh_url":"git@github.com:baxterandthehackers/public-repo.git",
"clone_url":"https://github.com/baxterandthehackers/public-repo.git",
"svn_url":"https://github.com/baxterandthehackers/public-repo",
"homepage":null,
"size":0,
"stargazers_count":0,
"watchers_count":0,
"language":null,
"has_issues":true,
"has_downloads":true,
"has_wiki":true,
"has_pages":false,
"forks_count":0,
"mirror_url":null,
"open_issues_count":0,
"forks":0,
"open_issues":0,
"watchers":0,
"default_branch":"master"
},
"organization":{
"login":"baxterandthehackers",
"id":4312013,
"url":"https://api.github.com/orgs/baxterandthehackers",
"repos_url":"https://api.github.com/orgs/baxterandthehackers/repos",
"events_url":"https://api.github.com/orgs/baxterandthehackers/events",
"hooks_url":"https://api.github.com/orgs/baxterandthehackers/hooks",
"issues_url":"https://api.github.com/orgs/baxterandthehackers/issues",
"members_url":"https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url":"https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url":"https://avatars.githubusercontent.com/u/4312013?v=3",
"description":""
},
"sender":{
"login":"baxterthehacker",
"id":7649605,
"avatar_url":"https://avatars.githubusercontent.com/u/7649605?v=3",
"gravatar_id":"",
"url":"https://api.github.com/users/baxterthehacker",
"html_url":"https://github.com/baxterthehacker",
"followers_url":"https://api.github.com/users/baxterthehacker/followers",
"following_url":"https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url":"https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url":"https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url":"https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url":"https://api.github.com/users/baxterthehacker/orgs",
"repos_url":"https://api.github.com/users/baxterthehacker/repos",
"events_url":"https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url":"https://api.github.com/users/baxterthehacker/received_events",
"type":"User",
"site_admin":true
}
}
+54
View File
@@ -0,0 +1,54 @@
{
"action": "blocked",
"blocked_user": {
"login": "octocat",
"id": 583231,
"avatar_url": "https://avatars.githubusercontent.com/u/583231?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"organization": {
"login": "github",
"id": 4366038,
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/4366038?v=3",
"description": ""
},
"sender": {
"login": "octodocs",
"id": 25781999,
"avatar_url": "https://avatars.githubusercontent.com/u/25781999?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/octodocs",
"html_url": "https://github.com/octodocs",
"followers_url": "https://api.github.com/users/octodocs/followers",
"following_url": "https://api.github.com/users/octodocs/following{/other_user}",
"gists_url": "https://api.github.com/users/octodocs/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octodocs/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octodocs/subscriptions",
"organizations_url": "https://api.github.com/users/octodocs/orgs",
"repos_url": "https://api.github.com/users/octodocs/repos",
"events_url": "https://api.github.com/users/octodocs/events{/privacy}",
"received_events_url": "https://api.github.com/users/octodocs/received_events",
"type": "User",
"site_admin": false
}
}
+66
View File
@@ -0,0 +1,66 @@
{
"action": "member_invited",
"invitation": {
"id": 3294302,
"login": "baxterthehacker",
"email": null,
"role": "direct_member"
},
"membership": {
"url": "https://api.github.com/orgs/baxterandthehackers/memberships/baxterthehacker",
"state": "active",
"role": "member",
"organization_url": "https://api.github.com/orgs/baxterandthehackers",
"user": {
"login": "baxterthehacker",
"id": 7649605,
"avatar_url": "https://avatars.githubusercontent.com/u/17085448?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
},
"organization": {
"login": "baxterandthehackers",
"id": 4312013,
"url": "https://api.github.com/orgs/baxterandthehackers",
"repos_url": "https://api.github.com/orgs/baxterandthehackers/repos",
"events_url": "https://api.github.com/orgs/baxterandthehackers/events",
"hooks_url": "https://api.github.com/orgs/baxterandthehackers/hooks",
"issues_url": "https://api.github.com/orgs/baxterandthehackers/issues",
"members_url": "https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url": "https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/4312013?v=3",
"description": ""
},
"sender":{
"login":"baxterthehacker",
"id":7649605,
"avatar_url":"https://avatars.githubusercontent.com/u/7649605?v=3",
"gravatar_id":"",
"url":"https://api.github.com/users/baxterthehacker",
"html_url":"https://github.com/baxterthehacker",
"followers_url":"https://api.github.com/users/baxterthehacker/followers",
"following_url":"https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url":"https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url":"https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url":"https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url":"https://api.github.com/users/baxterthehacker/orgs",
"repos_url":"https://api.github.com/users/baxterthehacker/repos",
"events_url":"https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url":"https://api.github.com/users/baxterthehacker/received_events",
"type":"User",
"site_admin":true
}
}
+139
View File
@@ -0,0 +1,139 @@
{
"id": 15995382,
"build": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/pages/builds/15995382",
"status": "built",
"error": {
"message": null
},
"pusher": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"commit": "053b99542c83021d6b202d1a1f5ecd5ef7084e55",
"duration": 3790,
"created_at": "2015-05-05T23:40:13Z",
"updated_at": "2015-05-05T23:40:17Z"
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:17Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 0,
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+22
View File
@@ -0,0 +1,22 @@
{
"zen": "Keep it logically awesome.",
"hook_id": 20081052,
"hook": {
"type": "App",
"id": 20081052,
"name": "web",
"active": true,
"events": [
"pull_request"
],
"config": {
"content_type": "json",
"insecure_ssl": "0",
"secret": "********",
"url": "https://ngrok.io/webhook"
},
"updated_at": "2018-01-15T10:48:54Z",
"created_at": "2018-01-15T10:48:54Z",
"app_id": 8157
}
}
+149
View File
@@ -0,0 +1,149 @@
{
"action": "created",
"project_card": {
"url": "https://api.github.com/projects/columns/cards/1266091",
"project_url": "https://api.github.com/projects/6047634",
"column_url": "https://api.github.com/projects/columns/515520",
"column_id": 515520,
"id": 1266091,
"note": null,
"creator": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=2",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"created_at": 1483569391,
"updated_at": 1483569391,
"content_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2"
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "baxterandthehackers",
"id": 7649605,
"url": "https://api.github.com/orgs/baxterandthehackers",
"repos_url": "https://api.github.com/orgs/baxterandthehackers/repos",
"events_url": "https://api.github.com/orgs/baxterandthehackers/events",
"members_url": "https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url": "https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/7649605?v=2"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=2",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+128
View File
@@ -0,0 +1,128 @@
{
"action": "created",
"project_column": {
"url": "https://api.github.com/projects/columns/515520",
"project_url": "https://api.github.com/projects/288065",
"cards_url": "https://api.github.com/projects/columns/515520/cards",
"id": 515520,
"name": "High Priority",
"created_at": 1483569138,
"updated_at": 1483569138
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "baxterandthehackers",
"id": 7649605,
"url": "https://api.github.com/orgs/baxterandthehackers",
"repos_url": "https://api.github.com/orgs/baxterandthehackers/repos",
"events_url": "https://api.github.com/orgs/baxterandthehackers/events",
"members_url": "https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url": "https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/7649605?v=2"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=2",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+150
View File
@@ -0,0 +1,150 @@
{
"action": "created",
"project": {
"owner_url": "https://api.github.com/repos/baxterthehacker/public-repo",
"url": "https://api.github.com/projects/288065",
"columns_url": "https://api.github.com/projects/288065/columns",
"id": 288065,
"name": "2017",
"body": "Roadmap for work to be done in 2017",
"number": 10,
"state": "open",
"creator": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=2",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"created_at": 1483567089,
"updated_at": 1483567089
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "baxterandthehackers",
"id": 7649605,
"url": "https://api.github.com/orgs/baxterandthehackers",
"repos_url": "https://api.github.com/orgs/baxterandthehackers/repos",
"events_url": "https://api.github.com/orgs/baxterandthehackers/events",
"members_url": "https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url": "https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/7649605?v=2"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=2",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+108
View File
@@ -0,0 +1,108 @@
{
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:41Z",
"pushed_at": "2015-05-05T23:40:40Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+208
View File
@@ -0,0 +1,208 @@
{
"action": "created",
"issue": {
"url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues/3",
"repository_url": "https://api.github.com/repos/chhsia0/knative-route-demo",
"labels_url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues/3/labels{/name}",
"comments_url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues/3/comments",
"events_url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues/3/events",
"html_url": "https://github.com/chhsia0/knative-route-demo/pull/3",
"id": 494965988,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzE4NjEwOTI3",
"number": 3,
"title": "Updated to v2.",
"user": {
"login": "chhsia0",
"id": 4643017,
"node_id": "MDQ6VXNlcjQ2NDMwMTc=",
"avatar_url": "https://avatars0.githubusercontent.com/u/4643017?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/chhsia0",
"html_url": "https://github.com/chhsia0",
"followers_url": "https://api.github.com/users/chhsia0/followers",
"following_url": "https://api.github.com/users/chhsia0/following{/other_user}",
"gists_url": "https://api.github.com/users/chhsia0/gists{/gist_id}",
"starred_url": "https://api.github.com/users/chhsia0/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/chhsia0/subscriptions",
"organizations_url": "https://api.github.com/users/chhsia0/orgs",
"repos_url": "https://api.github.com/users/chhsia0/repos",
"events_url": "https://api.github.com/users/chhsia0/events{/privacy}",
"received_events_url": "https://api.github.com/users/chhsia0/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"assignees": [
],
"milestone": null,
"comments": 17,
"created_at": "2019-09-18T03:28:04Z",
"updated_at": "2019-10-26T16:09:23Z",
"closed_at": null,
"author_association": "OWNER",
"pull_request": {
"url": "https://api.github.com/repos/chhsia0/knative-route-demo/pulls/3",
"html_url": "https://github.com/chhsia0/knative-route-demo/pull/3",
"diff_url": "https://github.com/chhsia0/knative-route-demo/pull/3.diff",
"patch_url": "https://github.com/chhsia0/knative-route-demo/pull/3.patch"
},
"body": ""
},
"comment": {
"url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues/comments/546616131",
"html_url": "https://github.com/chhsia0/knative-route-demo/pull/3#issuecomment-546616131",
"issue_url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues/3",
"id": 546616131,
"node_id": "MDEyOklzc3VlQ29tbWVudDU0NjYxNjEzMQ==",
"user": {
"login": "chhsia0",
"id": 4643017,
"node_id": "MDQ6VXNlcjQ2NDMwMTc=",
"avatar_url": "https://avatars0.githubusercontent.com/u/4643017?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/chhsia0",
"html_url": "https://github.com/chhsia0",
"followers_url": "https://api.github.com/users/chhsia0/followers",
"following_url": "https://api.github.com/users/chhsia0/following{/other_user}",
"gists_url": "https://api.github.com/users/chhsia0/gists{/gist_id}",
"starred_url": "https://api.github.com/users/chhsia0/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/chhsia0/subscriptions",
"organizations_url": "https://api.github.com/users/chhsia0/orgs",
"repos_url": "https://api.github.com/users/chhsia0/repos",
"events_url": "https://api.github.com/users/chhsia0/events{/privacy}",
"received_events_url": "https://api.github.com/users/chhsia0/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2019-10-26T16:09:23Z",
"updated_at": "2019-10-26T16:09:23Z",
"author_association": "OWNER",
"body": "/build"
},
"repository": {
"id": 199540710,
"node_id": "MDEwOlJlcG9zaXRvcnkxOTk1NDA3MTA=",
"name": "knative-route-demo",
"full_name": "chhsia0/knative-route-demo",
"private": false,
"owner": {
"login": "chhsia0",
"id": 4643017,
"node_id": "MDQ6VXNlcjQ2NDMwMTc=",
"avatar_url": "https://avatars0.githubusercontent.com/u/4643017?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/chhsia0",
"html_url": "https://github.com/chhsia0",
"followers_url": "https://api.github.com/users/chhsia0/followers",
"following_url": "https://api.github.com/users/chhsia0/following{/other_user}",
"gists_url": "https://api.github.com/users/chhsia0/gists{/gist_id}",
"starred_url": "https://api.github.com/users/chhsia0/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/chhsia0/subscriptions",
"organizations_url": "https://api.github.com/users/chhsia0/orgs",
"repos_url": "https://api.github.com/users/chhsia0/repos",
"events_url": "https://api.github.com/users/chhsia0/events{/privacy}",
"received_events_url": "https://api.github.com/users/chhsia0/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/chhsia0/knative-route-demo",
"description": "Simple knative route demo",
"fork": true,
"url": "https://api.github.com/repos/chhsia0/knative-route-demo",
"forks_url": "https://api.github.com/repos/chhsia0/knative-route-demo/forks",
"keys_url": "https://api.github.com/repos/chhsia0/knative-route-demo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/chhsia0/knative-route-demo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/chhsia0/knative-route-demo/teams",
"hooks_url": "https://api.github.com/repos/chhsia0/knative-route-demo/hooks",
"issue_events_url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues/events{/number}",
"events_url": "https://api.github.com/repos/chhsia0/knative-route-demo/events",
"assignees_url": "https://api.github.com/repos/chhsia0/knative-route-demo/assignees{/user}",
"branches_url": "https://api.github.com/repos/chhsia0/knative-route-demo/branches{/branch}",
"tags_url": "https://api.github.com/repos/chhsia0/knative-route-demo/tags",
"blobs_url": "https://api.github.com/repos/chhsia0/knative-route-demo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/chhsia0/knative-route-demo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/chhsia0/knative-route-demo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/chhsia0/knative-route-demo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/chhsia0/knative-route-demo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/chhsia0/knative-route-demo/languages",
"stargazers_url": "https://api.github.com/repos/chhsia0/knative-route-demo/stargazers",
"contributors_url": "https://api.github.com/repos/chhsia0/knative-route-demo/contributors",
"subscribers_url": "https://api.github.com/repos/chhsia0/knative-route-demo/subscribers",
"subscription_url": "https://api.github.com/repos/chhsia0/knative-route-demo/subscription",
"commits_url": "https://api.github.com/repos/chhsia0/knative-route-demo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/chhsia0/knative-route-demo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/chhsia0/knative-route-demo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/chhsia0/knative-route-demo/contents/{+path}",
"compare_url": "https://api.github.com/repos/chhsia0/knative-route-demo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/chhsia0/knative-route-demo/merges",
"archive_url": "https://api.github.com/repos/chhsia0/knative-route-demo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/chhsia0/knative-route-demo/downloads",
"issues_url": "https://api.github.com/repos/chhsia0/knative-route-demo/issues{/number}",
"pulls_url": "https://api.github.com/repos/chhsia0/knative-route-demo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/chhsia0/knative-route-demo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/chhsia0/knative-route-demo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/chhsia0/knative-route-demo/labels{/name}",
"releases_url": "https://api.github.com/repos/chhsia0/knative-route-demo/releases{/id}",
"deployments_url": "https://api.github.com/repos/chhsia0/knative-route-demo/deployments",
"created_at": "2019-07-29T23:38:07Z",
"updated_at": "2019-10-01T18:07:59Z",
"pushed_at": "2019-10-23T23:49:38Z",
"git_url": "git://github.com/chhsia0/knative-route-demo.git",
"ssh_url": "git@github.com:chhsia0/knative-route-demo.git",
"clone_url": "https://github.com/chhsia0/knative-route-demo.git",
"svn_url": "https://github.com/chhsia0/knative-route-demo",
"homepage": "",
"size": 59,
"stargazers_count": 0,
"watchers_count": 0,
"language": "Go",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": false,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 3,
"license": {
"key": "apache-2.0",
"name": "Apache License 2.0",
"spdx_id": "Apache-2.0",
"url": "https://api.github.com/licenses/apache-2.0",
"node_id": "MDc6TGljZW5zZTI="
},
"forks": 0,
"open_issues": 3,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "chhsia0",
"id": 4643017,
"node_id": "MDQ6VXNlcjQ2NDMwMTc=",
"avatar_url": "https://avatars0.githubusercontent.com/u/4643017?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/chhsia0",
"html_url": "https://github.com/chhsia0",
"followers_url": "https://api.github.com/users/chhsia0/followers",
"following_url": "https://api.github.com/users/chhsia0/following{/other_user}",
"gists_url": "https://api.github.com/users/chhsia0/gists{/gist_id}",
"starred_url": "https://api.github.com/users/chhsia0/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/chhsia0/subscriptions",
"organizations_url": "https://api.github.com/users/chhsia0/orgs",
"repos_url": "https://api.github.com/users/chhsia0/repos",
"events_url": "https://api.github.com/users/chhsia0/events{/privacy}",
"received_events_url": "https://api.github.com/users/chhsia0/received_events",
"type": "User",
"site_admin": false
}
}
+446
View File
@@ -0,0 +1,446 @@
{
"action": "created",
"comment": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments/29724692",
"id": 29724692,
"diff_hunk": "@@ -1 +1 @@\n-# public-repo",
"path": "README.md",
"position": 1,
"original_position": 1,
"commit_id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
"original_commit_id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"body": "Maybe you should use more emojji on this line.",
"created_at": "2015-05-05T23:40:27Z",
"updated_at": "2015-05-05T23:40:27Z",
"html_url": "https://github.com/baxterthehacker/public-repo/pull/1#discussion_r29724692",
"pull_request_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1",
"_links": {
"self": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments/29724692"
},
"html": {
"href": "https://github.com/baxterthehacker/public-repo/pull/1#discussion_r29724692"
},
"pull_request": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"
}
}
},
"pull_request": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1",
"id": 34778301,
"html_url": "https://github.com/baxterthehacker/public-repo/pull/1",
"diff_url": "https://github.com/baxterthehacker/public-repo/pull/1.diff",
"patch_url": "https://github.com/baxterthehacker/public-repo/pull/1.patch",
"issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1",
"number": 1,
"state": "open",
"locked": false,
"title": "Update the README with new information",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"body": "This is a pretty simple change that we need to pull into master.",
"created_at": "2015-05-05T23:40:27Z",
"updated_at": "2015-05-05T23:40:27Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "18721552ba489fb84e12958c1b5694b5475f7991",
"assignee": null,
"milestone": null,
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits",
"review_comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments",
"review_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
"head": {
"label": "baxterthehacker:changes",
"ref": "changes",
"sha": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 1,
"forks": 0,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "baxterthehacker:master",
"ref": "master",
"sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 1,
"forks": 0,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"
},
"html": {
"href": "https://github.com/baxterthehacker/public-repo/pull/1"
},
"issue": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1"
},
"comments": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits"
},
"statuses": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"
}
}
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:27Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 1,
"forks": 0,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+440
View File
@@ -0,0 +1,440 @@
{
"action": "submitted",
"review": {
"id": 2626884,
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"body": "Looks great!",
"submitted_at": "2016-10-03T23:39:09Z",
"state": "approved",
"html_url": "https://github.com/baxterthehacker/public-repo/pull/8#pullrequestreview-2626884",
"pull_request_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8",
"_links": {
"html": {
"href": "https://github.com/baxterthehacker/public-repo/pull/8#pullrequestreview-2626884"
},
"pull_request": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8"
}
}
},
"pull_request": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8",
"id": 87811438,
"html_url": "https://github.com/baxterthehacker/public-repo/pull/8",
"diff_url": "https://github.com/baxterthehacker/public-repo/pull/8.diff",
"patch_url": "https://github.com/baxterthehacker/public-repo/pull/8.patch",
"issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/8",
"number": 8,
"state": "open",
"locked": false,
"title": "Add a README description",
"user": {
"login": "skalnik",
"id": 2546,
"avatar_url": "https://avatars.githubusercontent.com/u/2546?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/skalnik",
"html_url": "https://github.com/skalnik",
"followers_url": "https://api.github.com/users/skalnik/followers",
"following_url": "https://api.github.com/users/skalnik/following{/other_user}",
"gists_url": "https://api.github.com/users/skalnik/gists{/gist_id}",
"starred_url": "https://api.github.com/users/skalnik/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/skalnik/subscriptions",
"organizations_url": "https://api.github.com/users/skalnik/orgs",
"repos_url": "https://api.github.com/users/skalnik/repos",
"events_url": "https://api.github.com/users/skalnik/events{/privacy}",
"received_events_url": "https://api.github.com/users/skalnik/received_events",
"type": "User",
"site_admin": true
},
"body": "Just a few more details",
"created_at": "2016-10-03T23:37:43Z",
"updated_at": "2016-10-03T23:39:09Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "faea154a7decef6819754aab0f8c0e232e6c8b4f",
"assignee": null,
"assignees": [],
"milestone": null,
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8/commits",
"review_comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8/comments",
"review_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/8/comments",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/b7a1f9c27caa4e03c14a88feb56e2d4f7500aa63",
"head": {
"label": "skalnik:patch-2",
"ref": "patch-2",
"sha": "b7a1f9c27caa4e03c14a88feb56e2d4f7500aa63",
"user": {
"login": "skalnik",
"id": 2546,
"avatar_url": "https://avatars.githubusercontent.com/u/2546?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/skalnik",
"html_url": "https://github.com/skalnik",
"followers_url": "https://api.github.com/users/skalnik/followers",
"following_url": "https://api.github.com/users/skalnik/following{/other_user}",
"gists_url": "https://api.github.com/users/skalnik/gists{/gist_id}",
"starred_url": "https://api.github.com/users/skalnik/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/skalnik/subscriptions",
"organizations_url": "https://api.github.com/users/skalnik/orgs",
"repos_url": "https://api.github.com/users/skalnik/repos",
"events_url": "https://api.github.com/users/skalnik/events{/privacy}",
"received_events_url": "https://api.github.com/users/skalnik/received_events",
"type": "User",
"site_admin": true
},
"repo": {
"id": 69919152,
"name": "public-repo",
"full_name": "skalnik/public-repo",
"owner": {
"login": "skalnik",
"id": 2546,
"avatar_url": "https://avatars.githubusercontent.com/u/2546?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/skalnik",
"html_url": "https://github.com/skalnik",
"followers_url": "https://api.github.com/users/skalnik/followers",
"following_url": "https://api.github.com/users/skalnik/following{/other_user}",
"gists_url": "https://api.github.com/users/skalnik/gists{/gist_id}",
"starred_url": "https://api.github.com/users/skalnik/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/skalnik/subscriptions",
"organizations_url": "https://api.github.com/users/skalnik/orgs",
"repos_url": "https://api.github.com/users/skalnik/repos",
"events_url": "https://api.github.com/users/skalnik/events{/privacy}",
"received_events_url": "https://api.github.com/users/skalnik/received_events",
"type": "User",
"site_admin": true
},
"private": false,
"html_url": "https://github.com/skalnik/public-repo",
"description": null,
"fork": true,
"url": "https://api.github.com/repos/skalnik/public-repo",
"forks_url": "https://api.github.com/repos/skalnik/public-repo/forks",
"keys_url": "https://api.github.com/repos/skalnik/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/skalnik/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/skalnik/public-repo/teams",
"hooks_url": "https://api.github.com/repos/skalnik/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/skalnik/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/skalnik/public-repo/events",
"assignees_url": "https://api.github.com/repos/skalnik/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/skalnik/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/skalnik/public-repo/tags",
"blobs_url": "https://api.github.com/repos/skalnik/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/skalnik/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/skalnik/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/skalnik/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/skalnik/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/skalnik/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/skalnik/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/skalnik/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/skalnik/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/skalnik/public-repo/subscription",
"commits_url": "https://api.github.com/repos/skalnik/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/skalnik/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/skalnik/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/skalnik/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/skalnik/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/skalnik/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/skalnik/public-repo/merges",
"archive_url": "https://api.github.com/repos/skalnik/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/skalnik/public-repo/downloads",
"issues_url": "https://api.github.com/repos/skalnik/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/skalnik/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/skalnik/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/skalnik/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/skalnik/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/skalnik/public-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/skalnik/public-repo/deployments",
"created_at": "2016-10-03T23:23:31Z",
"updated_at": "2016-08-15T17:19:01Z",
"pushed_at": "2016-10-03T23:36:52Z",
"git_url": "git://github.com/skalnik/public-repo.git",
"ssh_url": "git@github.com:skalnik/public-repo.git",
"clone_url": "https://github.com/skalnik/public-repo.git",
"svn_url": "https://github.com/skalnik/public-repo",
"homepage": null,
"size": 233,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": false,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 0,
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "baxterthehacker:master",
"ref": "master",
"sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/baxterthehacker/public-repo/deployments",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2016-08-15T17:19:01Z",
"pushed_at": "2016-10-03T23:37:43Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 233,
"stargazers_count": 2,
"watchers_count": 2,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 2,
"mirror_url": null,
"open_issues_count": 5,
"forks": 2,
"open_issues": 5,
"watchers": 2,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8"
},
"html": {
"href": "https://github.com/baxterthehacker/public-repo/pull/8"
},
"issue": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/8"
},
"comments": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/8/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8/commits"
},
"statuses": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/b7a1f9c27caa4e03c14a88feb56e2d4f7500aa63"
}
}
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/baxterthehacker/public-repo/deployments",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2016-08-15T17:19:01Z",
"pushed_at": "2016-10-03T23:37:43Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 233,
"stargazers_count": 2,
"watchers_count": 2,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 2,
"mirror_url": null,
"open_issues_count": 5,
"forks": 2,
"open_issues": 5,
"watchers": 2,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+416
View File
@@ -0,0 +1,416 @@
{
"action": "opened",
"number": 1,
"pull_request": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1",
"id": 34778301,
"html_url": "https://github.com/baxterthehacker/public-repo/pull/1",
"diff_url": "https://github.com/baxterthehacker/public-repo/pull/1.diff",
"patch_url": "https://github.com/baxterthehacker/public-repo/pull/1.patch",
"issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1",
"number": 1,
"state": "open",
"locked": false,
"title": "Update the README with new information",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"body": "This is a pretty simple change that we need to pull into master.",
"created_at": "2015-05-05T23:40:27Z",
"updated_at": "2015-05-05T23:40:27Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": null,
"assignee": null,
"milestone": null,
"draft": false,
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits",
"review_comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments",
"review_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
"head": {
"label": "baxterthehacker:changes",
"ref": "changes",
"sha": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:26Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 1,
"forks": 0,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "baxterthehacker:master",
"ref": "master",
"sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
"user": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:26Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 1,
"forks": 0,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"
},
"html": {
"href": "https://github.com/baxterthehacker/public-repo/pull/1"
},
"issue": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1"
},
"comments": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits"
},
"statuses": {
"href": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"
}
},
"merged": false,
"mergeable": null,
"mergeable_state": "unknown",
"merged_by": null,
"comments": 0,
"review_comments": 0,
"commits": 1,
"additions": 1,
"deletions": 1,
"changed_files": 1
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:12Z",
"pushed_at": "2015-05-05T23:40:26Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 1,
"forks": 0,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 234
}
}
+187
View File
@@ -0,0 +1,187 @@
{
"ref": "refs/heads/master",
"before": "737d38c599c1b2991664dfc6155d6bf516fcce36",
"after": "fd489864e7642b48eaad6e3f155c10e46810ec72",
"created": false,
"deleted": false,
"forced": false,
"base_ref": null,
"compare": "https://github.com/binkkatal/sample_app/compare/737d38c599c1...fd489864e764",
"commits": [
{
"id": "fd489864e7642b48eaad6e3f155c10e46810ec72",
"tree_id": "55e08136e14d5168b699038f88c73e175ddffd3b",
"distinct": true,
"message": "test a push event",
"timestamp": "2018-06-29T19:34:13+05:30",
"url": "https://github.com/binkkatal/sample_app/commit/fd489864e7642b48eaad6e3f155c10e46810ec72",
"author": {
"name": "binkkatal",
"email": "binkkatal.r@gmail.com",
"username": "binkkatal"
},
"committer": {
"name": "binkkatal",
"email": "binkkatal.r@gmail.com",
"username": "binkkatal"
},
"added": [
".razorops.yaml"
],
"removed": [
],
"modified": [
"app/controllers/application_controller.rb"
]
}
],
"head_commit": {
"id": "fd489864e7642b48eaad6e3f155c10e46810ec72",
"tree_id": "55e08136e14d5168b699038f88c73e175ddffd3b",
"distinct": true,
"message": "test a push event",
"timestamp": "2018-06-29T19:34:13+05:30",
"url": "https://github.com/binkkatal/sample_app/commit/fd489864e7642b48eaad6e3f155c10e46810ec72",
"author": {
"name": "binkkatal",
"email": "binkkatal.r@gmail.com",
"username": "binkkatal"
},
"committer": {
"name": "binkkatal",
"email": "binkkatal.r@gmail.com",
"username": "binkkatal"
},
"added": [
".razorops.yaml"
],
"removed": [
],
"modified": [
"app/controllers/application_controller.rb"
]
},
"repository": {
"id": 63933911,
"node_id": "MDEwOlJlcG9zaXRvcnk2MzkzMzkxMQ==",
"name": "sample_app",
"full_name": "binkkatal/sample_app",
"owner": {
"name": "binkkatal",
"email": "binkkatal.r@gmail.com",
"login": "binkkatal",
"id": 13351472,
"node_id": "MDQ6VXNlcjEzMzUxNDcy",
"avatar_url": "https://avatars3.githubusercontent.com/u/13351472?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/binkkatal",
"html_url": "https://github.com/binkkatal",
"followers_url": "https://api.github.com/users/binkkatal/followers",
"following_url": "https://api.github.com/users/binkkatal/following{/other_user}",
"gists_url": "https://api.github.com/users/binkkatal/gists{/gist_id}",
"starred_url": "https://api.github.com/users/binkkatal/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/binkkatal/subscriptions",
"organizations_url": "https://api.github.com/users/binkkatal/orgs",
"repos_url": "https://api.github.com/users/binkkatal/repos",
"events_url": "https://api.github.com/users/binkkatal/events{/privacy}",
"received_events_url": "https://api.github.com/users/binkkatal/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/binkkatal/sample_app",
"description": null,
"fork": false,
"url": "https://github.com/binkkatal/sample_app",
"forks_url": "https://api.github.com/repos/binkkatal/sample_app/forks",
"keys_url": "https://api.github.com/repos/binkkatal/sample_app/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/binkkatal/sample_app/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/binkkatal/sample_app/teams",
"hooks_url": "https://api.github.com/repos/binkkatal/sample_app/hooks",
"issue_events_url": "https://api.github.com/repos/binkkatal/sample_app/issues/events{/number}",
"events_url": "https://api.github.com/repos/binkkatal/sample_app/events",
"assignees_url": "https://api.github.com/repos/binkkatal/sample_app/assignees{/user}",
"branches_url": "https://api.github.com/repos/binkkatal/sample_app/branches{/branch}",
"tags_url": "https://api.github.com/repos/binkkatal/sample_app/tags",
"blobs_url": "https://api.github.com/repos/binkkatal/sample_app/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/binkkatal/sample_app/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/binkkatal/sample_app/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/binkkatal/sample_app/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/binkkatal/sample_app/statuses/{sha}",
"languages_url": "https://api.github.com/repos/binkkatal/sample_app/languages",
"stargazers_url": "https://api.github.com/repos/binkkatal/sample_app/stargazers",
"contributors_url": "https://api.github.com/repos/binkkatal/sample_app/contributors",
"subscribers_url": "https://api.github.com/repos/binkkatal/sample_app/subscribers",
"subscription_url": "https://api.github.com/repos/binkkatal/sample_app/subscription",
"commits_url": "https://api.github.com/repos/binkkatal/sample_app/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/binkkatal/sample_app/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/binkkatal/sample_app/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/binkkatal/sample_app/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/binkkatal/sample_app/contents/{+path}",
"compare_url": "https://api.github.com/repos/binkkatal/sample_app/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/binkkatal/sample_app/merges",
"archive_url": "https://api.github.com/repos/binkkatal/sample_app/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/binkkatal/sample_app/downloads",
"issues_url": "https://api.github.com/repos/binkkatal/sample_app/issues{/number}",
"pulls_url": "https://api.github.com/repos/binkkatal/sample_app/pulls{/number}",
"milestones_url": "https://api.github.com/repos/binkkatal/sample_app/milestones{/number}",
"notifications_url": "https://api.github.com/repos/binkkatal/sample_app/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/binkkatal/sample_app/labels{/name}",
"releases_url": "https://api.github.com/repos/binkkatal/sample_app/releases{/id}",
"deployments_url": "https://api.github.com/repos/binkkatal/sample_app/deployments",
"created_at": 1469173225,
"updated_at": "2016-07-22T07:48:39Z",
"pushed_at": 1530281075,
"git_url": "git://github.com/binkkatal/sample_app.git",
"ssh_url": "git@github.com:binkkatal/sample_app.git",
"clone_url": "https://github.com/binkkatal/sample_app.git",
"svn_url": "https://github.com/binkkatal/sample_app",
"homepage": null,
"size": 23,
"stargazers_count": 0,
"watchers_count": 0,
"language": "Ruby",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"open_issues_count": 0,
"license": null,
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master",
"stargazers": 0,
"master_branch": "master"
},
"pusher": {
"name": "binkkatal",
"email": "binkkatal.r@gmail.com"
},
"sender": {
"login": "binkkatal",
"id": 13351472,
"node_id": "MDQ6VXNlcjEzMzUxNDcy",
"avatar_url": "https://avatars3.githubusercontent.com/u/13351472?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/binkkatal",
"html_url": "https://github.com/binkkatal",
"followers_url": "https://api.github.com/users/binkkatal/followers",
"following_url": "https://api.github.com/users/binkkatal/following{/other_user}",
"gists_url": "https://api.github.com/users/binkkatal/gists{/gist_id}",
"starred_url": "https://api.github.com/users/binkkatal/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/binkkatal/subscriptions",
"organizations_url": "https://api.github.com/users/binkkatal/orgs",
"repos_url": "https://api.github.com/users/binkkatal/repos",
"events_url": "https://api.github.com/users/binkkatal/events{/privacy}",
"received_events_url": "https://api.github.com/users/binkkatal/received_events",
"type": "User",
"site_admin": false
}
}
+148
View File
@@ -0,0 +1,148 @@
{
"action": "published",
"release": {
"url": "https://api.github.com/repos/baxterthehacker/public-repo/releases/1261438",
"assets_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases/1261438/assets",
"upload_url": "https://uploads.github.com/repos/baxterthehacker/public-repo/releases/1261438/assets{?name}",
"html_url": "https://github.com/baxterthehacker/public-repo/releases/tag/0.0.1",
"id": 1261438,
"tag_name": "0.0.1",
"target_commitish": "master",
"name": null,
"draft": false,
"author": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"prerelease": false,
"created_at": "2015-05-05T23:40:12Z",
"published_at": "2015-05-05T23:40:38Z",
"assets": [
],
"tarball_url": "https://api.github.com/repos/baxterthehacker/public-repo/tarball/0.0.1",
"zipball_url": "https://api.github.com/repos/baxterthehacker/public-repo/zipball/0.0.1",
"body": null
},
"repository": {
"id": 35129377,
"name": "public-repo",
"full_name": "baxterthehacker/public-repo",
"owner": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/baxterthehacker/public-repo",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterthehacker/public-repo",
"forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
"keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
"hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
"issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
"assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
"blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
"stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
"contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
"subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
"subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
"commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
"archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
"issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
"created_at": "2015-05-05T23:40:12Z",
"updated_at": "2015-05-05T23:40:30Z",
"pushed_at": "2015-05-05T23:40:38Z",
"git_url": "git://github.com/baxterthehacker/public-repo.git",
"ssh_url": "git@github.com:baxterthehacker/public-repo.git",
"clone_url": "https://github.com/baxterthehacker/public-repo.git",
"svn_url": "https://github.com/baxterthehacker/public-repo",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+33
View File
@@ -0,0 +1,33 @@
{
"action": "dismiss",
"alert": {
"id": 7649605,
"affected_range": "0.2.0",
"affected_package_name": "many_versioned_gem",
"external_reference": "https://nvd.nist.gov/vuln/detail/CVE-2018-3728",
"external_identifier": "CVE-2018-3728",
"fixed_in": "0.2.5",
"dismisser": {
"login":"octocat",
"id":1,
"node_id": "MDQ6VXNlcjIxMDMxMDY3",
"avatar_url":"https://github.com/images/error/octocat_happy.gif",
"gravatar_id":"",
"url":"https://api.github.com/users/octocat",
"html_url":"https://github.com/octocat",
"followers_url":"https://api.github.com/users/octocat/followers",
"following_url":"https://api.github.com/users/octocat/following{/other_user}",
"gists_url":"https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url":"https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url":"https://api.github.com/users/octocat/subscriptions",
"organizations_url":"https://api.github.com/users/octocat/orgs",
"repos_url":"https://api.github.com/users/octocat/repos",
"events_url":"https://api.github.com/users/octocat/events{/privacy}",
"received_events_url":"https://api.github.com/users/octocat/received_events",
"type":"User",
"site_admin":true
},
"dismiss_reason": "No bandwidth to fix this",
"dismissed_at": "2017-10-25T00:00:00+00:00"
}
}
+119
View File
@@ -0,0 +1,119 @@
{
"action": "created",
"repository": {
"id": 27496774,
"name": "new-repository",
"full_name": "baxterandthehackers/new-repository",
"owner": {
"login": "baxterandthehackers",
"id": 7649605,
"avatar_url": "https://avatars.githubusercontent.com/u/7649605?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterandthehackers",
"html_url": "https://github.com/baxterandthehackers",
"followers_url": "https://api.github.com/users/baxterandthehackers/followers",
"following_url": "https://api.github.com/users/baxterandthehackers/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterandthehackers/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterandthehackers/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterandthehackers/subscriptions",
"organizations_url": "https://api.github.com/users/baxterandthehackers/orgs",
"repos_url": "https://api.github.com/users/baxterandthehackers/repos",
"events_url": "https://api.github.com/users/baxterandthehackers/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterandthehackers/received_events",
"type": "Organization",
"site_admin": false
},
"private": true,
"html_url": "https://github.com/baxterandthehackers/new-repository",
"description": "",
"fork": false,
"url": "https://api.github.com/repos/baxterandthehackers/new-repository",
"forks_url": "https://api.github.com/repos/baxterandthehackers/new-repository/forks",
"keys_url": "https://api.github.com/repos/baxterandthehackers/new-repository/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/baxterandthehackers/new-repository/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/baxterandthehackers/new-repository/teams",
"hooks_url": "https://api.github.com/repos/baxterandthehackers/new-repository/hooks",
"issue_events_url": "https://api.github.com/repos/baxterandthehackers/new-repository/issues/events{/number}",
"events_url": "https://api.github.com/repos/baxterandthehackers/new-repository/events",
"assignees_url": "https://api.github.com/repos/baxterandthehackers/new-repository/assignees{/user}",
"branches_url": "https://api.github.com/repos/baxterandthehackers/new-repository/branches{/branch}",
"tags_url": "https://api.github.com/repos/baxterandthehackers/new-repository/tags",
"blobs_url": "https://api.github.com/repos/baxterandthehackers/new-repository/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/baxterandthehackers/new-repository/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/baxterandthehackers/new-repository/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/baxterandthehackers/new-repository/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/baxterandthehackers/new-repository/statuses/{sha}",
"languages_url": "https://api.github.com/repos/baxterandthehackers/new-repository/languages",
"stargazers_url": "https://api.github.com/repos/baxterandthehackers/new-repository/stargazers",
"contributors_url": "https://api.github.com/repos/baxterandthehackers/new-repository/contributors",
"subscribers_url": "https://api.github.com/repos/baxterandthehackers/new-repository/subscribers",
"subscription_url": "https://api.github.com/repos/baxterandthehackers/new-repository/subscription",
"commits_url": "https://api.github.com/repos/baxterandthehackers/new-repository/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/baxterandthehackers/new-repository/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/baxterandthehackers/new-repository/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/baxterandthehackers/new-repository/issues/comments/{number}",
"contents_url": "https://api.github.com/repos/baxterandthehackers/new-repository/contents/{+path}",
"compare_url": "https://api.github.com/repos/baxterandthehackers/new-repository/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/baxterandthehackers/new-repository/merges",
"archive_url": "https://api.github.com/repos/baxterandthehackers/new-repository/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/baxterandthehackers/new-repository/downloads",
"issues_url": "https://api.github.com/repos/baxterandthehackers/new-repository/issues{/number}",
"pulls_url": "https://api.github.com/repos/baxterandthehackers/new-repository/pulls{/number}",
"milestones_url": "https://api.github.com/repos/baxterandthehackers/new-repository/milestones{/number}",
"notifications_url": "https://api.github.com/repos/baxterandthehackers/new-repository/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/baxterandthehackers/new-repository/labels{/name}",
"releases_url": "https://api.github.com/repos/baxterandthehackers/new-repository/releases{/id}",
"created_at": "2014-12-03T16:39:25Z",
"updated_at": "2014-12-03T16:39:25Z",
"pushed_at": "2014-12-03T16:39:25Z",
"git_url": "git://github.com/baxterandthehackers/new-repository.git",
"ssh_url": "git@github.com:baxterandthehackers/new-repository.git",
"clone_url": "https://github.com/baxterandthehackers/new-repository.git",
"svn_url": "https://github.com/baxterandthehackers/new-repository",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 0,
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "baxterandthehackers",
"id": 7649605,
"url": "https://api.github.com/orgs/baxterandthehackers",
"repos_url": "https://api.github.com/orgs/baxterandthehackers/repos",
"events_url": "https://api.github.com/orgs/baxterandthehackers/events",
"members_url": "https://api.github.com/orgs/baxterandthehackers/members{/member}",
"public_members_url": "https://api.github.com/orgs/baxterandthehackers/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/7649605?v=2"
},
"sender": {
"login": "baxterthehacker",
"id": 6752317,
"avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=2",
"gravatar_id": "",
"url": "https://api.github.com/users/baxterthehacker",
"html_url": "https://github.com/baxterthehacker",
"followers_url": "https://api.github.com/users/baxterthehacker/followers",
"following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
"gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
"starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
"organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
"repos_url": "https://api.github.com/users/baxterthehacker/repos",
"events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
"received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
"type": "User",
"site_admin": false
}
}
+51
View File
@@ -0,0 +1,51 @@
{
"action": "published",
"security_advisory": {
"ghsa_id": "GHSA-rf4j-j272-fj86",
"summary": "Moderate severity vulnerability that affects django",
"description": "django.contrib.auth.forms.AuthenticationForm in Django 2.0 before 2.0.2, and 1.11.8 and 1.11.9, allows remote attackers to obtain potentially sensitive information by leveraging data exposure from the confirm_login_allowed() method, as demonstrated by discovering whether a user account is inactive.",
"severity": "moderate",
"identifiers": [
{
"value": "GHSA-rf4j-j272-fj86",
"type": "GHSA"
},
{
"value": "CVE-2018-6188",
"type": "CVE"
}
],
"references": [
{
"url": "https://nvd.nist.gov/vuln/detail/CVE-2018-6188"
}
],
"published_at": "2018-10-03T21:13:54Z",
"updated_at": "2018-10-03T21:13:54Z",
"withdrawn_at": null,
"vulnerabilities": [
{
"package": {
"ecosystem": "pip",
"name": "django"
},
"severity": "moderate",
"vulnerable_version_range": ">= 2.0.0, < 2.0.2",
"first_patched_version": {
"identifier": "2.0.2"
}
},
{
"package": {
"ecosystem": "pip",
"name": "django"
},
"severity": "moderate",
"vulnerable_version_range": ">= 1.11.8, < 1.11.10",
"first_patched_version": {
"identifier": "1.11.10"
}
}
]
}
}

Some files were not shown because too many files have changed in this diff Show More