{"action":"created","comment":{"url":"https://api.github.com/repos/palantir/plottable/pulls/comments/37917456","id":37917456,"diff_hunk":"@@ -206,4 +206,615 @@ describe(\"BaseAxis\", () => {\n     baseAxis = new Plottable.Axis(scale, \"right\");\n     assert.strictEqual(baseAxis.xAlignment(), \"left\", \"x alignment defaults to \\\"left\\\" for right axis\");\n   });\n+\n+  describe(\"axis annotations\", () => {\n+    describe(\"enabling annotations\", () => {\n+      it(\"has annotations disabled by default\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        assert.isFalse(axis.annotationsEnabled(), \"annotations are disabled by default\");\n+      });\n+\n+      it(\"can set if annotations are enabled\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        let annotationsEnabled = axis.annotationsEnabled();\n+        axis.annotationsEnabled(!annotationsEnabled);\n+        assert.strictEqual(axis.annotationsEnabled(), !annotationsEnabled, \"can set if annotations are enabled\");\n+      });\n+\n+      it(\"returns the axis when setting if annotations are enabled\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        assert.strictEqual(axis.annotationsEnabled(true), axis, \"enabling annotations return calling axis\");\n+      });\n+    });\n+\n+    describe(\"annotating ticks\", () => {\n+      it(\"has no annotated ticks by default\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        assert.deepEqual(axis.annotatedTicks(), [], \"no annotated ticks by default\");\n+      });\n+\n+      it(\"can set the annotated ticks\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        let annotatedTicks = [20, 30, 40];\n+        axis.annotatedTicks(annotatedTicks);\n+        assert.deepEqual(axis.annotatedTicks(), annotatedTicks, \"can set the annotated ticks\");\n+      });\n+\n+      it(\"returns the axis when setting the annotated ticks\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        assert.strictEqual(axis.annotatedTicks([]), axis, \"setting the annotated ticks returns calling axis\");\n+      });\n+    });\n+\n+    describe(\"formatting annotation ticks\", () => {\n+      it(\"uses the identity formatter by default\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        let annotationFormatter = axis.annotationFormatter();\n+        let identityFormatter = Plottable.Formatters.identity();\n+        let test = \"testString\";\n+        assert.strictEqual(annotationFormatter(test), identityFormatter(test), \"uses the identity formatter by default\");\n+      });\n+\n+      it(\"can set the annotation formatter\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        let annotationFormatter = (d: any) => \"\";\n+        axis.annotationFormatter(annotationFormatter);\n+        let test = \"testString\";\n+        assert.strictEqual(annotationFormatter(test), axis.annotationFormatter()(test), \"can set the annotated ticks\");\n+      });\n+\n+      it(\"returns the axis when setting the annotation formatter\", () => {\n+        let axis = new Plottable.Axis(new Plottable.Scale<{}, number>(), \"bottom\");\n+        assert.strictEqual(axis.annotationFormatter(() => \"\"), axis, \"setting the annotation formatter returns calling axis\");\n+      });\n+    });\n+\n+    describe(\"rendering annotations\", () => {\n+      describe(\"label content\", () => {\n+        it(\"does not render annotations by default\", () => {\n+          let mockScale = new Mocks.Scale<{}, number>();\n+          let axis = new Plottable.Axis(mockScale, \"bottom\");\n+          let svg = TestMethods.generateSVG(300, 300);\n+          axis.renderTo(svg);\n+          assert.strictEqual(axis.content().selectAll(\".annotation-label\").size(), 0, \"no annotations by default\");\n+          svg.remove();\n+        });\n+\n+        it(\"does not have annotations to render by default\", () => {","path":"test/axes/baseAxisTests.ts","position":78,"original_position":78,"commit_id":"e99f3874cc657d3be5b14c22f9308e315839957e","original_commit_id":"7aae9daffb6dd97805f5f7bca775ef6eb2371e5e","user":{"login":"bluong","id":1448299,"avatar_url":"https://avatars.githubusercontent.com/u/1448299?v=3","gravatar_id":"","url":"https://api.github.com/users/bluong","html_url":"https://github.com/bluong","followers_url":"https://api.github.com/users/bluong/followers","following_url":"https://api.github.com/users/bluong/following{/other_user}","gists_url":"https://api.github.com/users/bluong/gists{/gist_id}","starred_url":"https://api.github.com/users/bluong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluong/subscriptions","organizations_url":"https://api.github.com/users/bluong/orgs","repos_url":"https://api.github.com/users/bluong/repos","events_url":"https://api.github.com/users/bluong/events{/privacy}","received_events_url":"https://api.github.com/users/bluong/received_events","type":"User","site_admin":false},"body":"Same notes as above since checking that `annotatedTicks()` is an empty array by default is already proven earlier.","created_at":"2015-08-25T20:48:27Z","updated_at":"2015-08-25T20:48:27Z","html_url":"https://github.com/palantir/plottable/pull/2620#discussion_r37917456","pull_request_url":"https://api.github.com/repos/palantir/plottable/pulls/2620","_links":{"self":{"href":"https://api.github.com/repos/palantir/plottable/pulls/comments/37917456"},"html":{"href":"https://github.com/palantir/plottable/pull/2620#discussion_r37917456"},"pull_request":{"href":"https://api.github.com/repos/palantir/plottable/pulls/2620"}}},"pull_request":{"url":"https://api.github.com/repos/palantir/plottable/pulls/2620","id":42571886,"html_url":"https://github.com/palantir/plottable/pull/2620","diff_url":"https://github.com/palantir/plottable/pull/2620.diff","patch_url":"https://github.com/palantir/plottable/pull/2620.patch","issue_url":"https://api.github.com/repos/palantir/plottable/issues/2620","number":2620,"state":"open","locked":false,"title":"Axis annotation","user":{"login":"bluong","id":1448299,"avatar_url":"https://avatars.githubusercontent.com/u/1448299?v=3","gravatar_id":"","url":"https://api.github.com/users/bluong","html_url":"https://github.com/bluong","followers_url":"https://api.github.com/users/bluong/followers","following_url":"https://api.github.com/users/bluong/following{/other_user}","gists_url":"https://api.github.com/users/bluong/gists{/gist_id}","starred_url":"https://api.github.com/users/bluong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluong/subscriptions","organizations_url":"https://api.github.com/users/bluong/orgs","repos_url":"https://api.github.com/users/bluong/repos","events_url":"https://api.github.com/users/bluong/events{/privacy}","received_events_url":"https://api.github.com/users/bluong/received_events","type":"User","site_admin":false},"body":"Axis annotations are a visualization on top of an axis that places certain tick values into separate containers.  This allows for these ticks to present themselves as a bit more special to the user than other ticks.\r\n\r\nBelow is a simple example:\r\n\r\n![screen shot 2015-08-18 at 5 13 37 pm](https://cloud.githubusercontent.com/assets/1448299/9346051/8388ff32-45cc-11e5-840f-e66f1dbead53.png)\r\n\r\nNote that the annotations will reside in the margin area of the axis and will try to fill out that space as much as it can.  Under the situation where annotations were to collide if they are to be put in the same row, they would be placed in the next row.  If the annotation were to render outside the margin area, the annotation is hidden.\r\n\r\nNote that the annotations are placed below the axis area in the above example with a \"bottom\" orientation axis.  They will be placed above the axis area with a \"top\" orientation axis, right of the axis area with a \"right\" orientation axis , and left of the axis area with a \"left\" orientation axis.\r\n\r\nTo best calculate collisions, \"left\" and \"right\" orientation axes have the annotation labels rotated by 90 degrees.\r\n\r\nThis feature should work with all types of Axes.\r\n\r\nThe annotations can be styled through css.  To style the annotation circles, you can use the selector `.plottable .axis .annotation-circle`.  To style the annotation lines, you can use the selector `.plottable .axis .annotation-line`.  To style the annotation rectangles, you can use the selector `.plottable .axis .annotation-rect`.\r\n\r\nJSFiddle: http://jsfiddle.net/bluong63/86trca4u/2/\r\n\r\nAPI Additions:\r\n```typescript\r\n/**\r\n * Gets the annotated ticks\r\n */\r\nannotatedTicks(): D[];\r\n/**\r\n * Sets the annotated ticks\r\n *\r\n * @returns {Axis} The calling Axis.\r\n */\r\nannotatedTicks(annotatedTicks: D[]): Axis<D>;\r\n/**\r\n * Gets the formatter for the annotations\r\n */\r\nannotationFormatter(): Formatter;\r\n/**\r\n * Sets the formatter for the annotations\r\n *\r\n * @returns {Axis} The calling Axis.\r\n */\r\nannotationFormatter(annotationFormatter: Formatter): Axis<D>;\r\n/**\r\n * Gets if annotations are enabled\r\n */\r\nannotationsEnabled(): boolean;\r\n/**\r\n * Sets if annotations are enabled\r\n *\r\n * @returns {Axis} The calling Axis.\r\n */\r\nannotationsEnabled(annotationsEnabled: boolean): Axis<D>;\r\n```\r\n\r\nProtected API Additions:\r\n```typescript\r\n_drawAnnotations(): void;\r\n_removeAnnotations(): void;\r\n_axisSizeWithoutMargin(): number;\r\n```\r\n\r\nCloses #2517","created_at":"2015-08-17T10:02:58Z","updated_at":"2015-08-25T20:48:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"759249c91463799055fad2b2c08fcac70db7dae3","assignee":{"login":"jtlan","id":1440449,"avatar_url":"https://avatars.githubusercontent.com/u/1440449?v=3","gravatar_id":"","url":"https://api.github.com/users/jtlan","html_url":"https://github.com/jtlan","followers_url":"https://api.github.com/users/jtlan/followers","following_url":"https://api.github.com/users/jtlan/following{/other_user}","gists_url":"https://api.github.com/users/jtlan/gists{/gist_id}","starred_url":"https://api.github.com/users/jtlan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtlan/subscriptions","organizations_url":"https://api.github.com/users/jtlan/orgs","repos_url":"https://api.github.com/users/jtlan/repos","events_url":"https://api.github.com/users/jtlan/events{/privacy}","received_events_url":"https://api.github.com/users/jtlan/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/palantir/plottable/milestones/48","html_url":"https://github.com/palantir/plottable/milestones/v1.9.0","labels_url":"https://api.github.com/repos/palantir/plottable/milestones/48/labels","id":1258915,"number":48,"title":"v1.9.0","description":"","creator":{"login":"christinaforney","id":1559622,"avatar_url":"https://avatars.githubusercontent.com/u/1559622?v=3","gravatar_id":"","url":"https://api.github.com/users/christinaforney","html_url":"https://github.com/christinaforney","followers_url":"https://api.github.com/users/christinaforney/followers","following_url":"https://api.github.com/users/christinaforney/following{/other_user}","gists_url":"https://api.github.com/users/christinaforney/gists{/gist_id}","starred_url":"https://api.github.com/users/christinaforney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christinaforney/subscriptions","organizations_url":"https://api.github.com/users/christinaforney/orgs","repos_url":"https://api.github.com/users/christinaforney/repos","events_url":"https://api.github.com/users/christinaforney/events{/privacy}","received_events_url":"https://api.github.com/users/christinaforney/received_events","type":"User","site_admin":false},"open_issues":24,"closed_issues":2,"state":"open","created_at":"2015-08-17T18:49:20Z","updated_at":"2015-08-25T18:16:14Z","due_on":"2015-08-28T04:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/palantir/plottable/pulls/2620/commits","review_comments_url":"https://api.github.com/repos/palantir/plottable/pulls/2620/comments","review_comment_url":"https://api.github.com/repos/palantir/plottable/pulls/comments{/number}","comments_url":"https://api.github.com/repos/palantir/plottable/issues/2620/comments","statuses_url":"https://api.github.com/repos/palantir/plottable/statuses/e99f3874cc657d3be5b14c22f9308e315839957e","head":{"label":"palantir:axisAnnotations","ref":"axisAnnotations","sha":"e99f3874cc657d3be5b14c22f9308e315839957e","user":{"login":"palantir","id":303157,"avatar_url":"https://avatars.githubusercontent.com/u/303157?v=3","gravatar_id":"","url":"https://api.github.com/users/palantir","html_url":"https://github.com/palantir","followers_url":"https://api.github.com/users/palantir/followers","following_url":"https://api.github.com/users/palantir/following{/other_user}","gists_url":"https://api.github.com/users/palantir/gists{/gist_id}","starred_url":"https://api.github.com/users/palantir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantir/subscriptions","organizations_url":"https://api.github.com/users/palantir/orgs","repos_url":"https://api.github.com/users/palantir/repos","events_url":"https://api.github.com/users/palantir/events{/privacy}","received_events_url":"https://api.github.com/users/palantir/received_events","type":"Organization","site_admin":false},"repo":{"id":16149854,"name":"plottable","full_name":"palantir/plottable","owner":{"login":"palantir","id":303157,"avatar_url":"https://avatars.githubusercontent.com/u/303157?v=3","gravatar_id":"","url":"https://api.github.com/users/palantir","html_url":"https://github.com/palantir","followers_url":"https://api.github.com/users/palantir/followers","following_url":"https://api.github.com/users/palantir/following{/other_user}","gists_url":"https://api.github.com/users/palantir/gists{/gist_id}","starred_url":"https://api.github.com/users/palantir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantir/subscriptions","organizations_url":"https://api.github.com/users/palantir/orgs","repos_url":"https://api.github.com/users/palantir/repos","events_url":"https://api.github.com/users/palantir/events{/privacy}","received_events_url":"https://api.github.com/users/palantir/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/palantir/plottable","description":"A library of modular chart components, built on D3","fork":false,"url":"https://api.github.com/repos/palantir/plottable","forks_url":"https://api.github.com/repos/palantir/plottable/forks","keys_url":"https://api.github.com/repos/palantir/plottable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/palantir/plottable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/palantir/plottable/teams","hooks_url":"https://api.github.com/repos/palantir/plottable/hooks","issue_events_url":"https://api.github.com/repos/palantir/plottable/issues/events{/number}","events_url":"https://api.github.com/repos/palantir/plottable/events","assignees_url":"https://api.github.com/repos/palantir/plottable/assignees{/user}","branches_url":"https://api.github.com/repos/palantir/plottable/branches{/branch}","tags_url":"https://api.github.com/repos/palantir/plottable/tags","blobs_url":"https://api.github.com/repos/palantir/plottable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/palantir/plottable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/palantir/plottable/git/refs{/sha}","trees_url":"https://api.github.com/repos/palantir/plottable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/palantir/plottable/statuses/{sha}","languages_url":"https://api.github.com/repos/palantir/plottable/languages","stargazers_url":"https://api.github.com/repos/palantir/plottable/stargazers","contributors_url":"https://api.github.com/repos/palantir/plottable/contributors","subscribers_url":"https://api.github.com/repos/palantir/plottable/subscribers","subscription_url":"https://api.github.com/repos/palantir/plottable/subscription","commits_url":"https://api.github.com/repos/palantir/plottable/commits{/sha}","git_commits_url":"https://api.github.com/repos/palantir/plottable/git/commits{/sha}","comments_url":"https://api.github.com/repos/palantir/plottable/comments{/number}","issue_comment_url":"https://api.github.com/repos/palantir/plottable/issues/comments{/number}","contents_url":"https://api.github.com/repos/palantir/plottable/contents/{+path}","compare_url":"https://api.github.com/repos/palantir/plottable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/palantir/plottable/merges","archive_url":"https://api.github.com/repos/palantir/plottable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/palantir/plottable/downloads","issues_url":"https://api.github.com/repos/palantir/plottable/issues{/number}","pulls_url":"https://api.github.com/repos/palantir/plottable/pulls{/number}","milestones_url":"https://api.github.com/repos/palantir/plottable/milestones{/number}","notifications_url":"https://api.github.com/repos/palantir/plottable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/palantir/plottable/labels{/name}","releases_url":"https://api.github.com/repos/palantir/plottable/releases{/id}","created_at":"2014-01-22T19:29:19Z","updated_at":"2015-08-24T16:53:20Z","pushed_at":"2015-08-25T20:47:07Z","git_url":"git://github.com/palantir/plottable.git","ssh_url":"git@github.com:palantir/plottable.git","clone_url":"https://github.com/palantir/plottable.git","svn_url":"https://github.com/palantir/plottable","homepage":"plottablejs.org","size":133857,"stargazers_count":679,"watchers_count":679,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":68,"mirror_url":null,"open_issues_count":176,"forks":68,"open_issues":176,"watchers":679,"default_branch":"develop"}},"base":{"label":"palantir:develop","ref":"develop","sha":"12c812b0786882b7221cda92bca6dfc5b5077cb9","user":{"login":"palantir","id":303157,"avatar_url":"https://avatars.githubusercontent.com/u/303157?v=3","gravatar_id":"","url":"https://api.github.com/users/palantir","html_url":"https://github.com/palantir","followers_url":"https://api.github.com/users/palantir/followers","following_url":"https://api.github.com/users/palantir/following{/other_user}","gists_url":"https://api.github.com/users/palantir/gists{/gist_id}","starred_url":"https://api.github.com/users/palantir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantir/subscriptions","organizations_url":"https://api.github.com/users/palantir/orgs","repos_url":"https://api.github.com/users/palantir/repos","events_url":"https://api.github.com/users/palantir/events{/privacy}","received_events_url":"https://api.github.com/users/palantir/received_events","type":"Organization","site_admin":false},"repo":{"id":16149854,"name":"plottable","full_name":"palantir/plottable","owner":{"login":"palantir","id":303157,"avatar_url":"https://avatars.githubusercontent.com/u/303157?v=3","gravatar_id":"","url":"https://api.github.com/users/palantir","html_url":"https://github.com/palantir","followers_url":"https://api.github.com/users/palantir/followers","following_url":"https://api.github.com/users/palantir/following{/other_user}","gists_url":"https://api.github.com/users/palantir/gists{/gist_id}","starred_url":"https://api.github.com/users/palantir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantir/subscriptions","organizations_url":"https://api.github.com/users/palantir/orgs","repos_url":"https://api.github.com/users/palantir/repos","events_url":"https://api.github.com/users/palantir/events{/privacy}","received_events_url":"https://api.github.com/users/palantir/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/palantir/plottable","description":"A library of modular chart components, built on D3","fork":false,"url":"https://api.github.com/repos/palantir/plottable","forks_url":"https://api.github.com/repos/palantir/plottable/forks","keys_url":"https://api.github.com/repos/palantir/plottable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/palantir/plottable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/palantir/plottable/teams","hooks_url":"https://api.github.com/repos/palantir/plottable/hooks","issue_events_url":"https://api.github.com/repos/palantir/plottable/issues/events{/number}","events_url":"https://api.github.com/repos/palantir/plottable/events","assignees_url":"https://api.github.com/repos/palantir/plottable/assignees{/user}","branches_url":"https://api.github.com/repos/palantir/plottable/branches{/branch}","tags_url":"https://api.github.com/repos/palantir/plottable/tags","blobs_url":"https://api.github.com/repos/palantir/plottable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/palantir/plottable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/palantir/plottable/git/refs{/sha}","trees_url":"https://api.github.com/repos/palantir/plottable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/palantir/plottable/statuses/{sha}","languages_url":"https://api.github.com/repos/palantir/plottable/languages","stargazers_url":"https://api.github.com/repos/palantir/plottable/stargazers","contributors_url":"https://api.github.com/repos/palantir/plottable/contributors","subscribers_url":"https://api.github.com/repos/palantir/plottable/subscribers","subscription_url":"https://api.github.com/repos/palantir/plottable/subscription","commits_url":"https://api.github.com/repos/palantir/plottable/commits{/sha}","git_commits_url":"https://api.github.com/repos/palantir/plottable/git/commits{/sha}","comments_url":"https://api.github.com/repos/palantir/plottable/comments{/number}","issue_comment_url":"https://api.github.com/repos/palantir/plottable/issues/comments{/number}","contents_url":"https://api.github.com/repos/palantir/plottable/contents/{+path}","compare_url":"https://api.github.com/repos/palantir/plottable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/palantir/plottable/merges","archive_url":"https://api.github.com/repos/palantir/plottable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/palantir/plottable/downloads","issues_url":"https://api.github.com/repos/palantir/plottable/issues{/number}","pulls_url":"https://api.github.com/repos/palantir/plottable/pulls{/number}","milestones_url":"https://api.github.com/repos/palantir/plottable/milestones{/number}","notifications_url":"https://api.github.com/repos/palantir/plottable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/palantir/plottable/labels{/name}","releases_url":"https://api.github.com/repos/palantir/plottable/releases{/id}","created_at":"2014-01-22T19:29:19Z","updated_at":"2015-08-24T16:53:20Z","pushed_at":"2015-08-25T20:47:07Z","git_url":"git://github.com/palantir/plottable.git","ssh_url":"git@github.com:palantir/plottable.git","clone_url":"https://github.com/palantir/plottable.git","svn_url":"https://github.com/palantir/plottable","homepage":"plottablejs.org","size":133857,"stargazers_count":679,"watchers_count":679,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":68,"mirror_url":null,"open_issues_count":176,"forks":68,"open_issues":176,"watchers":679,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/palantir/plottable/pulls/2620"},"html":{"href":"https://github.com/palantir/plottable/pull/2620"},"issue":{"href":"https://api.github.com/repos/palantir/plottable/issues/2620"},"comments":{"href":"https://api.github.com/repos/palantir/plottable/issues/2620/comments"},"review_comments":{"href":"https://api.github.com/repos/palantir/plottable/pulls/2620/comments"},"review_comment":{"href":"https://api.github.com/repos/palantir/plottable/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/palantir/plottable/pulls/2620/commits"},"statuses":{"href":"https://api.github.com/repos/palantir/plottable/statuses/e99f3874cc657d3be5b14c22f9308e315839957e"}}}}