diff --git a/src/github.com/matrix-org/go-neb/services/github/webhook/webhook_test.go b/src/github.com/matrix-org/go-neb/services/github/webhook/webhook_test.go new file mode 100644 index 0000000..3a4b810 --- /dev/null +++ b/src/github.com/matrix-org/go-neb/services/github/webhook/webhook_test.go @@ -0,0 +1,1524 @@ +package webhook + +import ( + "strings" + "testing" +) + +var ghtests = []struct { + eventType string + jsonBody string + outHTML string + outFullRepo string +}{ + {"issues", + `{ + "action": "closed", + "issue": { + "url": "https://api.github.com/repos/DummyAccount/reponame/issues/15", + "repository_url": "https://api.github.com/repos/DummyAccount/reponame", + "labels_url": "https://api.github.com/repos/DummyAccount/reponame/issues/15/labels{/name}", + "comments_url": "https://api.github.com/repos/DummyAccount/reponame/issues/15/comments", + "events_url": "https://api.github.com/repos/DummyAccount/reponame/issues/15/events", + "html_url": "https://github.com/DummyAccount/reponame/issues/15", + "id": 159196956, + "number": 15, + "title": "aaaaaa", + "user": { + "login": "DummyAccount", + "id": 7190048, + "avatar_url": "https://avatars.githubusercontent.com/u/7190048?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/DummyAccount", + "html_url": "https://github.com/DummyAccount", + "followers_url": "https://api.github.com/users/DummyAccount/followers", + "following_url": "https://api.github.com/users/DummyAccount/following{/other_user}", + "gists_url": "https://api.github.com/users/DummyAccount/gists{/gist_id}", + "starred_url": "https://api.github.com/users/DummyAccount/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/DummyAccount/subscriptions", + "organizations_url": "https://api.github.com/users/DummyAccount/orgs", + "repos_url": "https://api.github.com/users/DummyAccount/repos", + "events_url": "https://api.github.com/users/DummyAccount/events{/privacy}", + "received_events_url": "https://api.github.com/users/DummyAccount/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + + ], + "state": "closed", + "locked": false, + "assignee": null, + "milestone": null, + "comments": 1, + "created_at": "2016-06-08T15:40:44Z", + "updated_at": "2016-06-08T15:41:36Z", + "closed_at": "2016-06-08T15:41:36Z", + "body": "" + }, + "repository": { + "id": 21138172, + "name": "reponame", + "full_name": "DummyAccount/reponame", + "owner": { + "login": "DummyAccount", + "id": 7190048, + "avatar_url": "https://avatars.githubusercontent.com/u/7190048?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/DummyAccount", + "html_url": "https://github.com/DummyAccount", + "followers_url": "https://api.github.com/users/DummyAccount/followers", + "following_url": "https://api.github.com/users/DummyAccount/following{/other_user}", + "gists_url": "https://api.github.com/users/DummyAccount/gists{/gist_id}", + "starred_url": "https://api.github.com/users/DummyAccount/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/DummyAccount/subscriptions", + "organizations_url": "https://api.github.com/users/DummyAccount/orgs", + "repos_url": "https://api.github.com/users/DummyAccount/repos", + "events_url": "https://api.github.com/users/DummyAccount/events{/privacy}", + "received_events_url": "https://api.github.com/users/DummyAccount/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/DummyAccount/reponame", + "description": "Android Development Device Monitor", + "fork": false, + "url": "https://api.github.com/repos/DummyAccount/reponame", + "forks_url": "https://api.github.com/repos/DummyAccount/reponame/forks", + "keys_url": "https://api.github.com/repos/DummyAccount/reponame/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/DummyAccount/reponame/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/DummyAccount/reponame/teams", + "hooks_url": "https://api.github.com/repos/DummyAccount/reponame/hooks", + "issue_events_url": "https://api.github.com/repos/DummyAccount/reponame/issues/events{/number}", + "events_url": "https://api.github.com/repos/DummyAccount/reponame/events", + "assignees_url": "https://api.github.com/repos/DummyAccount/reponame/assignees{/user}", + "branches_url": "https://api.github.com/repos/DummyAccount/reponame/branches{/branch}", + "tags_url": "https://api.github.com/repos/DummyAccount/reponame/tags", + "blobs_url": "https://api.github.com/repos/DummyAccount/reponame/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/DummyAccount/reponame/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/DummyAccount/reponame/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/DummyAccount/reponame/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/DummyAccount/reponame/statuses/{sha}", + "languages_url": "https://api.github.com/repos/DummyAccount/reponame/languages", + "stargazers_url": "https://api.github.com/repos/DummyAccount/reponame/stargazers", + "contributors_url": "https://api.github.com/repos/DummyAccount/reponame/contributors", + "subscribers_url": "https://api.github.com/repos/DummyAccount/reponame/subscribers", + "subscription_url": "https://api.github.com/repos/DummyAccount/reponame/subscription", + "commits_url": "https://api.github.com/repos/DummyAccount/reponame/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/DummyAccount/reponame/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/DummyAccount/reponame/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/DummyAccount/reponame/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/DummyAccount/reponame/contents/{+path}", + "compare_url": "https://api.github.com/repos/DummyAccount/reponame/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/DummyAccount/reponame/merges", + "archive_url": "https://api.github.com/repos/DummyAccount/reponame/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/DummyAccount/reponame/downloads", + "issues_url": "https://api.github.com/repos/DummyAccount/reponame/issues{/number}", + "pulls_url": "https://api.github.com/repos/DummyAccount/reponame/pulls{/number}", + "milestones_url": "https://api.github.com/repos/DummyAccount/reponame/milestones{/number}", + "notifications_url": "https://api.github.com/repos/DummyAccount/reponame/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/DummyAccount/reponame/labels{/name}", + "releases_url": "https://api.github.com/repos/DummyAccount/reponame/releases{/id}", + "deployments_url": "https://api.github.com/repos/DummyAccount/reponame/deployments", + "created_at": "2014-06-23T18:51:33Z", + "updated_at": "2015-07-22T07:42:19Z", + "pushed_at": "2015-07-22T07:42:19Z", + "git_url": "git://github.com/DummyAccount/reponame.git", + "ssh_url": "git@github.com:DummyAccount/reponame.git", + "clone_url": "https://github.com/DummyAccount/reponame.git", + "svn_url": "https://github.com/DummyAccount/reponame", + "homepage": null, + "size": 725, + "stargazers_count": 0, + "watchers_count": 0, + "language": "Java", + "has_issues": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 1, + "mirror_url": null, + "open_issues_count": 0, + "forks": 1, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + "sender": { + "login": "DummyAccount", + "id": 7190048, + "avatar_url": "https://avatars.githubusercontent.com/u/7190048?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/DummyAccount", + "html_url": "https://github.com/DummyAccount", + "followers_url": "https://api.github.com/users/DummyAccount/followers", + "following_url": "https://api.github.com/users/DummyAccount/following{/other_user}", + "gists_url": "https://api.github.com/users/DummyAccount/gists{/gist_id}", + "starred_url": "https://api.github.com/users/DummyAccount/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/DummyAccount/subscriptions", + "organizations_url": "https://api.github.com/users/DummyAccount/orgs", + "repos_url": "https://api.github.com/users/DummyAccount/repos", + "events_url": "https://api.github.com/users/DummyAccount/events{/privacy}", + "received_events_url": "https://api.github.com/users/DummyAccount/received_events", + "type": "User", + "site_admin": false + } + }`, + `[DummyAccount/reponame] DummyAccount closed issue #15: aaaaaa [closed] - https://github.com/DummyAccount/reponame/issues/15`, + "DummyAccount/reponame"}, + // ================================================================== + { + "issue_comment", + `{ + "action": "created", + "issue": { + "url": "https://api.github.com/repos/DummyAccount/arepo/issues/15", + "repository_url": "https://api.github.com/repos/DummyAccount/arepo", + "labels_url": "https://api.github.com/repos/DummyAccount/arepo/issues/15/labels{/name}", + "comments_url": "https://api.github.com/repos/DummyAccount/arepo/issues/15/comments", + "events_url": "https://api.github.com/repos/DummyAccount/arepo/issues/15/events", + "html_url": "https://github.com/DummyAccount/arepo/issues/15", + "id": 159196956, + "number": 15, + "title": "aaaaaa", + "user": { + "login": "DummyAccount", + "id": 7190048, + "avatar_url": "https://avatars.githubusercontent.com/u/7190048?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/DummyAccount", + "html_url": "https://github.com/DummyAccount", + "followers_url": "https://api.github.com/users/DummyAccount/followers", + "following_url": "https://api.github.com/users/DummyAccount/following{/other_user}", + "gists_url": "https://api.github.com/users/DummyAccount/gists{/gist_id}", + "starred_url": "https://api.github.com/users/DummyAccount/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/DummyAccount/subscriptions", + "organizations_url": "https://api.github.com/users/DummyAccount/orgs", + "repos_url": "https://api.github.com/users/DummyAccount/repos", + "events_url": "https://api.github.com/users/DummyAccount/events{/privacy}", + "received_events_url": "https://api.github.com/users/DummyAccount/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + + ], + "state": "closed", + "locked": false, + "assignee": null, + "milestone": null, + "comments": 2, + "created_at": "2016-06-08T15:40:44Z", + "updated_at": "2016-06-08T15:55:25Z", + "closed_at": "2016-06-08T15:41:36Z", + "body": "" + }, + "comment": { + "url": "https://api.github.com/repos/DummyAccount/arepo/issues/comments/224636064", + "html_url": "https://github.com/DummyAccount/arepo/issues/15#issuecomment-224636064", + "issue_url": "https://api.github.com/repos/DummyAccount/arepo/issues/15", + "id": 224636064, + "user": { + "login": "DummyAccount", + "id": 7190048, + "avatar_url": "https://avatars.githubusercontent.com/u/7190048?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/DummyAccount", + "html_url": "https://github.com/DummyAccount", + "followers_url": "https://api.github.com/users/DummyAccount/followers", + "following_url": "https://api.github.com/users/DummyAccount/following{/other_user}", + "gists_url": "https://api.github.com/users/DummyAccount/gists{/gist_id}", + "starred_url": "https://api.github.com/users/DummyAccount/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/DummyAccount/subscriptions", + "organizations_url": "https://api.github.com/users/DummyAccount/orgs", + "repos_url": "https://api.github.com/users/DummyAccount/repos", + "events_url": "https://api.github.com/users/DummyAccount/events{/privacy}", + "received_events_url": "https://api.github.com/users/DummyAccount/received_events", + "type": "User", + "site_admin": false + }, + "created_at": "2016-06-08T15:55:25Z", + "updated_at": "2016-06-08T15:55:25Z", + "body": "cccccc" + }, + "repository": { + "id": 21138172, + "name": "arepo", + "full_name": "DummyAccount/arepo", + "owner": { + "login": "DummyAccount", + "id": 7190048, + "avatar_url": "https://avatars.githubusercontent.com/u/7190048?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/DummyAccount", + "html_url": "https://github.com/DummyAccount", + "followers_url": "https://api.github.com/users/DummyAccount/followers", + "following_url": "https://api.github.com/users/DummyAccount/following{/other_user}", + "gists_url": "https://api.github.com/users/DummyAccount/gists{/gist_id}", + "starred_url": "https://api.github.com/users/DummyAccount/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/DummyAccount/subscriptions", + "organizations_url": "https://api.github.com/users/DummyAccount/orgs", + "repos_url": "https://api.github.com/users/DummyAccount/repos", + "events_url": "https://api.github.com/users/DummyAccount/events{/privacy}", + "received_events_url": "https://api.github.com/users/DummyAccount/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/DummyAccount/arepo", + "description": "Android Development Device Monitor", + "fork": false, + "url": "https://api.github.com/repos/DummyAccount/arepo", + "forks_url": "https://api.github.com/repos/DummyAccount/arepo/forks", + "keys_url": "https://api.github.com/repos/DummyAccount/arepo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/DummyAccount/arepo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/DummyAccount/arepo/teams", + "hooks_url": "https://api.github.com/repos/DummyAccount/arepo/hooks", + "issue_events_url": "https://api.github.com/repos/DummyAccount/arepo/issues/events{/number}", + "events_url": "https://api.github.com/repos/DummyAccount/arepo/events", + "assignees_url": "https://api.github.com/repos/DummyAccount/arepo/assignees{/user}", + "branches_url": "https://api.github.com/repos/DummyAccount/arepo/branches{/branch}", + "tags_url": "https://api.github.com/repos/DummyAccount/arepo/tags", + "blobs_url": "https://api.github.com/repos/DummyAccount/arepo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/DummyAccount/arepo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/DummyAccount/arepo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/DummyAccount/arepo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/DummyAccount/arepo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/DummyAccount/arepo/languages", + "stargazers_url": "https://api.github.com/repos/DummyAccount/arepo/stargazers", + "contributors_url": "https://api.github.com/repos/DummyAccount/arepo/contributors", + "subscribers_url": "https://api.github.com/repos/DummyAccount/arepo/subscribers", + "subscription_url": "https://api.github.com/repos/DummyAccount/arepo/subscription", + "commits_url": "https://api.github.com/repos/DummyAccount/arepo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/DummyAccount/arepo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/DummyAccount/arepo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/DummyAccount/arepo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/DummyAccount/arepo/contents/{+path}", + "compare_url": "https://api.github.com/repos/DummyAccount/arepo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/DummyAccount/arepo/merges", + "archive_url": "https://api.github.com/repos/DummyAccount/arepo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/DummyAccount/arepo/downloads", + "issues_url": "https://api.github.com/repos/DummyAccount/arepo/issues{/number}", + "pulls_url": "https://api.github.com/repos/DummyAccount/arepo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/DummyAccount/arepo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/DummyAccount/arepo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/DummyAccount/arepo/labels{/name}", + "releases_url": "https://api.github.com/repos/DummyAccount/arepo/releases{/id}", + "deployments_url": "https://api.github.com/repos/DummyAccount/arepo/deployments", + "created_at": "2014-06-23T18:51:33Z", + "updated_at": "2015-07-22T07:42:19Z", + "pushed_at": "2015-07-22T07:42:19Z", + "git_url": "git://github.com/DummyAccount/arepo.git", + "ssh_url": "git@github.com:DummyAccount/arepo.git", + "clone_url": "https://github.com/DummyAccount/arepo.git", + "svn_url": "https://github.com/DummyAccount/arepo", + "homepage": null, + "size": 725, + "stargazers_count": 0, + "watchers_count": 0, + "language": "Java", + "has_issues": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 1, + "mirror_url": null, + "open_issues_count": 0, + "forks": 1, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + "sender": { + "login": "DummyAccount", + "id": 7190048, + "avatar_url": "https://avatars.githubusercontent.com/u/7190048?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/DummyAccount", + "html_url": "https://github.com/DummyAccount", + "followers_url": "https://api.github.com/users/DummyAccount/followers", + "following_url": "https://api.github.com/users/DummyAccount/following{/other_user}", + "gists_url": "https://api.github.com/users/DummyAccount/gists{/gist_id}", + "starred_url": "https://api.github.com/users/DummyAccount/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/DummyAccount/subscriptions", + "organizations_url": "https://api.github.com/users/DummyAccount/orgs", + "repos_url": "https://api.github.com/users/DummyAccount/repos", + "events_url": "https://api.github.com/users/DummyAccount/events{/privacy}", + "received_events_url": "https://api.github.com/users/DummyAccount/received_events", + "type": "User", + "site_admin": false + } + }`, + "[DummyAccount/arepo] DummyAccount commented on DummyAccount's issue #15: aaaaaa - https://github.com/DummyAccount/arepo/issues/15", + "DummyAccount/arepo", + }, + // ================================================================== + { + "push", + `{ + "ref": "refs/heads/develop", + "before": "352fe606a8ca6f732ad832d8443009599bcb33a8", + "after": "4a05c601f6b806110e63160cf7cf41b37787461f", + "created": false, + "deleted": false, + "forced": false, + "base_ref": "refs/heads/markjh/disable_jenkins_synchrotron", + "compare": "https://github.com/matrix-org/sytest/compare/352fe606a8ca...4a05c601f6b8", + "commits": [ + { + "id": "38367e20fe0f479d6eaaf0407c1e10ec0dadf52b", + "tree_id": "618cf94bc0babe49377ab4a2c790a4749cc46c99", + "distinct": false, + "message": "Fix arguments to postgres connector to work with go", + "timestamp": "2016-06-08T14:02:42+01:00", + "url": "https://github.com/matrix-org/sytest/commit/38367e20fe0f479d6eaaf0407c1e10ec0dadf52b", + "author": { + "name": "Mark Haines", + "email": "mark.haines@matrix.org", + "username": "NegativeMjark" + }, + "committer": { + "name": "Mark Haines", + "email": "mark.haines@matrix.org", + "username": "NegativeMjark" + }, + "added": [ + + ], + "removed": [ + + ], + "modified": [ + "jenkins/prep_sytest_for_postgres.sh" + ] + }, + { + "id": "4a05c601f6b806110e63160cf7cf41b37787461f", + "tree_id": "c97850f05b804882cbb746be123f110ce05311f7", + "distinct": false, + "message": "Add necessary info to the second postgres db", + "timestamp": "2016-06-08T14:22:52+01:00", + "url": "https://github.com/matrix-org/sytest/commit/4a05c601f6b806110e63160cf7cf41b37787461f", + "author": { + "name": "Mark Haines", + "email": "mark.haines@matrix.org", + "username": "NegativeMjark" + }, + "committer": { + "name": "Mark Haines", + "email": "mark.haines@matrix.org", + "username": "NegativeMjark" + }, + "added": [ + + ], + "removed": [ + + ], + "modified": [ + "jenkins/prep_sytest_for_postgres.sh" + ] + } + ], + "head_commit": { + "id": "4a05c601f6b806110e63160cf7cf41b37787461f", + "tree_id": "c97850f05b804882cbb746be123f110ce05311f7", + "distinct": false, + "message": "Add necessary info to the second postgres db", + "timestamp": "2016-06-08T14:22:52+01:00", + "url": "https://github.com/matrix-org/sytest/commit/4a05c601f6b806110e63160cf7cf41b37787461f", + "author": { + "name": "Mark Haines", + "email": "mark.haines@matrix.org", + "username": "NegativeMjark" + }, + "committer": { + "name": "Mark Haines", + "email": "mark.haines@matrix.org", + "username": "NegativeMjark" + }, + "added": [ + + ], + "removed": [ + + ], + "modified": [ + "jenkins/prep_sytest_for_postgres.sh" + ] + }, + "repository": { + "id": 23436169, + "name": "sytest", + "full_name": "matrix-org/sytest", + "owner": { + "name": "matrix-org", + "email": "matrix@matrix.org" + }, + "private": false, + "html_url": "https://github.com/matrix-org/sytest", + "description": "Black-box integration testing for Matrix homeservers", + "fork": false, + "url": "https://github.com/matrix-org/sytest", + "forks_url": "https://api.github.com/repos/matrix-org/sytest/forks", + "keys_url": "https://api.github.com/repos/matrix-org/sytest/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/matrix-org/sytest/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/matrix-org/sytest/teams", + "hooks_url": "https://api.github.com/repos/matrix-org/sytest/hooks", + "issue_events_url": "https://api.github.com/repos/matrix-org/sytest/issues/events{/number}", + "events_url": "https://api.github.com/repos/matrix-org/sytest/events", + "assignees_url": "https://api.github.com/repos/matrix-org/sytest/assignees{/user}", + "branches_url": "https://api.github.com/repos/matrix-org/sytest/branches{/branch}", + "tags_url": "https://api.github.com/repos/matrix-org/sytest/tags", + "blobs_url": "https://api.github.com/repos/matrix-org/sytest/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/matrix-org/sytest/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/matrix-org/sytest/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/matrix-org/sytest/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/matrix-org/sytest/statuses/{sha}", + "languages_url": "https://api.github.com/repos/matrix-org/sytest/languages", + "stargazers_url": "https://api.github.com/repos/matrix-org/sytest/stargazers", + "contributors_url": "https://api.github.com/repos/matrix-org/sytest/contributors", + "subscribers_url": "https://api.github.com/repos/matrix-org/sytest/subscribers", + "subscription_url": "https://api.github.com/repos/matrix-org/sytest/subscription", + "commits_url": "https://api.github.com/repos/matrix-org/sytest/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/matrix-org/sytest/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/matrix-org/sytest/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/matrix-org/sytest/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/matrix-org/sytest/contents/{+path}", + "compare_url": "https://api.github.com/repos/matrix-org/sytest/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/matrix-org/sytest/merges", + "archive_url": "https://api.github.com/repos/matrix-org/sytest/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/matrix-org/sytest/downloads", + "issues_url": "https://api.github.com/repos/matrix-org/sytest/issues{/number}", + "pulls_url": "https://api.github.com/repos/matrix-org/sytest/pulls{/number}", + "milestones_url": "https://api.github.com/repos/matrix-org/sytest/milestones{/number}", + "notifications_url": "https://api.github.com/repos/matrix-org/sytest/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/matrix-org/sytest/labels{/name}", + "releases_url": "https://api.github.com/repos/matrix-org/sytest/releases{/id}", + "deployments_url": "https://api.github.com/repos/matrix-org/sytest/deployments", + "created_at": 1409245543, + "updated_at": "2016-01-11T16:43:34Z", + "pushed_at": 1465400172, + "git_url": "git://github.com/matrix-org/sytest.git", + "ssh_url": "git@github.com:matrix-org/sytest.git", + "clone_url": "https://github.com/matrix-org/sytest.git", + "svn_url": "https://github.com/matrix-org/sytest", + "homepage": "", + "size": 1831, + "stargazers_count": 2, + "watchers_count": 2, + "language": "Perl", + "has_issues": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 6, + "forks": 0, + "open_issues": 6, + "watchers": 2, + "default_branch": "develop", + "stargazers": 2, + "master_branch": "develop", + "organization": "matrix-org" + }, + "pusher": { + "name": "NegativeMjark", + "email": "mjark@negativecurvature.net" + }, + "organization": { + "login": "matrix-org", + "id": 8418310, + "url": "https://api.github.com/orgs/matrix-org", + "repos_url": "https://api.github.com/orgs/matrix-org/repos", + "events_url": "https://api.github.com/orgs/matrix-org/events", + "hooks_url": "https://api.github.com/orgs/matrix-org/hooks", + "issues_url": "https://api.github.com/orgs/matrix-org/issues", + "members_url": "https://api.github.com/orgs/matrix-org/members{/member}", + "public_members_url": "https://api.github.com/orgs/matrix-org/public_members{/member}", + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "description": "A new basis for open, interoperable, decentralised real-time communication" + }, + "sender": { + "login": "NegativeMjark", + "id": 904009, + "avatar_url": "https://avatars.githubusercontent.com/u/904009?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/NegativeMjark", + "html_url": "https://github.com/NegativeMjark", + "followers_url": "https://api.github.com/users/NegativeMjark/followers", + "following_url": "https://api.github.com/users/NegativeMjark/following{/other_user}", + "gists_url": "https://api.github.com/users/NegativeMjark/gists{/gist_id}", + "starred_url": "https://api.github.com/users/NegativeMjark/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/NegativeMjark/subscriptions", + "organizations_url": "https://api.github.com/users/NegativeMjark/orgs", + "repos_url": "https://api.github.com/users/NegativeMjark/repos", + "events_url": "https://api.github.com/users/NegativeMjark/events{/privacy}", + "received_events_url": "https://api.github.com/users/NegativeMjark/received_events", + "type": "User", + "site_admin": false + } + }`, + "[matrix-org/sytest] NegativeMjark pushed 2 commits to develop: https://github.com/matrix-org/sytest/commit/4a05c601f6b806110e63160cf7cf41b37787461f
NegativeMjark: Fix arguments to postgres connector to work with go
NegativeMjark: Add necessary info to the second postgres db", + "matrix-org/sytest", + }, + // ================================================================== + { + "pull_request", + `{ + "action": "assigned", + "number": 303, + "pull_request": { + "url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls/303", + "id": 73186698, + "html_url": "https://github.com/matrix-org/matrix-react-sdk/pull/303", + "diff_url": "https://github.com/matrix-org/matrix-react-sdk/pull/303.diff", + "patch_url": "https://github.com/matrix-org/matrix-react-sdk/pull/303.patch", + "issue_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/303", + "number": 303, + "state": "open", + "locked": false, + "title": "Factor out common parts of room creation", + "user": { + "login": "richvdh", + "id": 1389908, + "avatar_url": "https://avatars.githubusercontent.com/u/1389908?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/richvdh", + "html_url": "https://github.com/richvdh", + "followers_url": "https://api.github.com/users/richvdh/followers", + "following_url": "https://api.github.com/users/richvdh/following{/other_user}", + "gists_url": "https://api.github.com/users/richvdh/gists{/gist_id}", + "starred_url": "https://api.github.com/users/richvdh/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/richvdh/subscriptions", + "organizations_url": "https://api.github.com/users/richvdh/orgs", + "repos_url": "https://api.github.com/users/richvdh/repos", + "events_url": "https://api.github.com/users/richvdh/events{/privacy}", + "received_events_url": "https://api.github.com/users/richvdh/received_events", + "type": "User", + "site_admin": false + }, + "body": "Take the duplicated code out of MatrixChat and MemberInfo, and put it in a\nseparate 'createRoom' module", + "created_at": "2016-06-09T10:00:02Z", + "updated_at": "2016-06-09T10:00:11Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "162bd3e4c940bcce1de3b98da14827e138121f5d", + "assignee": { + "login": "dbkr", + "id": 986903, + "avatar_url": "https://avatars.githubusercontent.com/u/986903?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/dbkr", + "html_url": "https://github.com/dbkr", + "followers_url": "https://api.github.com/users/dbkr/followers", + "following_url": "https://api.github.com/users/dbkr/following{/other_user}", + "gists_url": "https://api.github.com/users/dbkr/gists{/gist_id}", + "starred_url": "https://api.github.com/users/dbkr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dbkr/subscriptions", + "organizations_url": "https://api.github.com/users/dbkr/orgs", + "repos_url": "https://api.github.com/users/dbkr/repos", + "events_url": "https://api.github.com/users/dbkr/events{/privacy}", + "received_events_url": "https://api.github.com/users/dbkr/received_events", + "type": "User", + "site_admin": false + }, + "milestone": null, + "commits_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls/303/commits", + "review_comments_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls/303/comments", + "review_comment_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/303/comments", + "statuses_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/statuses/de36aa63fb61c9aee011221e2db6159fe1653ae9", + "head": { + "label": "matrix-org:rav/factor_out_createroom", + "ref": "rav/factor_out_createroom", + "sha": "de36aa63fb61c9aee011221e2db6159fe1653ae9", + "user": { + "login": "matrix-org", + "id": 8418310, + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/matrix-org", + "html_url": "https://github.com/matrix-org", + "followers_url": "https://api.github.com/users/matrix-org/followers", + "following_url": "https://api.github.com/users/matrix-org/following{/other_user}", + "gists_url": "https://api.github.com/users/matrix-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/matrix-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/matrix-org/subscriptions", + "organizations_url": "https://api.github.com/users/matrix-org/orgs", + "repos_url": "https://api.github.com/users/matrix-org/repos", + "events_url": "https://api.github.com/users/matrix-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/matrix-org/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 37144575, + "name": "matrix-react-sdk", + "full_name": "matrix-org/matrix-react-sdk", + "owner": { + "login": "matrix-org", + "id": 8418310, + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/matrix-org", + "html_url": "https://github.com/matrix-org", + "followers_url": "https://api.github.com/users/matrix-org/followers", + "following_url": "https://api.github.com/users/matrix-org/following{/other_user}", + "gists_url": "https://api.github.com/users/matrix-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/matrix-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/matrix-org/subscriptions", + "organizations_url": "https://api.github.com/users/matrix-org/orgs", + "repos_url": "https://api.github.com/users/matrix-org/repos", + "events_url": "https://api.github.com/users/matrix-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/matrix-org/received_events", + "type": "Organization", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/matrix-org/matrix-react-sdk", + "description": "Matrix SDK for React Javascript", + "fork": false, + "url": "https://api.github.com/repos/matrix-org/matrix-react-sdk", + "forks_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/forks", + "keys_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/teams", + "hooks_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/hooks", + "issue_events_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/events{/number}", + "events_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/events", + "assignees_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/assignees{/user}", + "branches_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/branches{/branch}", + "tags_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/tags", + "blobs_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/statuses/{sha}", + "languages_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/languages", + "stargazers_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/stargazers", + "contributors_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/contributors", + "subscribers_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/subscribers", + "subscription_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/subscription", + "commits_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/contents/{+path}", + "compare_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/merges", + "archive_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/downloads", + "issues_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues{/number}", + "pulls_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls{/number}", + "milestones_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/milestones{/number}", + "notifications_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/labels{/name}", + "releases_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/releases{/id}", + "deployments_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/deployments", + "created_at": "2015-06-09T16:37:07Z", + "updated_at": "2016-06-07T11:20:20Z", + "pushed_at": "2016-06-09T10:00:02Z", + "git_url": "git://github.com/matrix-org/matrix-react-sdk.git", + "ssh_url": "git@github.com:matrix-org/matrix-react-sdk.git", + "clone_url": "https://github.com/matrix-org/matrix-react-sdk.git", + "svn_url": "https://github.com/matrix-org/matrix-react-sdk", + "homepage": null, + "size": 2721, + "stargazers_count": 35, + "watchers_count": 35, + "language": "JavaScript", + "has_issues": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 17, + "mirror_url": null, + "open_issues_count": 7, + "forks": 17, + "open_issues": 7, + "watchers": 35, + "default_branch": "master" + } + }, + "base": { + "label": "matrix-org:develop", + "ref": "develop", + "sha": "98ef793809a662f4864df75ade0856d0ce52ecd6", + "user": { + "login": "matrix-org", + "id": 8418310, + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/matrix-org", + "html_url": "https://github.com/matrix-org", + "followers_url": "https://api.github.com/users/matrix-org/followers", + "following_url": "https://api.github.com/users/matrix-org/following{/other_user}", + "gists_url": "https://api.github.com/users/matrix-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/matrix-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/matrix-org/subscriptions", + "organizations_url": "https://api.github.com/users/matrix-org/orgs", + "repos_url": "https://api.github.com/users/matrix-org/repos", + "events_url": "https://api.github.com/users/matrix-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/matrix-org/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 37144575, + "name": "matrix-react-sdk", + "full_name": "matrix-org/matrix-react-sdk", + "owner": { + "login": "matrix-org", + "id": 8418310, + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/matrix-org", + "html_url": "https://github.com/matrix-org", + "followers_url": "https://api.github.com/users/matrix-org/followers", + "following_url": "https://api.github.com/users/matrix-org/following{/other_user}", + "gists_url": "https://api.github.com/users/matrix-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/matrix-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/matrix-org/subscriptions", + "organizations_url": "https://api.github.com/users/matrix-org/orgs", + "repos_url": "https://api.github.com/users/matrix-org/repos", + "events_url": "https://api.github.com/users/matrix-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/matrix-org/received_events", + "type": "Organization", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/matrix-org/matrix-react-sdk", + "description": "Matrix SDK for React Javascript", + "fork": false, + "url": "https://api.github.com/repos/matrix-org/matrix-react-sdk", + "forks_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/forks", + "keys_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/teams", + "hooks_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/hooks", + "issue_events_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/events{/number}", + "events_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/events", + "assignees_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/assignees{/user}", + "branches_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/branches{/branch}", + "tags_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/tags", + "blobs_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/statuses/{sha}", + "languages_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/languages", + "stargazers_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/stargazers", + "contributors_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/contributors", + "subscribers_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/subscribers", + "subscription_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/subscription", + "commits_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/contents/{+path}", + "compare_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/merges", + "archive_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/downloads", + "issues_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues{/number}", + "pulls_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls{/number}", + "milestones_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/milestones{/number}", + "notifications_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/labels{/name}", + "releases_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/releases{/id}", + "deployments_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/deployments", + "created_at": "2015-06-09T16:37:07Z", + "updated_at": "2016-06-07T11:20:20Z", + "pushed_at": "2016-06-09T10:00:02Z", + "git_url": "git://github.com/matrix-org/matrix-react-sdk.git", + "ssh_url": "git@github.com:matrix-org/matrix-react-sdk.git", + "clone_url": "https://github.com/matrix-org/matrix-react-sdk.git", + "svn_url": "https://github.com/matrix-org/matrix-react-sdk", + "homepage": null, + "size": 2721, + "stargazers_count": 35, + "watchers_count": 35, + "language": "JavaScript", + "has_issues": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 17, + "mirror_url": null, + "open_issues_count": 7, + "forks": 17, + "open_issues": 7, + "watchers": 35, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls/303" + }, + "html": { + "href": "https://github.com/matrix-org/matrix-react-sdk/pull/303" + }, + "issue": { + "href": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/303" + }, + "comments": { + "href": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/303/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls/303/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls/303/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/matrix-org/matrix-react-sdk/statuses/de36aa63fb61c9aee011221e2db6159fe1653ae9" + } + }, + "merged": false, + "mergeable": true, + "mergeable_state": "clean", + "merged_by": null, + "comments": 0, + "review_comments": 0, + "commits": 1, + "additions": 97, + "deletions": 86, + "changed_files": 3 + }, + "assignee": { + "login": "dbkr", + "id": 986903, + "avatar_url": "https://avatars.githubusercontent.com/u/986903?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/dbkr", + "html_url": "https://github.com/dbkr", + "followers_url": "https://api.github.com/users/dbkr/followers", + "following_url": "https://api.github.com/users/dbkr/following{/other_user}", + "gists_url": "https://api.github.com/users/dbkr/gists{/gist_id}", + "starred_url": "https://api.github.com/users/dbkr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dbkr/subscriptions", + "organizations_url": "https://api.github.com/users/dbkr/orgs", + "repos_url": "https://api.github.com/users/dbkr/repos", + "events_url": "https://api.github.com/users/dbkr/events{/privacy}", + "received_events_url": "https://api.github.com/users/dbkr/received_events", + "type": "User", + "site_admin": false + }, + "repository": { + "id": 37144575, + "name": "matrix-react-sdk", + "full_name": "matrix-org/matrix-react-sdk", + "owner": { + "login": "matrix-org", + "id": 8418310, + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/matrix-org", + "html_url": "https://github.com/matrix-org", + "followers_url": "https://api.github.com/users/matrix-org/followers", + "following_url": "https://api.github.com/users/matrix-org/following{/other_user}", + "gists_url": "https://api.github.com/users/matrix-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/matrix-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/matrix-org/subscriptions", + "organizations_url": "https://api.github.com/users/matrix-org/orgs", + "repos_url": "https://api.github.com/users/matrix-org/repos", + "events_url": "https://api.github.com/users/matrix-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/matrix-org/received_events", + "type": "Organization", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/matrix-org/matrix-react-sdk", + "description": "Matrix SDK for React Javascript", + "fork": false, + "url": "https://api.github.com/repos/matrix-org/matrix-react-sdk", + "forks_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/forks", + "keys_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/teams", + "hooks_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/hooks", + "issue_events_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/events{/number}", + "events_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/events", + "assignees_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/assignees{/user}", + "branches_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/branches{/branch}", + "tags_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/tags", + "blobs_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/statuses/{sha}", + "languages_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/languages", + "stargazers_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/stargazers", + "contributors_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/contributors", + "subscribers_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/subscribers", + "subscription_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/subscription", + "commits_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/contents/{+path}", + "compare_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/merges", + "archive_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/downloads", + "issues_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/issues{/number}", + "pulls_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/pulls{/number}", + "milestones_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/milestones{/number}", + "notifications_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/labels{/name}", + "releases_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/releases{/id}", + "deployments_url": "https://api.github.com/repos/matrix-org/matrix-react-sdk/deployments", + "created_at": "2015-06-09T16:37:07Z", + "updated_at": "2016-06-07T11:20:20Z", + "pushed_at": "2016-06-09T10:00:02Z", + "git_url": "git://github.com/matrix-org/matrix-react-sdk.git", + "ssh_url": "git@github.com:matrix-org/matrix-react-sdk.git", + "clone_url": "https://github.com/matrix-org/matrix-react-sdk.git", + "svn_url": "https://github.com/matrix-org/matrix-react-sdk", + "homepage": null, + "size": 2721, + "stargazers_count": 35, + "watchers_count": 35, + "language": "JavaScript", + "has_issues": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 17, + "mirror_url": null, + "open_issues_count": 7, + "forks": 17, + "open_issues": 7, + "watchers": 35, + "default_branch": "master" + }, + "organization": { + "login": "matrix-org", + "id": 8418310, + "url": "https://api.github.com/orgs/matrix-org", + "repos_url": "https://api.github.com/orgs/matrix-org/repos", + "events_url": "https://api.github.com/orgs/matrix-org/events", + "hooks_url": "https://api.github.com/orgs/matrix-org/hooks", + "issues_url": "https://api.github.com/orgs/matrix-org/issues", + "members_url": "https://api.github.com/orgs/matrix-org/members{/member}", + "public_members_url": "https://api.github.com/orgs/matrix-org/public_members{/member}", + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "description": "A new basis for open, interoperable, decentralised real-time communication" + }, + "sender": { + "login": "richvdh", + "id": 1389908, + "avatar_url": "https://avatars.githubusercontent.com/u/1389908?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/richvdh", + "html_url": "https://github.com/richvdh", + "followers_url": "https://api.github.com/users/richvdh/followers", + "following_url": "https://api.github.com/users/richvdh/following{/other_user}", + "gists_url": "https://api.github.com/users/richvdh/gists{/gist_id}", + "starred_url": "https://api.github.com/users/richvdh/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/richvdh/subscriptions", + "organizations_url": "https://api.github.com/users/richvdh/orgs", + "repos_url": "https://api.github.com/users/richvdh/repos", + "events_url": "https://api.github.com/users/richvdh/events{/privacy}", + "received_events_url": "https://api.github.com/users/richvdh/received_events", + "type": "User", + "site_admin": false + } + }`, + "[matrix-org/matrix-react-sdk] richvdh assigned pull request #303: Factor out common parts of room creation [open] to dbkr - https://github.com/matrix-org/matrix-react-sdk/pull/303", + "matrix-org/matrix-react-sdk", + }, + // ================================================================== + { + "pull_request_review_comment", + `{ + "action": "created", + "comment": { + "url": "https://api.github.com/repos/matrix-org/synapse/pulls/comments/66413356", + "id": 66413356, + "diff_hunk": "@@ -388,8 +388,8 @@ def get_or_create_user(self, localpart, displayname, duration_seconds):\n \n user = UserID(localpart, self.hs.hostname)\n user_id = user.to_string()\n- auth_handler = self.hs.get_handlers().auth_handler\n- token = auth_handler.generate_short_term_login_token(user_id, duration_seconds)\n+ token = self.auth_handler().generate_short_term_login_token(\n+ user_id, duration_seconds)", + "path": "synapse/handlers/register.py", + "position": 7, + "original_position": 7, + "commit_id": "6e7dc7c7dde377794c23d5db6f25ffacfb08e82a", + "original_commit_id": "6e7dc7c7dde377794c23d5db6f25ffacfb08e82a", + "user": { + "login": "erikjohnston", + "id": 8428120, + "avatar_url": "https://avatars.githubusercontent.com/u/8428120?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/erikjohnston", + "html_url": "https://github.com/erikjohnston", + "followers_url": "https://api.github.com/users/erikjohnston/followers", + "following_url": "https://api.github.com/users/erikjohnston/following{/other_user}", + "gists_url": "https://api.github.com/users/erikjohnston/gists{/gist_id}", + "starred_url": "https://api.github.com/users/erikjohnston/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/erikjohnston/subscriptions", + "organizations_url": "https://api.github.com/users/erikjohnston/orgs", + "repos_url": "https://api.github.com/users/erikjohnston/repos", + "events_url": "https://api.github.com/users/erikjohnston/events{/privacy}", + "received_events_url": "https://api.github.com/users/erikjohnston/received_events", + "type": "User", + "site_admin": false + }, + "body": "Code style wise we prefer the closing parenthesis to be on a new line", + "created_at": "2016-06-09T10:00:43Z", + "updated_at": "2016-06-09T10:00:43Z", + "html_url": "https://github.com/matrix-org/synapse/pull/860#discussion_r66413356", + "pull_request_url": "https://api.github.com/repos/matrix-org/synapse/pulls/860", + "_links": { + "self": { + "href": "https://api.github.com/repos/matrix-org/synapse/pulls/comments/66413356" + }, + "html": { + "href": "https://github.com/matrix-org/synapse/pull/860#discussion_r66413356" + }, + "pull_request": { + "href": "https://api.github.com/repos/matrix-org/synapse/pulls/860" + } + } + }, + "pull_request": { + "url": "https://api.github.com/repos/matrix-org/synapse/pulls/860", + "id": 73166014, + "html_url": "https://github.com/matrix-org/synapse/pull/860", + "diff_url": "https://github.com/matrix-org/synapse/pull/860.diff", + "patch_url": "https://github.com/matrix-org/synapse/pull/860.patch", + "issue_url": "https://api.github.com/repos/matrix-org/synapse/issues/860", + "number": 860, + "state": "open", + "locked": false, + "title": "Fix a bug caused by a change in auth_handler function", + "user": { + "login": "negzi", + "id": 6698393, + "avatar_url": "https://avatars.githubusercontent.com/u/6698393?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/negzi", + "html_url": "https://github.com/negzi", + "followers_url": "https://api.github.com/users/negzi/followers", + "following_url": "https://api.github.com/users/negzi/following{/other_user}", + "gists_url": "https://api.github.com/users/negzi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/negzi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/negzi/subscriptions", + "organizations_url": "https://api.github.com/users/negzi/orgs", + "repos_url": "https://api.github.com/users/negzi/repos", + "events_url": "https://api.github.com/users/negzi/events{/privacy}", + "received_events_url": "https://api.github.com/users/negzi/received_events", + "type": "User", + "site_admin": false + }, + "body": "Fix a bug caused by a change in auth_handler function\r\nalso fix the relevant unit test cases", + "created_at": "2016-06-09T07:03:30Z", + "updated_at": "2016-06-09T10:00:43Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "1ceebdb4f9cf46d32e04bc411276bb17e1150fce", + "assignee": null, + "milestone": null, + "commits_url": "https://api.github.com/repos/matrix-org/synapse/pulls/860/commits", + "review_comments_url": "https://api.github.com/repos/matrix-org/synapse/pulls/860/comments", + "review_comment_url": "https://api.github.com/repos/matrix-org/synapse/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/matrix-org/synapse/issues/860/comments", + "statuses_url": "https://api.github.com/repos/matrix-org/synapse/statuses/6e7dc7c7dde377794c23d5db6f25ffacfb08e82a", + "head": { + "label": "negzi:bug_fix_get_or_create_user", + "ref": "bug_fix_get_or_create_user", + "sha": "6e7dc7c7dde377794c23d5db6f25ffacfb08e82a", + "user": { + "login": "negzi", + "id": 6698393, + "avatar_url": "https://avatars.githubusercontent.com/u/6698393?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/negzi", + "html_url": "https://github.com/negzi", + "followers_url": "https://api.github.com/users/negzi/followers", + "following_url": "https://api.github.com/users/negzi/following{/other_user}", + "gists_url": "https://api.github.com/users/negzi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/negzi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/negzi/subscriptions", + "organizations_url": "https://api.github.com/users/negzi/orgs", + "repos_url": "https://api.github.com/users/negzi/repos", + "events_url": "https://api.github.com/users/negzi/events{/privacy}", + "received_events_url": "https://api.github.com/users/negzi/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 60715519, + "name": "synapse", + "full_name": "negzi/synapse", + "owner": { + "login": "negzi", + "id": 6698393, + "avatar_url": "https://avatars.githubusercontent.com/u/6698393?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/negzi", + "html_url": "https://github.com/negzi", + "followers_url": "https://api.github.com/users/negzi/followers", + "following_url": "https://api.github.com/users/negzi/following{/other_user}", + "gists_url": "https://api.github.com/users/negzi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/negzi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/negzi/subscriptions", + "organizations_url": "https://api.github.com/users/negzi/orgs", + "repos_url": "https://api.github.com/users/negzi/repos", + "events_url": "https://api.github.com/users/negzi/events{/privacy}", + "received_events_url": "https://api.github.com/users/negzi/received_events", + "type": "User", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/negzi/synapse", + "description": "Synapse: Matrix reference homeserver", + "fork": true, + "url": "https://api.github.com/repos/negzi/synapse", + "forks_url": "https://api.github.com/repos/negzi/synapse/forks", + "keys_url": "https://api.github.com/repos/negzi/synapse/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/negzi/synapse/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/negzi/synapse/teams", + "hooks_url": "https://api.github.com/repos/negzi/synapse/hooks", + "issue_events_url": "https://api.github.com/repos/negzi/synapse/issues/events{/number}", + "events_url": "https://api.github.com/repos/negzi/synapse/events", + "assignees_url": "https://api.github.com/repos/negzi/synapse/assignees{/user}", + "branches_url": "https://api.github.com/repos/negzi/synapse/branches{/branch}", + "tags_url": "https://api.github.com/repos/negzi/synapse/tags", + "blobs_url": "https://api.github.com/repos/negzi/synapse/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/negzi/synapse/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/negzi/synapse/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/negzi/synapse/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/negzi/synapse/statuses/{sha}", + "languages_url": "https://api.github.com/repos/negzi/synapse/languages", + "stargazers_url": "https://api.github.com/repos/negzi/synapse/stargazers", + "contributors_url": "https://api.github.com/repos/negzi/synapse/contributors", + "subscribers_url": "https://api.github.com/repos/negzi/synapse/subscribers", + "subscription_url": "https://api.github.com/repos/negzi/synapse/subscription", + "commits_url": "https://api.github.com/repos/negzi/synapse/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/negzi/synapse/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/negzi/synapse/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/negzi/synapse/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/negzi/synapse/contents/{+path}", + "compare_url": "https://api.github.com/repos/negzi/synapse/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/negzi/synapse/merges", + "archive_url": "https://api.github.com/repos/negzi/synapse/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/negzi/synapse/downloads", + "issues_url": "https://api.github.com/repos/negzi/synapse/issues{/number}", + "pulls_url": "https://api.github.com/repos/negzi/synapse/pulls{/number}", + "milestones_url": "https://api.github.com/repos/negzi/synapse/milestones{/number}", + "notifications_url": "https://api.github.com/repos/negzi/synapse/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/negzi/synapse/labels{/name}", + "releases_url": "https://api.github.com/repos/negzi/synapse/releases{/id}", + "deployments_url": "https://api.github.com/repos/negzi/synapse/deployments", + "created_at": "2016-06-08T17:09:39Z", + "updated_at": "2016-06-08T17:09:41Z", + "pushed_at": "2016-06-08T21:26:01Z", + "git_url": "git://github.com/negzi/synapse.git", + "ssh_url": "git@github.com:negzi/synapse.git", + "clone_url": "https://github.com/negzi/synapse.git", + "svn_url": "https://github.com/negzi/synapse", + "homepage": "http://matrix.org", + "size": 11243, + "stargazers_count": 0, + "watchers_count": 0, + "language": "Python", + "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": "matrix-org:develop", + "ref": "develop", + "sha": "b7fbc9bd9534c88e3c8ffdfab8447d9e9bb6eb75", + "user": { + "login": "matrix-org", + "id": 8418310, + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/matrix-org", + "html_url": "https://github.com/matrix-org", + "followers_url": "https://api.github.com/users/matrix-org/followers", + "following_url": "https://api.github.com/users/matrix-org/following{/other_user}", + "gists_url": "https://api.github.com/users/matrix-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/matrix-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/matrix-org/subscriptions", + "organizations_url": "https://api.github.com/users/matrix-org/orgs", + "repos_url": "https://api.github.com/users/matrix-org/repos", + "events_url": "https://api.github.com/users/matrix-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/matrix-org/received_events", + "type": "Organization", + "site_admin": false + }, + "repo": { + "id": 22844864, + "name": "synapse", + "full_name": "matrix-org/synapse", + "owner": { + "login": "matrix-org", + "id": 8418310, + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/matrix-org", + "html_url": "https://github.com/matrix-org", + "followers_url": "https://api.github.com/users/matrix-org/followers", + "following_url": "https://api.github.com/users/matrix-org/following{/other_user}", + "gists_url": "https://api.github.com/users/matrix-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/matrix-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/matrix-org/subscriptions", + "organizations_url": "https://api.github.com/users/matrix-org/orgs", + "repos_url": "https://api.github.com/users/matrix-org/repos", + "events_url": "https://api.github.com/users/matrix-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/matrix-org/received_events", + "type": "Organization", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/matrix-org/synapse", + "description": "Synapse: Matrix reference homeserver", + "fork": false, + "url": "https://api.github.com/repos/matrix-org/synapse", + "forks_url": "https://api.github.com/repos/matrix-org/synapse/forks", + "keys_url": "https://api.github.com/repos/matrix-org/synapse/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/matrix-org/synapse/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/matrix-org/synapse/teams", + "hooks_url": "https://api.github.com/repos/matrix-org/synapse/hooks", + "issue_events_url": "https://api.github.com/repos/matrix-org/synapse/issues/events{/number}", + "events_url": "https://api.github.com/repos/matrix-org/synapse/events", + "assignees_url": "https://api.github.com/repos/matrix-org/synapse/assignees{/user}", + "branches_url": "https://api.github.com/repos/matrix-org/synapse/branches{/branch}", + "tags_url": "https://api.github.com/repos/matrix-org/synapse/tags", + "blobs_url": "https://api.github.com/repos/matrix-org/synapse/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/matrix-org/synapse/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/matrix-org/synapse/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/matrix-org/synapse/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/matrix-org/synapse/statuses/{sha}", + "languages_url": "https://api.github.com/repos/matrix-org/synapse/languages", + "stargazers_url": "https://api.github.com/repos/matrix-org/synapse/stargazers", + "contributors_url": "https://api.github.com/repos/matrix-org/synapse/contributors", + "subscribers_url": "https://api.github.com/repos/matrix-org/synapse/subscribers", + "subscription_url": "https://api.github.com/repos/matrix-org/synapse/subscription", + "commits_url": "https://api.github.com/repos/matrix-org/synapse/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/matrix-org/synapse/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/matrix-org/synapse/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/matrix-org/synapse/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/matrix-org/synapse/contents/{+path}", + "compare_url": "https://api.github.com/repos/matrix-org/synapse/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/matrix-org/synapse/merges", + "archive_url": "https://api.github.com/repos/matrix-org/synapse/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/matrix-org/synapse/downloads", + "issues_url": "https://api.github.com/repos/matrix-org/synapse/issues{/number}", + "pulls_url": "https://api.github.com/repos/matrix-org/synapse/pulls{/number}", + "milestones_url": "https://api.github.com/repos/matrix-org/synapse/milestones{/number}", + "notifications_url": "https://api.github.com/repos/matrix-org/synapse/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/matrix-org/synapse/labels{/name}", + "releases_url": "https://api.github.com/repos/matrix-org/synapse/releases{/id}", + "deployments_url": "https://api.github.com/repos/matrix-org/synapse/deployments", + "created_at": "2014-08-11T15:51:42Z", + "updated_at": "2016-06-09T00:24:47Z", + "pushed_at": "2016-06-09T09:58:32Z", + "git_url": "git://github.com/matrix-org/synapse.git", + "ssh_url": "git@github.com:matrix-org/synapse.git", + "clone_url": "https://github.com/matrix-org/synapse.git", + "svn_url": "https://github.com/matrix-org/synapse", + "homepage": "http://matrix.org", + "size": 17364, + "stargazers_count": 899, + "watchers_count": 899, + "language": "Python", + "has_issues": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 92, + "mirror_url": null, + "open_issues_count": 16, + "forks": 92, + "open_issues": 16, + "watchers": 899, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/matrix-org/synapse/pulls/860" + }, + "html": { + "href": "https://github.com/matrix-org/synapse/pull/860" + }, + "issue": { + "href": "https://api.github.com/repos/matrix-org/synapse/issues/860" + }, + "comments": { + "href": "https://api.github.com/repos/matrix-org/synapse/issues/860/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/matrix-org/synapse/pulls/860/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/matrix-org/synapse/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/matrix-org/synapse/pulls/860/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/matrix-org/synapse/statuses/6e7dc7c7dde377794c23d5db6f25ffacfb08e82a" + } + } + }, + "repository": { + "id": 22844864, + "name": "synapse", + "full_name": "matrix-org/synapse", + "owner": { + "login": "matrix-org", + "id": 8418310, + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/matrix-org", + "html_url": "https://github.com/matrix-org", + "followers_url": "https://api.github.com/users/matrix-org/followers", + "following_url": "https://api.github.com/users/matrix-org/following{/other_user}", + "gists_url": "https://api.github.com/users/matrix-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/matrix-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/matrix-org/subscriptions", + "organizations_url": "https://api.github.com/users/matrix-org/orgs", + "repos_url": "https://api.github.com/users/matrix-org/repos", + "events_url": "https://api.github.com/users/matrix-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/matrix-org/received_events", + "type": "Organization", + "site_admin": false + }, + "private": false, + "html_url": "https://github.com/matrix-org/synapse", + "description": "Synapse: Matrix reference homeserver", + "fork": false, + "url": "https://api.github.com/repos/matrix-org/synapse", + "forks_url": "https://api.github.com/repos/matrix-org/synapse/forks", + "keys_url": "https://api.github.com/repos/matrix-org/synapse/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/matrix-org/synapse/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/matrix-org/synapse/teams", + "hooks_url": "https://api.github.com/repos/matrix-org/synapse/hooks", + "issue_events_url": "https://api.github.com/repos/matrix-org/synapse/issues/events{/number}", + "events_url": "https://api.github.com/repos/matrix-org/synapse/events", + "assignees_url": "https://api.github.com/repos/matrix-org/synapse/assignees{/user}", + "branches_url": "https://api.github.com/repos/matrix-org/synapse/branches{/branch}", + "tags_url": "https://api.github.com/repos/matrix-org/synapse/tags", + "blobs_url": "https://api.github.com/repos/matrix-org/synapse/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/matrix-org/synapse/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/matrix-org/synapse/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/matrix-org/synapse/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/matrix-org/synapse/statuses/{sha}", + "languages_url": "https://api.github.com/repos/matrix-org/synapse/languages", + "stargazers_url": "https://api.github.com/repos/matrix-org/synapse/stargazers", + "contributors_url": "https://api.github.com/repos/matrix-org/synapse/contributors", + "subscribers_url": "https://api.github.com/repos/matrix-org/synapse/subscribers", + "subscription_url": "https://api.github.com/repos/matrix-org/synapse/subscription", + "commits_url": "https://api.github.com/repos/matrix-org/synapse/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/matrix-org/synapse/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/matrix-org/synapse/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/matrix-org/synapse/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/matrix-org/synapse/contents/{+path}", + "compare_url": "https://api.github.com/repos/matrix-org/synapse/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/matrix-org/synapse/merges", + "archive_url": "https://api.github.com/repos/matrix-org/synapse/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/matrix-org/synapse/downloads", + "issues_url": "https://api.github.com/repos/matrix-org/synapse/issues{/number}", + "pulls_url": "https://api.github.com/repos/matrix-org/synapse/pulls{/number}", + "milestones_url": "https://api.github.com/repos/matrix-org/synapse/milestones{/number}", + "notifications_url": "https://api.github.com/repos/matrix-org/synapse/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/matrix-org/synapse/labels{/name}", + "releases_url": "https://api.github.com/repos/matrix-org/synapse/releases{/id}", + "deployments_url": "https://api.github.com/repos/matrix-org/synapse/deployments", + "created_at": "2014-08-11T15:51:42Z", + "updated_at": "2016-06-09T00:24:47Z", + "pushed_at": "2016-06-09T09:58:32Z", + "git_url": "git://github.com/matrix-org/synapse.git", + "ssh_url": "git@github.com:matrix-org/synapse.git", + "clone_url": "https://github.com/matrix-org/synapse.git", + "svn_url": "https://github.com/matrix-org/synapse", + "homepage": "http://matrix.org", + "size": 17364, + "stargazers_count": 899, + "watchers_count": 899, + "language": "Python", + "has_issues": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 92, + "mirror_url": null, + "open_issues_count": 16, + "forks": 92, + "open_issues": 16, + "watchers": 899, + "default_branch": "master" + }, + "organization": { + "login": "matrix-org", + "id": 8418310, + "url": "https://api.github.com/orgs/matrix-org", + "repos_url": "https://api.github.com/orgs/matrix-org/repos", + "events_url": "https://api.github.com/orgs/matrix-org/events", + "hooks_url": "https://api.github.com/orgs/matrix-org/hooks", + "issues_url": "https://api.github.com/orgs/matrix-org/issues", + "members_url": "https://api.github.com/orgs/matrix-org/members{/member}", + "public_members_url": "https://api.github.com/orgs/matrix-org/public_members{/member}", + "avatar_url": "https://avatars.githubusercontent.com/u/8418310?v=3", + "description": "A new basis for open, interoperable, decentralised real-time communication" + }, + "sender": { + "login": "erikjohnston", + "id": 8428120, + "avatar_url": "https://avatars.githubusercontent.com/u/8428120?v=3", + "gravatar_id": "", + "url": "https://api.github.com/users/erikjohnston", + "html_url": "https://github.com/erikjohnston", + "followers_url": "https://api.github.com/users/erikjohnston/followers", + "following_url": "https://api.github.com/users/erikjohnston/following{/other_user}", + "gists_url": "https://api.github.com/users/erikjohnston/gists{/gist_id}", + "starred_url": "https://api.github.com/users/erikjohnston/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/erikjohnston/subscriptions", + "organizations_url": "https://api.github.com/users/erikjohnston/orgs", + "repos_url": "https://api.github.com/users/erikjohnston/repos", + "events_url": "https://api.github.com/users/erikjohnston/events{/privacy}", + "received_events_url": "https://api.github.com/users/erikjohnston/received_events", + "type": "User", + "site_admin": false + } + }`, + "[matrix-org/synapse] erikjohnston made a line comment on negzi's pull request #860 (assignee: None): Fix a bug caused by a change in auth_handler function - https://github.com/matrix-org/synapse/pull/860#discussion_r66413356", + "matrix-org/synapse", + }, +} + +func TestParseGithubEvent(t *testing.T) { + for _, gh := range ghtests { + outHTML, outRepo, outErr := parseGithubEvent(gh.eventType, []byte(gh.jsonBody)) + if outErr != nil { + t.Fatal(outErr) + } + if strings.TrimSpace(outHTML) != strings.TrimSpace(gh.outHTML) { + t.Fatalf("ParseGithubEvent(%s) => HTML output does not match. Got:\n%s\n\nExpected:\n%s", gh.eventType, + strings.TrimSpace(outHTML), strings.TrimSpace(gh.outHTML)) + } + if outRepo == nil { + t.Fatalf("ParseGithubEvent(%s) => Repo is nil", gh.eventType) + } + if *outRepo.FullName != gh.outFullRepo { + t.Fatalf("ParseGithubEvent(%s) => Repo: Want %s got %s", gh.eventType, gh.outFullRepo, *outRepo.FullName) + } + } +}