{"action":"created","comment":{"url":"https://api.github.com/repos/medic/medic-webapp/pulls/comments/107534888","pull_request_review_id":28514183,"id":107534888,"diff_hunk":"@@ -0,0 +1,279 @@\n+const utils = require('../utils');\n+\n+describe('registration transition', () => {\n+\n+  'use strict';\n+\n+  const PHONE = '+64271234567';\n+  const FORM_NAME = 'Registration';\n+\n+  // contacts\n+  const BOB_PLACE = {\n+    _id: 'bob-contact',\n+    reported_date: 1,\n+    type: 'clinic',\n+    name: 'Bob Place'\n+  };\n+  const CAROL = {\n+    _id: 'carol-contact',\n+    reported_date: 1,\n+    type: 'person',\n+    phone: PHONE,\n+    name: 'Carol Carolina',\n+    parent: BOB_PLACE,\n+    patient_id: '05946',\n+    sex: 'f',\n+    date_of_birth: 1462333250374\n+  };\n+\n+  const DOCS = [ BOB_PLACE, CAROL ];\n+  const CONFIG = {\n+    transitions: {\n+      accept_patient_reports: {\n+        load: './transitions/accept_patient_reports.js'\n+      },\n+      conditional_alerts: {\n+        load: './transitions/conditional_alerts.js'\n+      },\n+      default_responses: {\n+        load: './transitions/default_responses.js'\n+      },\n+      update_sent_by: {\n+        load: './transitions/update_sent_by.js'\n+      },\n+      registration: {\n+        load: './transitions/registration.js'\n+      },\n+      update_clinics: {\n+        load: './transitions/update_clinics.js'\n+      },\n+      update_notifications: {\n+        load: './transitions/update_notifications.js'\n+      },\n+      update_scheduled_reports: {\n+        load: './transitions/update_scheduled_reports.js'\n+      },\n+      update_sent_forms: {\n+        load: './transitions/update_sent_forms.js'\n+      }\n+    },\n+    forms: {\n+      R: {\n+        meta: {\n+          code: 'R',\n+          label: {\n+            en: FORM_NAME\n+          }\n+        },\n+        fields: {\n+          patient_name: {\n+            labels: {\n+              tiny: {\n+                en: 'N'\n+              },\n+              description: {\n+                en: 'Patient Name'\n+              },\n+              short: {\n+                en: 'Name'\n+              }\n+            },\n+            position: 0,\n+            type: 'string',\n+            length: [ 1, 30 ],\n+            required: true\n+          },\n+          last_menstrual_period: {\n+            labels: {\n+              tiny: {\n+                  en: 'LMP'\n+              },\n+              description: {\n+                  en: 'Weeks since last menstrual period'\n+              },\n+              short: {\n+                  en: 'Weeks since LMP'\n+              }\n+            },\n+            position: 1,\n+            type: 'integer',\n+            length: [ 1, 2 ],\n+            range: [ 0, 40 ],\n+            required: true,\n+            validations: {},\n+            flags: {}\n+          }\n+        },\n+        public_form: true,\n+        use_sentinel: true\n+      }\n+    },\n+    registrations: [{\n+      form: 'R',\n+      events: [\n+        {\n+          name: 'on_create',\n+          trigger: 'add_patient',\n+          params: '',\n+          bool_expr: ''\n+        },\n+        {\n+          name: 'on_create',\n+          trigger: 'add_expected_date',\n+          params: 'lmp_date',\n+          bool_expr: 'doc.fields.last_menstrual_period'\n+        },\n+        {\n+          name: 'on_create',\n+          trigger: 'assign_schedule',\n+          params: 'ANC Reminders LMP',\n+          bool_expr: 'doc.fields.last_menstrual_period'\n+        }\n+      ],\n+      validations: {\n+        join_responses: false,\n+        list: [{\n+          property: 'patient_name',\n+          rule: 'lenMin(1) && lenMax(30)',\n+          message: [{\n+            content: '{{#patient_name}}The registration format is incorrect, ensure the message starts with R followed by space and the mother name (maximum of 30 characters).{{/patient_name}}{{^patient_name}}The registration format is incorrect. ensure the message starts with R followed by space and the mothers name.{{/patient_name}}.',\n+            locale: 'en'\n+          }]\n+        }]\n+      },\n+      messages: [{\n+        message: [{\n+          content: 'Thank you {{contact.name}} for registering {{patient_name}}',\n+          locale: 'en'\n+        }],\n+        recipient: 'reporting_unit'\n+      }]\n+    }],\n+    schedules: [{\n+      name: 'ANC Reminders LMP',\n+      summary: '',\n+      description: '',\n+      start_from: 'lmp_date',\n+      messages: [\n+        {\n+          message: [{\n+            content: 'Visit 1 reminder for {{patient_name}}',\n+            locale: 'en'\n+          }],\n+          group: 1,\n+          offset: '15 weeks',\n+          send_day: 'monday',\n+          send_time: '09:00',\n+          recipient: 'reporting_unit'\n+        },\n+        {\n+          message: [{\n+            content: 'Visit 2 reminder for {{patient_name}}',\n+            locale: 'en'\n+          }],\n+          group: 2,\n+          offset: '20 weeks',\n+          send_day: 'monday',\n+          send_time: '09:00',\n+          recipient: 'reporting_unit'\n+        }\n+      ]\n+    }]\n+  };\n+  const savedUuids = [];\n+\n+  const submit = body => {\n+    const content = JSON.stringify(body);\n+    return utils.request({\n+      method: 'POST',\n+      path: '/api/sms',\n+      body: content,\n+      headers: {\n+        'Content-Type': 'application/json',\n+        'Content-Length': content.length\n+      }\n+    });\n+  };\n+\n+  // refresh after changing settings so the new settings are loaded\n+  const refresh = () => {\n+    browser.driver.navigate().refresh();\n+    return browser.wait(() => browser.isElementPresent(by.id('reports-tab')), 10000);\n+  };\n+\n+  describe('submits new sms messages', () => {\n+\n+    beforeEach(done => {\n+      browser.ignoreSynchronization = true;\n+      const body = {\n+        messages: [{\n+          from: PHONE,\n+          content: 'R Siobhan 12',\n+          id: 'a'\n+        }]\n+      };\n+      utils.updateSettings(CONFIG)\n+        .then(() => protractor.promise.all(DOCS.map(utils.saveDoc)))\n+        .then(results => results.forEach(result => savedUuids.push(result.id)))\n+        .then(() => submit(body))\n+        .then(() => refresh)\n+        .then(done)\n+        .catch(done);\n+    });\n+\n+    afterEach(done => {\n+      utils.revertSettings()\n+        .then(() => protractor.promise.all(savedUuids.map(utils.deleteDoc)))\n+        .then(refresh)\n+        .then(done)\n+        .catch(done);\n+    });\n+\n+    const checkItemSummary = () => {\n+      const summaryElement = element(by.css('#reports-content .item-summary'));\n+      expect(summaryElement.element(by.css('.name')).getText()).toBe(CAROL.name);\n+      expect(summaryElement.element(by.css('.phone')).getText()).toBe(CAROL.phone);\n+      expect(summaryElement.element(by.css('.position a')).getText()).toBe(BOB_PLACE.name);\n+      expect(summaryElement.element(by.css('.detail > div:last-child')).getText()).toBe(FORM_NAME);\n+      expect(summaryElement.element(by.css('.detail .status .fa-circle.green-dot')).isDisplayed()).toBeTruthy();\n+    };\n+\n+    const checkAutoResponse = () => {\n+      const taskElement = element(by.css('#reports-content .details > ul'));\n+      expect(taskElement.element(by.css('.task-list > li > ul > li')).getText()).toBe('Thank you for registering Siobhan');\n+      expect(taskElement.element(by.css('.task-list .task-state .state.pending')).isDisplayed()).toBeTruthy();\n+      expect(taskElement.element(by.css('.task-list .task-state .recipient')).getText()).toBe(' to +64271234567');\n+    };\n+\n+    const checkScheduledTask = (childIndex, title, message) => {\n+      const taskElement = element(by.css('#reports-content .details .scheduled-tasks > ul > li:nth-child(' + childIndex + ')'));\n+      expect(taskElement.element(by.css('p')).getText()).toContain(title);\n+      expect(taskElement.element(by.css('.task-list li > ul > li')).getText()).toBe(message);\n+      expect(taskElement.element(by.css('.task-list li .task-state .state.scheduled')).isDisplayed()).toBeTruthy();\n+      expect(taskElement.element(by.css('.task-list li .task-state .recipient')).getText()).toBe(' to +64271234567');\n+    };\n+\n+    it('shows content', () => {\n+      browser.driver.navigate().refresh();","path":"tests/protractor/e2e/registration-by-sms.js","position":257,"original_position":257,"commit_id":"1fbdb56d23f38743db15317ba6783cbb191463ed","original_commit_id":"1fbdb56d23f38743db15317ba6783cbb191463ed","user":{"login":"garethbowen","id":2064938,"avatar_url":"https://avatars1.githubusercontent.com/u/2064938?v=3","gravatar_id":"","url":"https://api.github.com/users/garethbowen","html_url":"https://github.com/garethbowen","followers_url":"https://api.github.com/users/garethbowen/followers","following_url":"https://api.github.com/users/garethbowen/following{/other_user}","gists_url":"https://api.github.com/users/garethbowen/gists{/gist_id}","starred_url":"https://api.github.com/users/garethbowen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garethbowen/subscriptions","organizations_url":"https://api.github.com/users/garethbowen/orgs","repos_url":"https://api.github.com/users/garethbowen/repos","events_url":"https://api.github.com/users/garethbowen/events{/privacy}","received_events_url":"https://api.github.com/users/garethbowen/received_events","type":"User","site_admin":false},"body":"Ugh. IDK man. This was about the point I gave up...","created_at":"2017-03-22T21:15:19Z","updated_at":"2017-03-22T21:15:19Z","html_url":"https://github.com/medic/medic-webapp/pull/3266#discussion_r107534888","pull_request_url":"https://api.github.com/repos/medic/medic-webapp/pulls/3266","_links":{"self":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/comments/107534888"},"html":{"href":"https://github.com/medic/medic-webapp/pull/3266#discussion_r107534888"},"pull_request":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/3266"}}},"pull_request":{"url":"https://api.github.com/repos/medic/medic-webapp/pulls/3266","id":111975138,"html_url":"https://github.com/medic/medic-webapp/pull/3266","diff_url":"https://github.com/medic/medic-webapp/pull/3266.diff","patch_url":"https://github.com/medic/medic-webapp/pull/3266.patch","issue_url":"https://api.github.com/repos/medic/medic-webapp/issues/3266","number":3266,"state":"open","locked":false,"title":"Add e2e test for sentinel transition","user":{"login":"garethbowen","id":2064938,"avatar_url":"https://avatars1.githubusercontent.com/u/2064938?v=3","gravatar_id":"","url":"https://api.github.com/users/garethbowen","html_url":"https://github.com/garethbowen","followers_url":"https://api.github.com/users/garethbowen/followers","following_url":"https://api.github.com/users/garethbowen/following{/other_user}","gists_url":"https://api.github.com/users/garethbowen/gists{/gist_id}","starred_url":"https://api.github.com/users/garethbowen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garethbowen/subscriptions","organizations_url":"https://api.github.com/users/garethbowen/orgs","repos_url":"https://api.github.com/users/garethbowen/repos","events_url":"https://api.github.com/users/garethbowen/events{/privacy}","received_events_url":"https://api.github.com/users/garethbowen/received_events","type":"User","site_admin":false},"body":"Most of the work here was to start sentinel so that e2e tests can be\r\nwritten to test sentinel workflows. To prove it works it includes a\r\ntest for the registration transition.\r\n\r\nmedic/medic-webapp#3229","created_at":"2017-03-22T10:28:19Z","updated_at":"2017-03-22T21:15:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e8991c0cfc3c7d325255e837fb6a28fe67d50702","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/medic/medic-webapp/pulls/3266/commits","review_comments_url":"https://api.github.com/repos/medic/medic-webapp/pulls/3266/comments","review_comment_url":"https://api.github.com/repos/medic/medic-webapp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/medic/medic-webapp/issues/3266/comments","statuses_url":"https://api.github.com/repos/medic/medic-webapp/statuses/1fbdb56d23f38743db15317ba6783cbb191463ed","head":{"label":"medic:3229-sentinel-e2e-test","ref":"3229-sentinel-e2e-test","sha":"1fbdb56d23f38743db15317ba6783cbb191463ed","user":{"login":"medic","id":474424,"avatar_url":"https://avatars1.githubusercontent.com/u/474424?v=3","gravatar_id":"","url":"https://api.github.com/users/medic","html_url":"https://github.com/medic","followers_url":"https://api.github.com/users/medic/followers","following_url":"https://api.github.com/users/medic/following{/other_user}","gists_url":"https://api.github.com/users/medic/gists{/gist_id}","starred_url":"https://api.github.com/users/medic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medic/subscriptions","organizations_url":"https://api.github.com/users/medic/orgs","repos_url":"https://api.github.com/users/medic/repos","events_url":"https://api.github.com/users/medic/events{/privacy}","received_events_url":"https://api.github.com/users/medic/received_events","type":"Organization","site_admin":false},"repo":{"id":2698821,"name":"medic-webapp","full_name":"medic/medic-webapp","owner":{"login":"medic","id":474424,"avatar_url":"https://avatars1.githubusercontent.com/u/474424?v=3","gravatar_id":"","url":"https://api.github.com/users/medic","html_url":"https://github.com/medic","followers_url":"https://api.github.com/users/medic/followers","following_url":"https://api.github.com/users/medic/following{/other_user}","gists_url":"https://api.github.com/users/medic/gists{/gist_id}","starred_url":"https://api.github.com/users/medic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medic/subscriptions","organizations_url":"https://api.github.com/users/medic/orgs","repos_url":"https://api.github.com/users/medic/repos","events_url":"https://api.github.com/users/medic/events{/privacy}","received_events_url":"https://api.github.com/users/medic/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/medic/medic-webapp","description":"Medic Mobile combines SMS messaging, data collection, and analytics for health workers and health systems in hard-to-reach areas with or without internet connectivity.","fork":false,"url":"https://api.github.com/repos/medic/medic-webapp","forks_url":"https://api.github.com/repos/medic/medic-webapp/forks","keys_url":"https://api.github.com/repos/medic/medic-webapp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/medic/medic-webapp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/medic/medic-webapp/teams","hooks_url":"https://api.github.com/repos/medic/medic-webapp/hooks","issue_events_url":"https://api.github.com/repos/medic/medic-webapp/issues/events{/number}","events_url":"https://api.github.com/repos/medic/medic-webapp/events","assignees_url":"https://api.github.com/repos/medic/medic-webapp/assignees{/user}","branches_url":"https://api.github.com/repos/medic/medic-webapp/branches{/branch}","tags_url":"https://api.github.com/repos/medic/medic-webapp/tags","blobs_url":"https://api.github.com/repos/medic/medic-webapp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/medic/medic-webapp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/medic/medic-webapp/git/refs{/sha}","trees_url":"https://api.github.com/repos/medic/medic-webapp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/medic/medic-webapp/statuses/{sha}","languages_url":"https://api.github.com/repos/medic/medic-webapp/languages","stargazers_url":"https://api.github.com/repos/medic/medic-webapp/stargazers","contributors_url":"https://api.github.com/repos/medic/medic-webapp/contributors","subscribers_url":"https://api.github.com/repos/medic/medic-webapp/subscribers","subscription_url":"https://api.github.com/repos/medic/medic-webapp/subscription","commits_url":"https://api.github.com/repos/medic/medic-webapp/commits{/sha}","git_commits_url":"https://api.github.com/repos/medic/medic-webapp/git/commits{/sha}","comments_url":"https://api.github.com/repos/medic/medic-webapp/comments{/number}","issue_comment_url":"https://api.github.com/repos/medic/medic-webapp/issues/comments{/number}","contents_url":"https://api.github.com/repos/medic/medic-webapp/contents/{+path}","compare_url":"https://api.github.com/repos/medic/medic-webapp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/medic/medic-webapp/merges","archive_url":"https://api.github.com/repos/medic/medic-webapp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/medic/medic-webapp/downloads","issues_url":"https://api.github.com/repos/medic/medic-webapp/issues{/number}","pulls_url":"https://api.github.com/repos/medic/medic-webapp/pulls{/number}","milestones_url":"https://api.github.com/repos/medic/medic-webapp/milestones{/number}","notifications_url":"https://api.github.com/repos/medic/medic-webapp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/medic/medic-webapp/labels{/name}","releases_url":"https://api.github.com/repos/medic/medic-webapp/releases{/id}","deployments_url":"https://api.github.com/repos/medic/medic-webapp/deployments","created_at":"2011-11-02T23:19:55Z","updated_at":"2017-03-09T02:33:45Z","pushed_at":"2017-03-22T21:02:04Z","git_url":"git://github.com/medic/medic-webapp.git","ssh_url":"git@github.com:medic/medic-webapp.git","clone_url":"https://github.com/medic/medic-webapp.git","svn_url":"https://github.com/medic/medic-webapp","homepage":"http://medicmobile.org/tools","size":32962,"stargazers_count":73,"watchers_count":73,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":36,"mirror_url":null,"open_issues_count":363,"forks":36,"open_issues":363,"watchers":73,"default_branch":"master"}},"base":{"label":"medic:master","ref":"master","sha":"240b1349665001290a4ea295cb8ded463d007e48","user":{"login":"medic","id":474424,"avatar_url":"https://avatars1.githubusercontent.com/u/474424?v=3","gravatar_id":"","url":"https://api.github.com/users/medic","html_url":"https://github.com/medic","followers_url":"https://api.github.com/users/medic/followers","following_url":"https://api.github.com/users/medic/following{/other_user}","gists_url":"https://api.github.com/users/medic/gists{/gist_id}","starred_url":"https://api.github.com/users/medic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medic/subscriptions","organizations_url":"https://api.github.com/users/medic/orgs","repos_url":"https://api.github.com/users/medic/repos","events_url":"https://api.github.com/users/medic/events{/privacy}","received_events_url":"https://api.github.com/users/medic/received_events","type":"Organization","site_admin":false},"repo":{"id":2698821,"name":"medic-webapp","full_name":"medic/medic-webapp","owner":{"login":"medic","id":474424,"avatar_url":"https://avatars1.githubusercontent.com/u/474424?v=3","gravatar_id":"","url":"https://api.github.com/users/medic","html_url":"https://github.com/medic","followers_url":"https://api.github.com/users/medic/followers","following_url":"https://api.github.com/users/medic/following{/other_user}","gists_url":"https://api.github.com/users/medic/gists{/gist_id}","starred_url":"https://api.github.com/users/medic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medic/subscriptions","organizations_url":"https://api.github.com/users/medic/orgs","repos_url":"https://api.github.com/users/medic/repos","events_url":"https://api.github.com/users/medic/events{/privacy}","received_events_url":"https://api.github.com/users/medic/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/medic/medic-webapp","description":"Medic Mobile combines SMS messaging, data collection, and analytics for health workers and health systems in hard-to-reach areas with or without internet connectivity.","fork":false,"url":"https://api.github.com/repos/medic/medic-webapp","forks_url":"https://api.github.com/repos/medic/medic-webapp/forks","keys_url":"https://api.github.com/repos/medic/medic-webapp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/medic/medic-webapp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/medic/medic-webapp/teams","hooks_url":"https://api.github.com/repos/medic/medic-webapp/hooks","issue_events_url":"https://api.github.com/repos/medic/medic-webapp/issues/events{/number}","events_url":"https://api.github.com/repos/medic/medic-webapp/events","assignees_url":"https://api.github.com/repos/medic/medic-webapp/assignees{/user}","branches_url":"https://api.github.com/repos/medic/medic-webapp/branches{/branch}","tags_url":"https://api.github.com/repos/medic/medic-webapp/tags","blobs_url":"https://api.github.com/repos/medic/medic-webapp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/medic/medic-webapp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/medic/medic-webapp/git/refs{/sha}","trees_url":"https://api.github.com/repos/medic/medic-webapp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/medic/medic-webapp/statuses/{sha}","languages_url":"https://api.github.com/repos/medic/medic-webapp/languages","stargazers_url":"https://api.github.com/repos/medic/medic-webapp/stargazers","contributors_url":"https://api.github.com/repos/medic/medic-webapp/contributors","subscribers_url":"https://api.github.com/repos/medic/medic-webapp/subscribers","subscription_url":"https://api.github.com/repos/medic/medic-webapp/subscription","commits_url":"https://api.github.com/repos/medic/medic-webapp/commits{/sha}","git_commits_url":"https://api.github.com/repos/medic/medic-webapp/git/commits{/sha}","comments_url":"https://api.github.com/repos/medic/medic-webapp/comments{/number}","issue_comment_url":"https://api.github.com/repos/medic/medic-webapp/issues/comments{/number}","contents_url":"https://api.github.com/repos/medic/medic-webapp/contents/{+path}","compare_url":"https://api.github.com/repos/medic/medic-webapp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/medic/medic-webapp/merges","archive_url":"https://api.github.com/repos/medic/medic-webapp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/medic/medic-webapp/downloads","issues_url":"https://api.github.com/repos/medic/medic-webapp/issues{/number}","pulls_url":"https://api.github.com/repos/medic/medic-webapp/pulls{/number}","milestones_url":"https://api.github.com/repos/medic/medic-webapp/milestones{/number}","notifications_url":"https://api.github.com/repos/medic/medic-webapp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/medic/medic-webapp/labels{/name}","releases_url":"https://api.github.com/repos/medic/medic-webapp/releases{/id}","deployments_url":"https://api.github.com/repos/medic/medic-webapp/deployments","created_at":"2011-11-02T23:19:55Z","updated_at":"2017-03-09T02:33:45Z","pushed_at":"2017-03-22T21:02:04Z","git_url":"git://github.com/medic/medic-webapp.git","ssh_url":"git@github.com:medic/medic-webapp.git","clone_url":"https://github.com/medic/medic-webapp.git","svn_url":"https://github.com/medic/medic-webapp","homepage":"http://medicmobile.org/tools","size":32962,"stargazers_count":73,"watchers_count":73,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":36,"mirror_url":null,"open_issues_count":363,"forks":36,"open_issues":363,"watchers":73,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/3266"},"html":{"href":"https://github.com/medic/medic-webapp/pull/3266"},"issue":{"href":"https://api.github.com/repos/medic/medic-webapp/issues/3266"},"comments":{"href":"https://api.github.com/repos/medic/medic-webapp/issues/3266/comments"},"review_comments":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/3266/comments"},"review_comment":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/3266/commits"},"statuses":{"href":"https://api.github.com/repos/medic/medic-webapp/statuses/1fbdb56d23f38743db15317ba6783cbb191463ed"}}}}
{"actor":{"display_login":"garethbowen"}}