Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/nuance/github/NuanceGitHubRawEvent.php b/src/applications/nuance/github/NuanceGitHubRawEvent.php
index 50ab9020ef..0e8fe44c2e 100644
--- a/src/applications/nuance/github/NuanceGitHubRawEvent.php
+++ b/src/applications/nuance/github/NuanceGitHubRawEvent.php
@@ -1,137 +1,199 @@
<?php
final class NuanceGitHubRawEvent extends Phobject {
private $raw;
private $type;
const TYPE_ISSUE = 'issue';
const TYPE_REPOSITORY = 'repository';
public static function newEvent($type, array $raw) {
$event = new self();
$event->type = $type;
$event->raw = $raw;
return $event;
}
public function getRepositoryFullName() {
return $this->getRepositoryFullRawName();
}
public function isIssueEvent() {
if ($this->isPullRequestEvent()) {
return false;
}
if ($this->type == self::TYPE_ISSUE) {
return true;
}
switch ($this->getIssueRawKind()) {
case 'IssuesEvent':
return true;
case 'IssueCommentEvent':
if (!$this->getRawPullRequestData()) {
return true;
}
break;
}
return false;
}
public function isPullRequestEvent() {
if ($this->type == self::TYPE_ISSUE) {
// TODO: This is wrong, some of these are pull events.
return false;
}
$raw = $this->raw;
switch ($this->getIssueRawKind()) {
case 'PullRequestEvent':
return true;
case 'IssueCommentEvent':
if ($this->getRawPullRequestData()) {
return true;
}
break;
}
return false;
}
public function getIssueNumber() {
if (!$this->isIssueEvent()) {
return null;
}
return $this->getRawIssueNumber();
}
public function getPullRequestNumber() {
if (!$this->isPullRequestEvent()) {
return null;
}
return $this->getRawIssueNumber();
}
+
+ public function getID() {
+ $raw = $this->raw;
+
+ $id = idx($raw, 'id');
+ if ($id) {
+ return (int)$id;
+ }
+
+ return null;
+ }
+
+ public function getURI() {
+ $raw = $this->raw;
+
+ if ($this->isIssueEvent()) {
+ if ($this->type == self::TYPE_ISSUE) {
+ $uri = idxv($raw, array('issue', 'html_url'));
+ $uri = $uri.'#event-'.$this->getID();
+ } else {
+ $uri = idxv($raw, array('payload', 'issue', 'html_url'));
+ $uri = $uri.'#event-'.$this->getID();
+ }
+ } else if ($this->isPullRequestEvent()) {
+ if ($this->type == self::TYPE_ISSUE) {
+ $uri = idxv($raw, array('issue', 'html_url'));
+ $uri = $uri.'#event-'.$this->getID();
+ } else {
+ // The format of pull request events varies so we need to fish around
+ // a bit to find the correct URI.
+ $uri = idxv($raw, array('payload', 'pull_request', 'html_url'));
+ if (!$uri) {
+ $uri = idxv($raw, array('payload', 'issue', 'html_url'));
+ }
+ $uri = $uri.'#event-'.$this->getID();
+ }
+ } else {
+ switch ($this->getIssueRawKind()) {
+ case 'PushEvent':
+ // These don't really have a URI since there may be multiple commits
+ // involved and GitHub doesn't bundle the push as an object on its
+ // own. Just try to find the URI for the log. The API also does
+ // not return any HTML URI for these events.
+
+ $head = idxv($raw, array('payload', 'head'));
+ if ($head === null) {
+ return null;
+ }
+
+ $repo = $this->getRepositoryFullRawName();
+ return "https://github.com/{$repo}/commits/{$head}";
+ case 'WatchEvent':
+ // These have no reasonable URI.
+ return null;
+ default:
+ return null;
+ }
+ }
+
+ return $uri;
+ }
+
private function getRepositoryFullRawName() {
$raw = $this->raw;
$full = idxv($raw, array('repo', 'name'));
if (strlen($full)) {
return $full;
}
// For issue events, the repository is not identified explicitly in the
// response body. Parse it out of the URI.
$matches = null;
$ok = preg_match(
'(/repos/((?:[^/]+)/(?:[^/]+))/issues/events/)',
idx($raw, 'url'),
$matches);
if ($ok) {
return $matches[1];
}
return null;
}
private function getIssueRawKind() {
$raw = $this->raw;
return idxv($raw, array('type'));
}
private function getRawIssueNumber() {
$raw = $this->raw;
if ($this->type == self::TYPE_ISSUE) {
return idxv($raw, array('issue', 'number'));
}
if ($this->type == self::TYPE_REPOSITORY) {
$issue_number = idxv($raw, array('payload', 'issue', 'number'));
if ($issue_number) {
return $issue_number;
}
$pull_number = idxv($raw, array('payload', 'number'));
if ($pull_number) {
return $pull_number;
}
}
return null;
}
private function getRawPullRequestData() {
$raw = $this->raw;
return idxv($raw, array('payload', 'issue', 'pull_request'));
}
}
diff --git a/src/applications/nuance/github/__tests__/NuanceGitHubRawEventTestCase.php b/src/applications/nuance/github/__tests__/NuanceGitHubRawEventTestCase.php
index f956079b6a..5ce199cb8c 100644
--- a/src/applications/nuance/github/__tests__/NuanceGitHubRawEventTestCase.php
+++ b/src/applications/nuance/github/__tests__/NuanceGitHubRawEventTestCase.php
@@ -1,108 +1,110 @@
<?php
final class NuanceGitHubRawEventTestCase
extends PhabricatorTestCase {
public function testIssueEvents() {
$path = dirname(__FILE__).'/issueevents/';
$cases = $this->readTestCases($path);
foreach ($cases as $name => $info) {
$input = $info['input'];
$expect = $info['expect'];
$event = NuanceGitHubRawEvent::newEvent(
NuanceGitHubRawEvent::TYPE_ISSUE,
$input);
$this->assertGitHubRawEventParse($expect, $event, $name);
}
}
public function testRepositoryEvents() {
$path = dirname(__FILE__).'/repositoryevents/';
$cases = $this->readTestCases($path);
foreach ($cases as $name => $info) {
$input = $info['input'];
$expect = $info['expect'];
$event = NuanceGitHubRawEvent::newEvent(
NuanceGitHubRawEvent::TYPE_REPOSITORY,
$input);
$this->assertGitHubRawEventParse($expect, $event, $name);
}
}
private function assertGitHubRawEventParse(
array $expect,
NuanceGitHubRawEvent $event,
$name) {
$actual = array(
'repository.name.full' => $event->getRepositoryFullName(),
'is.issue' => $event->isIssueEvent(),
'is.pull' => $event->isPullRequestEvent(),
'issue.number' => $event->getIssueNumber(),
'pull.number' => $event->getPullRequestNumber(),
+ 'id' => $event->getID(),
+ 'uri' => $event->getURI(),
);
// Only verify the keys which are actually present in the test. This
// allows tests to specify only relevant keys.
$actual = array_select_keys($actual, array_keys($expect));
ksort($expect);
ksort($actual);
$this->assertEqual($expect, $actual, $name);
}
private function readTestCases($path) {
$files = Filesystem::listDirectory($path, $include_hidden = false);
$tests = array();
foreach ($files as $file) {
$data = Filesystem::readFile($path.$file);
$parts = preg_split('/^~{5,}$/m', $data);
if (count($parts) < 2) {
throw new Exception(
pht(
'Expected test file "%s" to contain an input section in JSON, '.
'then an expected result section in JSON, with the two sections '.
'separated by a line of "~~~~~", but the divider is not present '.
'in the file.',
$file));
} else if (count($parts) > 2) {
throw new Exception(
pht(
'Expected test file "%s" to contain exactly two sections, '.
'but it has more than two sections.'));
}
list($input, $expect) = $parts;
try {
$input = phutil_json_decode($input);
$expect = phutil_json_decode($expect);
} catch (Exception $ex) {
throw new PhutilProxyException(
pht(
'Exception while decoding test data for test "%s".',
$file),
$ex);
}
$tests[$file] = array(
'input' => $input,
'expect' => $expect,
);
}
return $tests;
}
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/assigned.txt b/src/applications/nuance/github/__tests__/issueevents/assigned.txt
index bdf5046e00..7c1c89435f 100644
--- a/src/applications/nuance/github/__tests__/issueevents/assigned.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/assigned.txt
@@ -1,114 +1,116 @@
{
"id": 583217900,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583217900",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "assigned",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:42:53Z",
"assignee": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"assigner": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583217900,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583217900"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/closed.txt b/src/applications/nuance/github/__tests__/issueevents/closed.txt
index 7651d07172..e13c9a1ffd 100644
--- a/src/applications/nuance/github/__tests__/issueevents/closed.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/closed.txt
@@ -1,76 +1,78 @@
{
"id": 583218864,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583218864",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "closed",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:43:53Z",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583218864,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583218864"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/demilestoned.txt b/src/applications/nuance/github/__tests__/issueevents/demilestoned.txt
index bbde0e7d24..1c9bab5725 100644
--- a/src/applications/nuance/github/__tests__/issueevents/demilestoned.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/demilestoned.txt
@@ -1,79 +1,81 @@
{
"id": 583218613,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583218613",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "demilestoned",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:43:36Z",
"milestone": {
"title": "b"
},
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583218613,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583218613"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/labeled.txt b/src/applications/nuance/github/__tests__/issueevents/labeled.txt
index bf41262ac4..92cd7cd4f0 100644
--- a/src/applications/nuance/github/__tests__/issueevents/labeled.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/labeled.txt
@@ -1,80 +1,82 @@
{
"id": 583217784,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583217784",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "labeled",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:42:44Z",
"label": {
"name": "bug",
"color": "fc2929"
},
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583217784,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583217784"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/locked.txt b/src/applications/nuance/github/__tests__/issueevents/locked.txt
index 440eec0d95..536d95af8e 100644
--- a/src/applications/nuance/github/__tests__/issueevents/locked.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/locked.txt
@@ -1,76 +1,78 @@
{
"id": 583218006,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583218006",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "locked",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:42:58Z",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583218006,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583218006"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/milestoned.txt b/src/applications/nuance/github/__tests__/issueevents/milestoned.txt
index e8b32b1113..748beddda9 100644
--- a/src/applications/nuance/github/__tests__/issueevents/milestoned.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/milestoned.txt
@@ -1,79 +1,81 @@
{
"id": 583217866,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583217866",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "milestoned",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:42:50Z",
"milestone": {
"title": "b"
},
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583217866,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583217866"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/renamed.txt b/src/applications/nuance/github/__tests__/issueevents/renamed.txt
index 0cbbd1ebb8..e4a4614ebb 100644
--- a/src/applications/nuance/github/__tests__/issueevents/renamed.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/renamed.txt
@@ -1,80 +1,82 @@
{
"id": 583218162,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583218162",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "renamed",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:43:07Z",
"rename": {
"from": "Enforce haiku in commit messages",
"to": "Enforce haiku in commit messages edit"
},
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583218162,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583218162"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/reopened.txt b/src/applications/nuance/github/__tests__/issueevents/reopened.txt
index bc778728d8..baab332450 100644
--- a/src/applications/nuance/github/__tests__/issueevents/reopened.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/reopened.txt
@@ -1,76 +1,78 @@
{
"id": 583218814,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583218814",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "reopened",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:43:50Z",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583218814,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583218814"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/unassigned.txt b/src/applications/nuance/github/__tests__/issueevents/unassigned.txt
index bc8b9e1df9..43c610b576 100644
--- a/src/applications/nuance/github/__tests__/issueevents/unassigned.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/unassigned.txt
@@ -1,114 +1,116 @@
{
"id": 583218511,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583218511",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "unassigned",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:43:29Z",
"assignee": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"assigner": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583218511,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583218511"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/unlabeled.txt b/src/applications/nuance/github/__tests__/issueevents/unlabeled.txt
index e3435605e0..8d40ba5702 100644
--- a/src/applications/nuance/github/__tests__/issueevents/unlabeled.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/unlabeled.txt
@@ -1,80 +1,82 @@
{
"id": 583218703,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583218703",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "unlabeled",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:43:42Z",
"label": {
"name": "bug",
"color": "fc2929"
},
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583218703,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583218703"
}
diff --git a/src/applications/nuance/github/__tests__/issueevents/unlocked.txt b/src/applications/nuance/github/__tests__/issueevents/unlocked.txt
index e59ba6e93f..080fbd79e8 100644
--- a/src/applications/nuance/github/__tests__/issueevents/unlocked.txt
+++ b/src/applications/nuance/github/__tests__/issueevents/unlocked.txt
@@ -1,76 +1,78 @@
{
"id": 583218062,
"url": "https://api.github.com/repos/epriestley/poems/issues/events/583218062",
"actor": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"event": "unlocked",
"commit_id": null,
"commit_url": null,
"created_at": "2016-03-09T12:43:01Z",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 5,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T14:34:46Z",
"closed_at": null,
"body": "OK"
}
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 583218062,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-583218062"
}
diff --git a/src/applications/nuance/github/__tests__/repositoryevents/IssueCommentEvent.created.pull.txt b/src/applications/nuance/github/__tests__/repositoryevents/IssueCommentEvent.created.pull.txt
index 0068f7c092..9c784f21be 100644
--- a/src/applications/nuance/github/__tests__/repositoryevents/IssueCommentEvent.created.pull.txt
+++ b/src/applications/nuance/github/__tests__/repositoryevents/IssueCommentEvent.created.pull.txt
@@ -1,161 +1,163 @@
{
"id": "3740938746",
"type": "IssueCommentEvent",
"actor": {
"id": 102631,
"login": "epriestley",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"avatar_url": "https://avatars.githubusercontent.com/u/102631?"
},
"repo": {
"id": 14627834,
"name": "epriestley/poems",
"url": "https://api.github.com/repos/epriestley/poems"
},
"payload": {
"action": "created",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/2",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/2/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/2/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/2/events",
"html_url": "https://github.com/epriestley/poems/pull/2",
"id": 139568860,
"number": 2,
"title": "Please Merge Quack2 into Feature",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
{
"url": "https://api.github.com/repos/epriestley/poems/labels/bug",
"name": "bug",
"color": "fc2929"
}
],
"state": "open",
"locked": false,
"assignee": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"milestone": {
"url": "https://api.github.com/repos/epriestley/poems/milestones/1",
"html_url": "https://github.com/epriestley/poems/milestones/b",
"labels_url": "https://api.github.com/repos/epriestley/poems/milestones/1/labels",
"id": 1633589,
"number": 1,
"title": "b",
"description": null,
"creator": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"open_issues": 1,
"closed_issues": 0,
"state": "open",
"created_at": "2016-03-09T12:42:50Z",
"updated_at": "2016-03-09T12:52:41Z",
"due_on": null,
"closed_at": null
},
"comments": 1,
"created_at": "2016-03-09T12:52:31Z",
"updated_at": "2016-03-09T12:53:06Z",
"closed_at": null,
"pull_request": {
"url": "https://api.github.com/repos/epriestley/poems/pulls/2",
"html_url": "https://github.com/epriestley/poems/pull/2",
"diff_url": "https://github.com/epriestley/poems/pull/2.diff",
"patch_url": "https://github.com/epriestley/poems/pull/2.patch"
},
"body": ""
},
"comment": {
"url": "https://api.github.com/repos/epriestley/poems/issues/comments/194282800",
"html_url": "https://github.com/epriestley/poems/pull/2#issuecomment-194282800",
"issue_url": "https://api.github.com/repos/epriestley/poems/issues/2",
"id": 194282800,
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2016-03-09T12:53:06Z",
"updated_at": "2016-03-09T12:53:06Z",
"body": "wub wub"
}
},
"public": true,
"created_at": "2016-03-09T12:53:06Z"
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": false,
"is.pull": true,
"issue.number": null,
- "pull.number": 2
+ "pull.number": 2,
+ "id": 3740938746,
+ "uri": "https://github.com/epriestley/poems/pull/2#event-3740938746"
}
diff --git a/src/applications/nuance/github/__tests__/repositoryevents/IssueCommentEvent.created.txt b/src/applications/nuance/github/__tests__/repositoryevents/IssueCommentEvent.created.txt
index c6fa5ccb54..b5034ef453 100644
--- a/src/applications/nuance/github/__tests__/repositoryevents/IssueCommentEvent.created.txt
+++ b/src/applications/nuance/github/__tests__/repositoryevents/IssueCommentEvent.created.txt
@@ -1,98 +1,100 @@
{
"id": "3733510485",
"type": "IssueCommentEvent",
"actor": {
"id": 102631,
"login": "epriestley",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"avatar_url": "https://avatars.githubusercontent.com/u/102631?"
},
"repo": {
"id": 14627834,
"name": "epriestley/poems",
"url": "https://api.github.com/repos/epriestley/poems"
},
"payload": {
"action": "created",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 1,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-08T00:41:22Z",
"closed_at": null,
"body": "OK"
},
"comment": {
"url": "https://api.github.com/repos/epriestley/poems/issues/comments/193528669",
"html_url": "https://github.com/epriestley/poems/issues/1#issuecomment-193528669",
"issue_url": "https://api.github.com/repos/epriestley/poems/issues/1",
"id": 193528669,
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2016-03-08T00:41:22Z",
"updated_at": "2016-03-08T00:41:22Z",
"body": "comment on issue"
}
},
"public": true,
"created_at": "2016-03-08T00:41:22Z"
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 3733510485,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-3733510485"
}
diff --git a/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.closed.txt b/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.closed.txt
index 8373e2ee52..78fc81be95 100644
--- a/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.closed.txt
+++ b/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.closed.txt
@@ -1,70 +1,72 @@
{
"id": "3740905151",
"type": "IssuesEvent",
"actor": {
"id": 102631,
"login": "epriestley",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"avatar_url": "https://avatars.githubusercontent.com/u/102631?"
},
"repo": {
"id": 14627834,
"name": "epriestley/poems",
"url": "https://api.github.com/repos/epriestley/poems"
},
"payload": {
"action": "closed",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "closed",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 2,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T12:43:48Z",
"closed_at": "2016-03-09T12:43:48Z",
"body": "OK"
}
},
"public": true,
"created_at": "2016-03-09T12:43:48Z"
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 3740905151,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-3740905151"
}
diff --git a/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.opened.txt b/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.opened.txt
index 91068727e7..7ba07a591b 100644
--- a/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.opened.txt
+++ b/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.opened.txt
@@ -1,70 +1,72 @@
{
"id": "3733509737",
"type": "IssuesEvent",
"actor": {
"id": 102631,
"login": "epriestley",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"avatar_url": "https://avatars.githubusercontent.com/u/102631?"
},
"repo": {
"id": 14627834,
"name": "epriestley/poems",
"url": "https://api.github.com/repos/epriestley/poems"
},
"payload": {
"action": "opened",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 0,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-08T00:41:08Z",
"closed_at": null,
"body": "OK"
}
},
"public": true,
"created_at": "2016-03-08T00:41:08Z"
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 3733509737,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-3733509737"
}
diff --git a/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.reopened.txt b/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.reopened.txt
index 6ab81e1028..797eb84078 100644
--- a/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.reopened.txt
+++ b/src/applications/nuance/github/__tests__/repositoryevents/IssuesEvent.reopened.txt
@@ -1,70 +1,72 @@
{
"id": "3740908680",
"type": "IssuesEvent",
"actor": {
"id": 102631,
"login": "epriestley",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"avatar_url": "https://avatars.githubusercontent.com/u/102631?"
},
"repo": {
"id": 14627834,
"name": "epriestley/poems",
"url": "https://api.github.com/repos/epriestley/poems"
},
"payload": {
"action": "reopened",
"issue": {
"url": "https://api.github.com/repos/epriestley/poems/issues/1",
"repository_url": "https://api.github.com/repos/epriestley/poems",
"labels_url": "https://api.github.com/repos/epriestley/poems/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/1/comments",
"events_url": "https://api.github.com/repos/epriestley/poems/issues/1/events",
"html_url": "https://github.com/epriestley/poems/issues/1",
"id": 139138813,
"number": 1,
"title": "Enforce haiku in commit messages edit",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"milestone": null,
"comments": 3,
"created_at": "2016-03-08T00:41:08Z",
"updated_at": "2016-03-09T12:44:49Z",
"closed_at": null,
"body": "OK"
}
},
"public": true,
"created_at": "2016-03-09T12:44:49Z"
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": true,
"is.pull": false,
- "issue.number": 1
+ "issue.number": 1,
+ "id": 3740908680,
+ "uri": "https://github.com/epriestley/poems/issues/1#event-3740908680"
}
diff --git a/src/applications/nuance/github/__tests__/repositoryevents/PullRequestEvent.opened.txt b/src/applications/nuance/github/__tests__/repositoryevents/PullRequestEvent.opened.txt
index 848ed63afe..c2f892f090 100644
--- a/src/applications/nuance/github/__tests__/repositoryevents/PullRequestEvent.opened.txt
+++ b/src/applications/nuance/github/__tests__/repositoryevents/PullRequestEvent.opened.txt
@@ -1,334 +1,336 @@
{
"id": "3740936638",
"type": "PullRequestEvent",
"actor": {
"id": 102631,
"login": "epriestley",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"avatar_url": "https://avatars.githubusercontent.com/u/102631?"
},
"repo": {
"id": 14627834,
"name": "epriestley/poems",
"url": "https://api.github.com/repos/epriestley/poems"
},
"payload": {
"action": "opened",
"number": 2,
"pull_request": {
"url": "https://api.github.com/repos/epriestley/poems/pulls/2",
"id": 62223852,
"html_url": "https://github.com/epriestley/poems/pull/2",
"diff_url": "https://github.com/epriestley/poems/pull/2.diff",
"patch_url": "https://github.com/epriestley/poems/pull/2.patch",
"issue_url": "https://api.github.com/repos/epriestley/poems/issues/2",
"number": 2,
"state": "open",
"locked": false,
"title": "Please Merge Quack2 into Feature",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2016-03-09T12:52:31Z",
"updated_at": "2016-03-09T12:52:31Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": null,
"assignee": null,
"milestone": null,
"commits_url": "https://api.github.com/repos/epriestley/poems/pulls/2/commits",
"review_comments_url": "https://api.github.com/repos/epriestley/poems/pulls/2/comments",
"review_comment_url": "https://api.github.com/repos/epriestley/poems/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/epriestley/poems/issues/2/comments",
"statuses_url": "https://api.github.com/repos/epriestley/poems/statuses/6cf5f6d0c8c06c4c73b8783666d9b3ecce138244",
"head": {
"label": "epriestley:feature",
"ref": "feature",
"sha": "6cf5f6d0c8c06c4c73b8783666d9b3ecce138244",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 14627834,
"name": "poems",
"full_name": "epriestley/poems",
"owner": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/epriestley/poems",
"description": "Poems (Mirror)",
"fork": false,
"url": "https://api.github.com/repos/epriestley/poems",
"forks_url": "https://api.github.com/repos/epriestley/poems/forks",
"keys_url": "https://api.github.com/repos/epriestley/poems/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/epriestley/poems/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/epriestley/poems/teams",
"hooks_url": "https://api.github.com/repos/epriestley/poems/hooks",
"issue_events_url": "https://api.github.com/repos/epriestley/poems/issues/events{/number}",
"events_url": "https://api.github.com/repos/epriestley/poems/events",
"assignees_url": "https://api.github.com/repos/epriestley/poems/assignees{/user}",
"branches_url": "https://api.github.com/repos/epriestley/poems/branches{/branch}",
"tags_url": "https://api.github.com/repos/epriestley/poems/tags",
"blobs_url": "https://api.github.com/repos/epriestley/poems/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/epriestley/poems/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/epriestley/poems/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/epriestley/poems/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/epriestley/poems/statuses/{sha}",
"languages_url": "https://api.github.com/repos/epriestley/poems/languages",
"stargazers_url": "https://api.github.com/repos/epriestley/poems/stargazers",
"contributors_url": "https://api.github.com/repos/epriestley/poems/contributors",
"subscribers_url": "https://api.github.com/repos/epriestley/poems/subscribers",
"subscription_url": "https://api.github.com/repos/epriestley/poems/subscription",
"commits_url": "https://api.github.com/repos/epriestley/poems/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/epriestley/poems/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/epriestley/poems/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/epriestley/poems/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/epriestley/poems/contents/{+path}",
"compare_url": "https://api.github.com/repos/epriestley/poems/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/epriestley/poems/merges",
"archive_url": "https://api.github.com/repos/epriestley/poems/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/epriestley/poems/downloads",
"issues_url": "https://api.github.com/repos/epriestley/poems/issues{/number}",
"pulls_url": "https://api.github.com/repos/epriestley/poems/pulls{/number}",
"milestones_url": "https://api.github.com/repos/epriestley/poems/milestones{/number}",
"notifications_url": "https://api.github.com/repos/epriestley/poems/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/epriestley/poems/labels{/name}",
"releases_url": "https://api.github.com/repos/epriestley/poems/releases{/id}",
"deployments_url": "https://api.github.com/repos/epriestley/poems/deployments",
"created_at": "2013-11-22T19:47:42Z",
"updated_at": "2016-01-21T17:10:27Z",
"pushed_at": "2016-01-21T17:10:21Z",
"git_url": "git://github.com/epriestley/poems.git",
"ssh_url": "git@github.com:epriestley/poems.git",
"clone_url": "https://github.com/epriestley/poems.git",
"svn_url": "https://github.com/epriestley/poems",
"homepage": null,
"size": 715,
"stargazers_count": 9,
"watchers_count": 9,
"language": "PHP",
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 9,
"default_branch": "master"
}
},
"base": {
"label": "epriestley:quack2",
"ref": "quack2",
"sha": "5a9c51e86615f6e1097b2a4a73ef0fe75981c1dd",
"user": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 14627834,
"name": "poems",
"full_name": "epriestley/poems",
"owner": {
"login": "epriestley",
"id": 102631,
"avatar_url": "https://avatars.githubusercontent.com/u/102631?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"html_url": "https://github.com/epriestley",
"followers_url": "https://api.github.com/users/epriestley/followers",
"following_url": "https://api.github.com/users/epriestley/following{/other_user}",
"gists_url": "https://api.github.com/users/epriestley/gists{/gist_id}",
"starred_url": "https://api.github.com/users/epriestley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/epriestley/subscriptions",
"organizations_url": "https://api.github.com/users/epriestley/orgs",
"repos_url": "https://api.github.com/users/epriestley/repos",
"events_url": "https://api.github.com/users/epriestley/events{/privacy}",
"received_events_url": "https://api.github.com/users/epriestley/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/epriestley/poems",
"description": "Poems (Mirror)",
"fork": false,
"url": "https://api.github.com/repos/epriestley/poems",
"forks_url": "https://api.github.com/repos/epriestley/poems/forks",
"keys_url": "https://api.github.com/repos/epriestley/poems/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/epriestley/poems/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/epriestley/poems/teams",
"hooks_url": "https://api.github.com/repos/epriestley/poems/hooks",
"issue_events_url": "https://api.github.com/repos/epriestley/poems/issues/events{/number}",
"events_url": "https://api.github.com/repos/epriestley/poems/events",
"assignees_url": "https://api.github.com/repos/epriestley/poems/assignees{/user}",
"branches_url": "https://api.github.com/repos/epriestley/poems/branches{/branch}",
"tags_url": "https://api.github.com/repos/epriestley/poems/tags",
"blobs_url": "https://api.github.com/repos/epriestley/poems/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/epriestley/poems/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/epriestley/poems/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/epriestley/poems/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/epriestley/poems/statuses/{sha}",
"languages_url": "https://api.github.com/repos/epriestley/poems/languages",
"stargazers_url": "https://api.github.com/repos/epriestley/poems/stargazers",
"contributors_url": "https://api.github.com/repos/epriestley/poems/contributors",
"subscribers_url": "https://api.github.com/repos/epriestley/poems/subscribers",
"subscription_url": "https://api.github.com/repos/epriestley/poems/subscription",
"commits_url": "https://api.github.com/repos/epriestley/poems/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/epriestley/poems/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/epriestley/poems/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/epriestley/poems/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/epriestley/poems/contents/{+path}",
"compare_url": "https://api.github.com/repos/epriestley/poems/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/epriestley/poems/merges",
"archive_url": "https://api.github.com/repos/epriestley/poems/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/epriestley/poems/downloads",
"issues_url": "https://api.github.com/repos/epriestley/poems/issues{/number}",
"pulls_url": "https://api.github.com/repos/epriestley/poems/pulls{/number}",
"milestones_url": "https://api.github.com/repos/epriestley/poems/milestones{/number}",
"notifications_url": "https://api.github.com/repos/epriestley/poems/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/epriestley/poems/labels{/name}",
"releases_url": "https://api.github.com/repos/epriestley/poems/releases{/id}",
"deployments_url": "https://api.github.com/repos/epriestley/poems/deployments",
"created_at": "2013-11-22T19:47:42Z",
"updated_at": "2016-01-21T17:10:27Z",
"pushed_at": "2016-01-21T17:10:21Z",
"git_url": "git://github.com/epriestley/poems.git",
"ssh_url": "git@github.com:epriestley/poems.git",
"clone_url": "https://github.com/epriestley/poems.git",
"svn_url": "https://github.com/epriestley/poems",
"homepage": null,
"size": 715,
"stargazers_count": 9,
"watchers_count": 9,
"language": "PHP",
"has_issues": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"open_issues_count": 2,
"forks": 0,
"open_issues": 2,
"watchers": 9,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/epriestley/poems/pulls/2"
},
"html": {
"href": "https://github.com/epriestley/poems/pull/2"
},
"issue": {
"href": "https://api.github.com/repos/epriestley/poems/issues/2"
},
"comments": {
"href": "https://api.github.com/repos/epriestley/poems/issues/2/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/epriestley/poems/pulls/2/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/epriestley/poems/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/epriestley/poems/pulls/2/commits"
},
"statuses": {
"href": "https://api.github.com/repos/epriestley/poems/statuses/6cf5f6d0c8c06c4c73b8783666d9b3ecce138244"
}
},
"merged": false,
"mergeable": null,
"mergeable_state": "unknown",
"merged_by": null,
"comments": 0,
"review_comments": 0,
"commits": 26,
"additions": 26,
"deletions": 0,
"changed_files": 1
}
},
"public": true,
"created_at": "2016-03-09T12:52:31Z"
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": false,
"is.pull": true,
"issue.number": null,
- "pull.number": 2
+ "pull.number": 2,
+ "id": 3740936638,
+ "uri": "https://github.com/epriestley/poems/pull/2#event-3740936638"
}
diff --git a/src/applications/nuance/github/__tests__/repositoryevents/PushEvent.txt b/src/applications/nuance/github/__tests__/repositoryevents/PushEvent.txt
index f36fed2f52..d7c1b5ecad 100644
--- a/src/applications/nuance/github/__tests__/repositoryevents/PushEvent.txt
+++ b/src/applications/nuance/github/__tests__/repositoryevents/PushEvent.txt
@@ -1,45 +1,47 @@
{
"id": "3498724127",
"type": "PushEvent",
"actor": {
"id": 102631,
"login": "epriestley",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"avatar_url": "https://avatars.githubusercontent.com/u/102631?"
},
"repo": {
"id": 14627834,
"name": "epriestley/poems",
"url": "https://api.github.com/repos/epriestley/poems"
},
"payload": {
"push_id": 924333172,
"size": 1,
"distinct_size": 1,
"ref": "refs/heads/master",
"head": "c829132d37c4c1da80d319942a5a1e500632b52f",
"before": "d8262dc45f0bd79c06571c6851d47efaeb6b599b",
"commits": [
{
"sha": "c829132d37c4c1da80d319942a5a1e500632b52f",
"author": {
"email": "git@epriestley.com",
"name": "epriestley"
},
"message": "Put 16K files in a single directory",
"distinct": true,
"url": "https://api.github.com/repos/epriestley/poems/commits/c829132d37c4c1da80d319942a5a1e500632b52f"
}
]
},
"public": true,
"created_at": "2016-01-06T11:21:59Z"
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": false,
"is.pull": false,
- "issue.number": null
+ "issue.number": null,
+ "id": 3498724127,
+ "uri": "https://github.com/epriestley/poems/commits/c829132d37c4c1da80d319942a5a1e500632b52f"
}
diff --git a/src/applications/nuance/github/__tests__/repositoryevents/WatchEvent.started.txt b/src/applications/nuance/github/__tests__/repositoryevents/WatchEvent.started.txt
index 7cc6ed8164..c65a5ee771 100644
--- a/src/applications/nuance/github/__tests__/repositoryevents/WatchEvent.started.txt
+++ b/src/applications/nuance/github/__tests__/repositoryevents/WatchEvent.started.txt
@@ -1,29 +1,31 @@
{
"id": "3740950917",
"type": "WatchEvent",
"actor": {
"id": 102631,
"login": "epriestley",
"gravatar_id": "",
"url": "https://api.github.com/users/epriestley",
"avatar_url": "https://avatars.githubusercontent.com/u/102631?"
},
"repo": {
"id": 14627834,
"name": "epriestley/poems",
"url": "https://api.github.com/repos/epriestley/poems"
},
"payload": {
"action": "started"
},
"public": true,
"created_at": "2016-03-09T12:56:28Z"
}
~~~~~
{
"repository.name.full": "epriestley/poems",
"is.issue": false,
"is.pull": false,
"issue.number": null,
- "pull.number": null
+ "pull.number": null,
+ "id": 3740950917,
+ "uri": null
}
diff --git a/src/applications/nuance/item/NuanceGitHubEventItemType.php b/src/applications/nuance/item/NuanceGitHubEventItemType.php
index cec3d366ec..dd52dc1c15 100644
--- a/src/applications/nuance/item/NuanceGitHubEventItemType.php
+++ b/src/applications/nuance/item/NuanceGitHubEventItemType.php
@@ -1,189 +1,232 @@
<?php
final class NuanceGitHubEventItemType
extends NuanceItemType {
const ITEMTYPE = 'github.event';
public function getItemTypeDisplayName() {
return pht('GitHub Event');
}
public function getItemTypeDisplayIcon() {
return 'fa-github';
}
public function getItemDisplayName(NuanceItem $item) {
$api_type = $item->getItemProperty('api.type');
switch ($api_type) {
case 'issue':
return $this->getGitHubIssueAPIEventDisplayName($item);
case 'repository':
return $this->getGitHubRepositoryAPIEventDisplayName($item);
default:
return pht('GitHub Event (Unknown API Type "%s")', $api_type);
}
}
private function getGitHubIssueAPIEventDisplayName(NuanceItem $item) {
$raw = $item->getItemProperty('api.raw', array());
$action = idxv($raw, array('event'));
$number = idxv($raw, array('issue', 'number'));
return pht('GitHub Issue #%d (%s)', $number, $action);
}
private function getGitHubRepositoryAPIEventDisplayName(NuanceItem $item) {
$raw = $item->getItemProperty('api.raw', array());
$repo = idxv($raw, array('repo', 'name'), pht('<unknown/unknown>'));
$type = idx($raw, 'type');
switch ($type) {
case 'PushEvent':
$head = idxv($raw, array('payload', 'head'));
$head = substr($head, 0, 8);
$name = pht('Push %s', $head);
break;
case 'IssuesEvent':
$action = idxv($raw, array('payload', 'action'));
$number = idxv($raw, array('payload', 'issue', 'number'));
$name = pht('Issue #%d (%s)', $number, $action);
break;
case 'IssueCommentEvent':
$action = idxv($raw, array('payload', 'action'));
$number = idxv($raw, array('payload', 'issue', 'number'));
$name = pht('Issue #%d (Comment, %s)', $number, $action);
break;
case 'PullRequestEvent':
$action = idxv($raw, array('payload', 'action'));
$number = idxv($raw, array('payload', 'pull_request', 'number'));
$name = pht('Pull Request #%d (%s)', $number, $action);
break;
default:
$name = pht('Unknown Event ("%s")', $type);
break;
}
return pht('GitHub %s %s', $repo, $name);
}
public function canUpdateItems() {
return true;
}
protected function updateItemFromSource(NuanceItem $item) {
$viewer = $this->getViewer();
$is_dirty = false;
// TODO: Link up the requestor, etc.
$source = $item->getSource();
$token = $source->getSourceProperty('github.token');
$token = new PhutilOpaqueEnvelope($token);
$ref = $this->getDoorkeeperRef($item);
if ($ref) {
$ref = id(new DoorkeeperImportEngine())
->setViewer($viewer)
->setRefs(array($ref))
->setThrowOnMissingLink(true)
->setContextProperty('github.token', $token)
->executeOne();
if ($ref->getSyncFailed()) {
$xobj = null;
} else {
$xobj = $ref->getExternalObject();
}
if ($xobj) {
$item->setItemProperty('doorkeeper.xobj.phid', $xobj->getPHID());
$is_dirty = true;
}
}
if ($item->getStatus() == NuanceItem::STATUS_IMPORTING) {
$item->setStatus(NuanceItem::STATUS_ROUTING);
$is_dirty = true;
}
if ($is_dirty) {
$item->save();
}
}
private function getDoorkeeperRef(NuanceItem $item) {
$raw = $this->newRawEvent($item);
$full_repository = $raw->getRepositoryFullName();
if (!strlen($full_repository)) {
return null;
}
if ($raw->isIssueEvent()) {
$ref_type = DoorkeeperBridgeGitHubIssue::OBJTYPE_GITHUB_ISSUE;
$issue_number = $raw->getIssueNumber();
$full_ref = "{$full_repository}#{$issue_number}";
} else {
return null;
}
return id(new DoorkeeperObjectRef())
->setApplicationType(DoorkeeperBridgeGitHub::APPTYPE_GITHUB)
->setApplicationDomain(DoorkeeperBridgeGitHub::APPDOMAIN_GITHUB)
->setObjectType($ref_type)
->setObjectID($full_ref);
}
private function newRawEvent(NuanceItem $item) {
$type = $item->getItemProperty('api.type');
$raw = $item->getItemProperty('api.raw', array());
return NuanceGitHubRawEvent::newEvent($type, $raw);
}
public function getItemActions(NuanceItem $item) {
$actions = array();
$actions[] = $this->newItemAction($item, 'raw')
->setName(pht('View Raw Event'))
->setWorkflow(true)
->setIcon('fa-code');
return $actions;
}
protected function handleAction(NuanceItem $item, $action) {
$controller = $this->getController();
switch ($action) {
case 'raw':
$raw = array(
'api.type' => $item->getItemProperty('api.type'),
'api.raw' => $item->getItemProperty('api.raw'),
);
$raw_output = id(new PhutilJSON())->encodeFormatted($raw);
$raw_box = id(new AphrontFormTextAreaControl())
->setCustomClass('PhabricatorMonospaced')
->setLabel(pht('Raw Event'))
->setHeight(AphrontFormTextAreaControl::HEIGHT_VERY_TALL)
->setValue($raw_output);
$form = id(new AphrontFormView())
->appendChild($raw_box);
return $controller->newDialog()
->setWidth(AphrontDialogView::WIDTH_FULL)
->setTitle(pht('GitHub Raw Event'))
->appendForm($form)
->addCancelButton($item->getURI(), pht('Done'));
}
return null;
}
+ protected function newItemView(NuanceItem $item) {
+ $content = array();
+
+ $content[] = $this->newGitHubEventItemPropertyBox($item);
+
+ return $content;
+ }
+
+ private function newGitHubEventItemPropertyBox($item) {
+ $viewer = $this->getViewer();
+
+ $property_list = id(new PHUIPropertyListView())
+ ->setViewer($viewer);
+
+ $event = $this->newRawEvent($item);
+
+ $property_list->addProperty(
+ pht('GitHub Event ID'),
+ $event->getID());
+
+ $event_uri = $event->getURI();
+ if ($event_uri && PhabricatorEnv::isValidRemoteURIForLink($event_uri)) {
+ $event_uri = phutil_tag(
+ 'a',
+ array(
+ 'href' => $event_uri,
+ ),
+ $event_uri);
+ }
+
+ if ($event_uri) {
+ $property_list->addProperty(
+ pht('GitHub Event URI'),
+ $event_uri);
+ }
+
+ return id(new PHUIObjectBoxView())
+ ->setHeaderText(pht('Event Properties'))
+ ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
+ ->appendChild($property_list);
+ }
+
+
}
diff --git a/src/applications/nuance/item/NuanceItemType.php b/src/applications/nuance/item/NuanceItemType.php
index 2f348dee1f..14b2fc5324 100644
--- a/src/applications/nuance/item/NuanceItemType.php
+++ b/src/applications/nuance/item/NuanceItemType.php
@@ -1,99 +1,99 @@
<?php
abstract class NuanceItemType
extends Phobject {
private $viewer;
private $controller;
public function setViewer(PhabricatorUser $viewer) {
$this->viewer = $viewer;
return $this;
}
public function getViewer() {
return $this->viewer;
}
public function setController(PhabricatorController $controller) {
$this->controller = $controller;
return $this;
}
public function getController() {
return $this->controller;
}
public function canUpdateItems() {
return false;
}
final public function buildItemView(NuanceItem $item) {
return $this->newItemView($item);
}
- protected function newItemView() {
+ protected function newItemView(NuanceItem $item) {
return null;
}
public function getItemTypeDisplayIcon() {
return null;
}
public function getItemActions(NuanceItem $item) {
return array();
}
abstract public function getItemTypeDisplayName();
abstract public function getItemDisplayName(NuanceItem $item);
final public function updateItem(NuanceItem $item) {
if (!$this->canUpdateItems()) {
throw new Exception(
pht(
'This item type ("%s", of class "%s") can not update items.',
$this->getItemTypeConstant(),
get_class($this)));
}
$this->updateItemFromSource($item);
}
protected function updateItemFromSource(NuanceItem $item) {
throw new PhutilMethodNotImplementedException();
}
final public function getItemTypeConstant() {
return $this->getPhobjectClassConstant('ITEMTYPE', 64);
}
final public static function getAllItemTypes() {
return id(new PhutilClassMapQuery())
->setAncestorClass(__CLASS__)
->setUniqueMethod('getItemTypeConstant')
->execute();
}
final protected function newItemAction(NuanceItem $item, $key) {
$id = $item->getID();
$action_uri = "/nuance/item/action/{$id}/{$key}/";
return id(new PhabricatorActionView())
->setHref($action_uri);
}
final public function buildActionResponse(NuanceItem $item, $action) {
$response = $this->handleAction($item, $action);
if ($response === null) {
return new Aphront404Response();
}
return $response;
}
protected function handleAction(NuanceItem $item, $action) {
return null;
}
}

File Metadata

Mime Type
text/x-diff
Expires
Tue, Mar 17, 2:53 AM (2 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
964343
Default Alt Text
(105 KB)

Event Timeline