Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save teamdandelion/dbf2eda87dea3b90abcdc9795a995b10 to your computer and use it in GitHub Desktop.

Select an option

Save teamdandelion/dbf2eda87dea3b90abcdc9795a995b10 to your computer and use it in GitHub Desktop.
Bad Flow
commit a03c36bf6b2205e4a408b04bb0940d48346d0d50
Author: Dandelion Mané <dl@dandelion.io>
Date: Wed Apr 25 14:41:36 2018 -0700
Create GitHub reference edges
This commit adds the `addReferenceEdges()` method to the GitHub parser,
which examines all of the posts in the parsed graph and adds References
edges when it detects references between posts. As an example, `Hey
@wchargin, take a look at #1337` would generate two references.
We currently parse the following kinds of references:
- Numeric references to issues/PRs.
- Explicit in-repository url references (to any entity)
- @-author references
We do not parse:
- Cross-repository urls
- Cross-repository shortform (e.g. `sourcecred/sourcecred#100`)
`Parser.parse` calls `addReferenceEdges()`, so no change is required by
consumers to have reference edges added to their graphs.
The GitHub porcelain API layer now includes methods for retreiving the
entities referenced by a post.
Test plan:
This commit is tested both via snapshot tests, and explicit testing at
api layer. (Actually, the creation of the porcelain API layer was
prompted by wanting a cleaner way to test this commit.) I recommend
inspecting the snapshot tests for sanity, but mostly relying on the
tested behavior in api.test.js.
diff --git a/src/plugins/github/__snapshots__/parser.test.js.snap b/src/plugins/github/__snapshots__/parser.test.js.snap
index 17df0ab..847d69c 100644
--- a/src/plugins/github/__snapshots__/parser.test.js.snap
+++ b/src/plugins/github/__snapshots__/parser.test.js.snap
@@ -249,6 +249,21 @@ Object {
"type": "PULL_REQUEST",
},
},
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/wchargin\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/wchargin",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST",
+ },
+ },
"{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/wchargin\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW_COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
"dst": Object {
"id": "https://github.com/wchargin",
@@ -421,7 +436,7 @@ Object {
}
`;
-exports[`GithubParser whole repo parsing parses the entire example-repo as expected 1`] = `
+exports[`GithubParser reference detection discovers a simple reference 1`] = `
Object {
"edges": Object {
"{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/1\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
@@ -574,21 +589,6 @@ Object {
"type": "ISSUE",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/4\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
- "dst": Object {
- "id": "https://github.com/decentralion",
- "pluginName": "sourcecred/github-beta",
- "repositoryName": "sourcecred/example-repo",
- "type": "AUTHOR",
- },
- "payload": Object {},
- "src": Object {
- "id": "https://github.com/sourcecred/example-repo/issues/4",
- "pluginName": "sourcecred/github-beta",
- "repositoryName": "sourcecred/example-repo",
- "type": "ISSUE",
- },
- },
"{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
"dst": Object {
"id": "https://github.com/decentralion",
@@ -649,79 +649,79 @@ Object {
"type": "ISSUE",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/7\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
"dst": Object {
- "id": "https://github.com/decentralion",
+ "id": "https://github.com/sourcecred/example-repo/issues/6",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "AUTHOR",
+ "type": "ISSUE",
},
"payload": Object {},
"src": Object {
- "id": "https://github.com/sourcecred/example-repo/issues/7",
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "ISSUE",
+ "type": "COMMENT",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/8\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
"dst": Object {
- "id": "https://github.com/decentralion",
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "AUTHOR",
+ "type": "COMMENT",
},
"payload": Object {},
"src": Object {
- "id": "https://github.com/sourcecred/example-repo/issues/8",
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "ISSUE",
+ "type": "COMMENT",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/1\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
"dst": Object {
- "id": "https://github.com/decentralion",
+ "id": "https://github.com/sourcecred/example-repo/issues/1",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "AUTHOR",
+ "type": "ISSUE",
},
"payload": Object {},
"src": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222",
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
"type": "COMMENT",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
"dst": Object {
- "id": "https://github.com/decentralion",
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "AUTHOR",
+ "type": "ISSUE",
},
"payload": Object {},
"src": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/3",
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "PULL_REQUEST",
+ "type": "COMMENT",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/1\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
"dst": Object {
- "id": "https://github.com/decentralion",
+ "id": "https://github.com/sourcecred/example-repo/issues/1",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "AUTHOR",
+ "type": "ISSUE",
},
"payload": Object {},
"src": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/5",
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "PULL_REQUEST",
+ "type": "ISSUE",
},
},
"{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
@@ -844,6 +844,21 @@ Object {
"type": "ISSUE",
},
},
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
"{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
"dst": Object {
"id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442",
@@ -889,57 +904,1211 @@ Object {
"type": "ISSUE",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ },
+ "nodes": Object {
+ "{\\"id\\":\\"https://github.com/decentralion\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHOR\\"}": Object {
+ "payload": Object {
+ "login": "decentralion",
+ "subtype": "USER",
+ "url": "https://github.com/decentralion",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/1\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"ISSUE\\"}": Object {
+ "payload": Object {
+ "body": "This is just an example issue.",
+ "number": 1,
+ "title": "An example issue.",
+ "url": "https://github.com/sourcecred/example-repo/issues/1",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"ISSUE\\"}": Object {
+ "payload": Object {
+ "body": "This issue references another issue, namely #1",
+ "number": 2,
+ "title": "A referencing issue.",
+ "url": "https://github.com/sourcecred/example-repo/issues/2",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "It should also be possible to reference by exact url: https://github.com/sourcecred/example-repo/issues/6",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "We might also reference individual comments directly.
+https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "Here's a PR by direct url: https://github.com/sourcecred/example-repo/pull/5",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "a PR review by url: https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "a PR Review Comment by url: https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "a user by url: https://github.com/wchargin",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "Here are several references:
+#1
+#2
+#3
+
+https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198
+https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899
+",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "This comment has no references.",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/6\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"ISSUE\\"}": Object {
+ "payload": Object {
+ "body": "This issue shall shortly have a few comments.",
+ "number": 6,
+ "title": "An issue with comments",
+ "url": "https://github.com/sourcecred/example-repo/issues/6",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "A wild COMMENT appeared!",
+ "url": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "And the maintainer said, \\"Let there be comments!\\"",
+ "url": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "This comment references an #2, which itself references an issue. This comment is thus allows us to test that in-references are not included when requesting a Post's references.",
+ "url": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316",
+ },
+ },
+ },
+}
+`;
+
+exports[`GithubParser reference detection handles dangling references gracefully 1`] = `
+Object {
+ "edges": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
"dst": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222",
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
"type": "COMMENT",
},
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
"payload": Object {},
"src": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/3",
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "PULL_REQUEST",
+ "type": "COMMENT",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW_COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
"dst": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198",
+ "id": "https://github.com/decentralion",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "PULL_REQUEST_REVIEW_COMMENT",
+ "type": "AUTHOR",
},
"payload": Object {},
"src": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "PULL_REQUEST_REVIEW",
+ "type": "COMMENT",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
"dst": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ "id": "https://github.com/decentralion",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "PULL_REQUEST_REVIEW",
+ "type": "AUTHOR",
},
"payload": Object {},
"src": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/5",
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "PULL_REQUEST",
+ "type": "COMMENT",
},
},
- "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100314038\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
"dst": Object {
- "id": "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100314038",
+ "id": "https://github.com/decentralion",
"pluginName": "sourcecred/github-beta",
"repositoryName": "sourcecred/example-repo",
- "type": "PULL_REQUEST_REVIEW",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ },
+ "nodes": Object {
+ "{\\"id\\":\\"https://github.com/decentralion\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHOR\\"}": Object {
+ "payload": Object {
+ "login": "decentralion",
+ "subtype": "USER",
+ "url": "https://github.com/decentralion",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"ISSUE\\"}": Object {
+ "payload": Object {
+ "body": "This issue references another issue, namely #1",
+ "number": 2,
+ "title": "A referencing issue.",
+ "url": "https://github.com/sourcecred/example-repo/issues/2",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "It should also be possible to reference by exact url: https://github.com/sourcecred/example-repo/issues/6",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "We might also reference individual comments directly.
+https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "Here's a PR by direct url: https://github.com/sourcecred/example-repo/pull/5",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "a PR review by url: https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "a PR Review Comment by url: https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "a user by url: https://github.com/wchargin",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "Here are several references:
+#1
+#2
+#3
+
+https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198
+https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899
+",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ },
+ },
+ "{\\"id\\":\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"COMMENT\\"}": Object {
+ "payload": Object {
+ "body": "This comment has no references.",
+ "url": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936",
+ },
+ },
+ },
+}
+`;
+
+exports[`GithubParser whole repo parsing parses the entire example-repo as expected 1`] = `
+Object {
+ "edges": Object {
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/1\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/1",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/4\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/4",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/7\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/7",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/8\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/8",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/3",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/decentralion\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"AUTHORS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/decentralion",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST_REVIEW",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW_COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST_REVIEW_COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/wchargin\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/wchargin",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/1\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/1",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/3",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW_COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST_REVIEW_COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST_REVIEW",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/1\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/1",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768703",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-373768850",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576185",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576220",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576248",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576273",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576920",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2#issuecomment-385576936",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768442",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/6",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/issues/2\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ISSUE\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/issues/2",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "ISSUE",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/3#issuecomment-369162222",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/3",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW_COMMENT\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST_REVIEW_COMMENT",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST_REVIEW",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST_REVIEW",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100314038\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST_REVIEW\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"CONTAINS\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100314038",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST_REVIEW",
+ },
+ "payload": Object {},
+ "src": Object {
+ "id": "https://github.com/sourcecred/example-repo/pull/5",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "PULL_REQUEST",
+ },
+ },
+ "{\\"id\\":\\"[{\\\\\\"id\\\\\\":\\\\\\"https://github.com/sourcecred/example-repo/pull/5\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"PULL_REQUEST\\\\\\"},{\\\\\\"id\\\\\\":\\\\\\"https://github.com/wchargin\\\\\\",\\\\\\"pluginName\\\\\\":\\\\\\"sourcecred/github-beta\\\\\\",\\\\\\"repositoryName\\\\\\":\\\\\\"sourcecred/example-repo\\\\\\",\\\\\\"type\\\\\\":\\\\\\"AUTHOR\\\\\\"}]\\",\\"pluginName\\":\\"sourcecred/github-beta\\",\\"repositoryName\\":\\"sourcecred/example-repo\\",\\"type\\":\\"REFERENCES\\"}": Object {
+ "dst": Object {
+ "id": "https://github.com/wchargin",
+ "pluginName": "sourcecred/github-beta",
+ "repositoryName": "sourcecred/example-repo",
+ "type": "AUTHOR",
},
"payload": Object {},
"src": Object {
diff --git a/src/plugins/github/api.js b/src/plugins/github/api.js
index b8f3b88..2caa68f 100644
--- a/src/plugins/github/api.js
+++ b/src/plugins/github/api.js
@@ -28,6 +28,7 @@ import {
PULL_REQUEST_NODE_TYPE,
PULL_REQUEST_REVIEW_NODE_TYPE,
PULL_REQUEST_REVIEW_COMMENT_NODE_TYPE,
+ REFERENCES_EDGE_TYPE,
} from "./types";
export type Entity =
@@ -135,6 +136,45 @@ class Post<
body(): string {
return this.node().payload.body;
}
+
+ references(): (Issue | PullRequest | Comment | Author)[] {
+ const result: (Issue | PullRequest | Comment | Author)[] = [];
+ this.graph
+ .neighborhood(this.nodeAddress, {
+ edgeType: REFERENCES_EDGE_TYPE,
+ direction: "OUT",
+ })
+ .forEach(({neighbor}) => {
+ const type: NodeType = (neighbor.type: any);
+ switch (type) {
+ case "ISSUE":
+ result.push(new Issue(this.graph, neighbor));
+ break;
+ case "PULL_REQUEST":
+ result.push(new PullRequest(this.graph, neighbor));
+ break;
+ case "COMMENT":
+ result.push(new Comment(this.graph, neighbor));
+ break;
+ case "AUTHOR":
+ result.push(new Author(this.graph, neighbor));
+ break;
+ case "PULL_REQUEST_REVIEW":
+ result.push(new PullRequestReview(this.graph, neighbor));
+ break;
+ case "PULL_REQUEST_REVIEW_COMMENT":
+ result.push(new PullRequestReviewComment(this.graph, neighbor));
+ break;
+ default:
+ // eslint-disable-next-line no-unused-expressions
+ (type: empty);
+ throw new Error(
+ `Attempted to parse reference to unknown entity type ${type}`
+ );
+ }
+ });
+ return result;
+ }
}
class Commentable<T: IssueNodePayload | PullRequestNodePayload> extends Post<
diff --git a/src/plugins/github/api.test.js b/src/plugins/github/api.test.js
index 6207642..c235a2d 100644
--- a/src/plugins/github/api.test.js
+++ b/src/plugins/github/api.test.js
@@ -8,6 +8,8 @@ import {
COMMENT_NODE_TYPE,
ISSUE_NODE_TYPE,
PULL_REQUEST_NODE_TYPE,
+ PULL_REQUEST_REVIEW_NODE_TYPE,
+ PULL_REQUEST_REVIEW_COMMENT_NODE_TYPE,
} from "./types";
describe("GitHub porcelain API", () => {
const graph = parse("sourcecred/example-repo", exampleRepoData);
@@ -127,4 +129,101 @@ describe("GitHub porcelain API", () => {
).toThrowError("to have type AUTHOR");
});
});
+ describe("References", () => {
+ it("via #-number", () => {
+ const srcIssue = issueOrPRByNumber(2);
+ const references = srcIssue.references();
+ expect(references).toHaveLength(1);
+ // Note: this verifies that we are not counting in-references, as
+ // https://github.com/sourcecred/example-repo/issues/6#issuecomment-385223316
+ // references #2.
+
+ const referenced = Issue.from(references[0]);
+ expect(referenced.number()).toBe(1);
+ });
+
+ describe("by exact url", () => {
+ function expectCommentToHaveSingleReference({commentNumber, type, url}) {
+ const references = issueOrPRByNumber(2)
+ .comments()
+ [commentNumber].references();
+ expect(references).toHaveLength(1);
+ expect(references[0].url()).toBe(url);
+ expect(references[0].type()).toBe(type);
+ }
+
+ it("to an issue", () => {
+ expectCommentToHaveSingleReference({
+ commentNumber: 0,
+ type: ISSUE_NODE_TYPE,
+ url: "https://github.com/sourcecred/example-repo/issues/6",
+ });
+ });
+
+ it("to a comment", () => {
+ expectCommentToHaveSingleReference({
+ commentNumber: 1,
+ type: COMMENT_NODE_TYPE,
+ url:
+ "https://github.com/sourcecred/example-repo/issues/6#issuecomment-373768538",
+ });
+ });
+
+ it("to a pull request", () => {
+ expectCommentToHaveSingleReference({
+ commentNumber: 2,
+ type: PULL_REQUEST_NODE_TYPE,
+ url: "https://github.com/sourcecred/example-repo/pull/5",
+ });
+ });
+
+ it("to a pull request review", () => {
+ expectCommentToHaveSingleReference({
+ commentNumber: 3,
+ type: PULL_REQUEST_REVIEW_NODE_TYPE,
+ url:
+ "https://github.com/sourcecred/example-repo/pull/5#pullrequestreview-100313899",
+ });
+ });
+
+ it("to a pull request review comment", () => {
+ expectCommentToHaveSingleReference({
+ commentNumber: 4,
+ type: PULL_REQUEST_REVIEW_COMMENT_NODE_TYPE,
+ url:
+ "https://github.com/sourcecred/example-repo/pull/5#discussion_r171460198",
+ });
+ });
+
+ it("to an author", () => {
+ expectCommentToHaveSingleReference({
+ commentNumber: 5,
+ type: AUTHOR_NODE_TYPE,
+ url: "https://github.com/wchargin",
+ });
+ });
+
+ it("to multiple entities", () => {
+ const references = issueOrPRByNumber(2)
+ .comments()[6]
+ .references();
+ expect(references).toHaveLength(5);
+ });
+
+ it("to no entities", () => {
+ const references = issueOrPRByNumber(2)
+ .comments()[7]
+ .references();
+ expect(references).toHaveLength(0);
+ });
+ });
+
+ it("References by @-author", () => {
+ const pr = issueOrPRByNumber(5);
+ const references = pr.references();
+ expect(references).toHaveLength(1);
+ const referenced = Author.from(references[0]);
+ expect(referenced.login()).toBe("wchargin");
+ });
+ });
});
diff --git a/src/plugins/github/parser.js b/src/plugins/github/parser.js
index 36286e0..094036a 100644
--- a/src/plugins/github/parser.js
+++ b/src/plugins/github/parser.js
@@ -12,6 +12,7 @@ import type {
PullRequestReviewCommentNodePayload,
CommentNodePayload,
PullRequestNodePayload,
+ ReferencesEdgePayload,
IssueNodePayload,
AuthorSubtype,
} from "./types";
@@ -29,6 +30,7 @@ import type {Address} from "../../core/address";
import {PLUGIN_NAME} from "./pluginName";
import {Graph, edgeID} from "../../core/graph";
const stringify = require("json-stable-stringify");
+import {findReferences} from "./findReferences";
export function parse(
repositoryName: string,
@@ -36,6 +38,7 @@ export function parse(
): Graph<NodePayload, EdgePayload> {
const parser = new GithubParser(repositoryName);
parser.addData(repositoryJSON);
+ parser.addReferenceEdges();
return parser.graph;
}
@@ -239,6 +242,70 @@ class GithubParser {
reviewJson.comments.nodes.forEach((c) => this.addComment(reviewNode, c));
}
+ /** Add all the in-repo GitHub reference edges detected.
+ *
+ * Parse all the nodes added to the GitHubParser, detect any
+ * GitHub references (e.g. url, #num, or @login), and add corresponding
+ * REFERENCE type edges.
+ *
+ * Needs to be called after adding data (or it will no-op).
+ * @returns {string[]}: All of the dangling (unparsed) reference strings.
+ */
+ addReferenceEdges(): string[] {
+ const referenceToNode = {};
+ this.graph.nodes().forEach((node) => {
+ referenceToNode[node.payload.url] = node;
+ const anyNode: Node<any> = node;
+ const type: NodeType = (node.address.type: any);
+ switch (type) {
+ case "ISSUE":
+ case "PULL_REQUEST":
+ const thisPayload: IssueNodePayload | PullRequestNodePayload =
+ anyNode.payload;
+ referenceToNode[`#${thisPayload.number}`] = node;
+ break;
+ case "AUTHOR":
+ let authorPayload: AuthorNodePayload = anyNode.payload;
+ referenceToNode[`@${authorPayload.login}`] = node;
+ break;
+ case "COMMENT":
+ case "PULL_REQUEST_REVIEW":
+ case "PULL_REQUEST_REVIEW_COMMENT":
+ break;
+ default:
+ // eslint-disable-next-line no-unused-expressions
+ (type: empty);
+ throw new Error(`unknown node type: ${type}`);
+ }
+ });
+
+ const danglingReferences = [];
+ this.graph.nodes().forEach((srcNode) => {
+ if (srcNode.payload.body !== undefined) {
+ const references = findReferences(srcNode.payload.body);
+ references.forEach((ref) => {
+ const dstNode = referenceToNode[ref];
+ if (dstNode === undefined) {
+ danglingReferences.push(ref);
+ } else {
+ const referenceEdge: Edge<ReferencesEdgePayload> = {
+ address: this.makeEdgeAddress(
+ "REFERENCES",
+ srcNode.address,
+ dstNode.address
+ ),
+ payload: {},
+ src: srcNode.address,
+ dst: dstNode.address,
+ };
+ this.graph.addEdge(referenceEdge);
+ }
+ });
+ }
+ });
+ return danglingReferences;
+ }
+
addData(dataJson: RepositoryJSON) {
dataJson.repository.issues.nodes.forEach((i) => this.addIssue(i));
dataJson.repository.pullRequests.nodes.forEach((pr) =>
diff --git a/src/plugins/github/parser.test.js b/src/plugins/github/parser.test.js
index 35cbe67..a89d342 100644
--- a/src/plugins/github/parser.test.js
+++ b/src/plugins/github/parser.test.js
@@ -8,6 +8,23 @@ import {Graph} from "../../core/graph";
import exampleRepoData from "./demoData/example-repo.json";
describe("GithubParser", () => {
+ function getIssue(n) {
+ const issues = exampleRepoData.repository.issues.nodes;
+ const selected = issues.filter((x) => x.number === n);
+ if (selected.length !== 1) {
+ throw new Error(`Failure finding issue #${n}`);
+ }
+ return selected[0];
+ }
+ function getPR(n) {
+ const pulls = exampleRepoData.repository.pullRequests.nodes;
+ const selected = pulls.filter((x) => x.number === n);
+ if (selected.length !== 1) {
+ throw new Error(`Failure finding PR #${n}`);
+ }
+ return selected[0];
+ }
+
describe("whole repo parsing", () => {
const graph = parse("sourcecred/example-repo", exampleRepoData);
@@ -134,4 +151,26 @@ describe("GithubParser", () => {
expect(parseExample({prs: [5]})).toMatchSnapshot();
});
});
+
+ describe("reference detection", () => {
+ // These tests are included mostly for regression testing. To be persuaded that the references
+ // were added correctly, see the reference api tests in api.test.js. Those tests are much
+ // easier to read and to be persuaded that the behavior is working as intended.
+ it("discovers a simple reference", () => {
+ expect(parseExample({issues: [1, 2, 6]})).toMatchSnapshot();
+ });
+
+ it("discovers references even when parsing issues out of order", () => {
+ // Ensure that we will detect a reference from A to B, even if B hasn't
+ // been discovered at the time that we parse A.
+ const graphA = parseExample({issues: [1, 2, 6]});
+ const graphB = parseExample({issues: [6, 2, 1]});
+ expect(graphA.equals(graphB)).toBe(true);
+ });
+
+ it("handles dangling references gracefully", () => {
+ const graph = parseExample({issues: [2]});
+ expect(graph).toMatchSnapshot();
+ });
+ });
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment