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)
+ }
+ }
+}