{"action":"created","comment":{"url":"https://api.github.com/repos/AgileVentures/shf-project/pulls/comments/238445703","pull_request_review_id":180990240,"id":238445703,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzODQ0NTcwMw==","diff_hunk":"@@ -47,9 +65,216 @@\n         ActivityLogger.open(filepath, 'TEST', 'open', false) do |log|\n           log.record('info', 'this is another test message')\n           expect(File.read(filepath))\n-            .to include '[TEST] [open] [info] this is another test message'\n+              .to include '[TEST] [open] [info] this is another test message'\n+        end\n+      end\n+\n+    end # context 'open with a block'\n+\n+\n+    context 'directory does not exist' do\n+\n+      it 'can create a writeable directory and the log in it' do\n+\n+        nonexistent_dirname = Dir::Tmpname.create(SPEC_LOGDIR_PREFIX) { |dirname| dirname }\n+        log_file            = File.join(nonexistent_dirname, SPEC_LOGNAME)\n+\n+        expect(File.exist? nonexistent_dirname).to be_falsey\n+\n+        log = ActivityLogger.open(log_file, 'TEST', 'open', false)\n+        log.close\n+\n+        # dir was created\n+        expect(File.exist?(nonexistent_dirname)).to be_truthy\n+        expect(File.writable?(nonexistent_dirname)).to be_truthy\n+\n+        # log was created\n+        expect(File).to exist(log_file)\n+\n+      end\n+\n+      it '(SAD PATH) cannot create directory, raises IOError' do\n+\n+        cant_create_dirname = Dir::Tmpname.create(SPEC_LOGDIR_PREFIX) { |dirname| dirname }\n+        file_in_problem_dir = File.join(cant_create_dirname, SPEC_LOGNAME)\n+\n+        expect(File.exist?(cant_create_dirname)).to be_falsey\n+\n+        allow(Dir).to receive(:mkdir).and_raise(IOError)\n+\n+        expect { ActivityLogger.open(file_in_problem_dir, 'TEST', 'open', false) }.\n+            to raise_error(IOError, 'Could not make log directory.')\n+\n+      end\n+\n+      it '(SAD PATH) cannot create a writeable directory, raises ActivityLoggerDirNotWritable' do\n+\n+        dir_not_writeable       = Dir::Tmpname.create(SPEC_LOGDIR_PREFIX) { |dirname| dirname }\n+        file_in_unwriteable_dir = File.join(dir_not_writeable, SPEC_LOGNAME)\n+\n+        expect(File.exist?(dir_not_writeable)).to be_falsey\n+\n+        original_mkdir = Dir.method(:mkdir)\n+\n+        allow(Dir).to receive(:mkdir) do\n+          original_mkdir.call(dir_not_writeable)\n+          File.chmod(0444, dir_not_writeable) # make it read only\n+          dir_not_writeable\n         end\n+\n+        expect { ActivityLogger.open(file_in_unwriteable_dir, 'TEST', 'open', false) }.\n+            to raise_error ActivityLoggerDirNotWritable\n       end\n+\n+\n+    end # context log directory does not exist\n+\n+\n+    it 'directory is read only, raises ActivityLoggerDirNotWritable (SAD PATH)' do\n+\n+      readonly_dir = Dir.mktmpdir(SPEC_LOGDIR_PREFIX)\n+      File.chmod(0444, readonly_dir) # make it read only\n+\n+      log_in_unwritable_dir = File.join(readonly_dir, SPEC_LOGNAME)\n+\n+      expect(File.exist? readonly_dir).to be_truthy\n+      expect(File.writable? readonly_dir).to be_falsey\n+\n+      expect { ActivityLogger.open(log_in_unwritable_dir, 'TEST', 'open', false) }.\n+          to raise_error ActivityLoggerDirNotWritable\n     end\n-  end\n+\n+\n+  end #  describe 'log file'\n+\n+\n+\n+  context 'using stdout or stderr as the log' do\n+    # Odd, but we must handle it\n+\n+    context \"using $stderr as the log\" do\n+\n+      context 'open without a block' do\n+\n+        it_behaves_like 'it creates an ActivityLogger log' do\n+          let(:streamname) { $stderr }\n+          let(:activity_log) { ActivityLogger.open(streamname, 'TEST', 'open', false) }\n+        end\n+\n+        it \"records message to $stderr\" do\n+          expect do\n+            logstream = $stderr\n+            log       = ActivityLogger.open(logstream, 'TEST', 'open', false)\n+            log # to open it\n+            log.record('info', 'this is a test message to stderr')\n+          end.to output(/\\[TEST\\] \\[open\\] \\[info\\] this is a test message to stderr/).to_stderr\n+        end\n+\n+        # If the stream is closed, the OS will throw errors the next time *any process* tries to write to the stream\n+        it \"doesn't close the stream\" do\n+          logstream = $stderr\n+          log       = ActivityLogger.open(logstream, 'TEST', 'open', false)\n+          log # to open it\n+          log.record('info', 'this is a test message to stderr again')\n+          log.close\n+          expect($stderr.closed?).to be_falsey\n+        end\n+\n+      end # context 'open without a block'\n+\n+      context 'open with a block' do\n+\n+        let(:streamname) { $stderr }\n+        let(:activity_log) { ActivityLogger.open(streamname, 'TEST', 'open', false) }\n+\n+        it 'creates log file' do\n+          ActivityLogger.open(streamname, 'TEST', 'open', false) do |_log|\n+            expect(File).to exist(streamname)\n+          end\n+        end\n+\n+        it 'returns instance of ActivityLogger' do\n+          ActivityLogger.open(streamname, 'TEST', 'open', false) do |log|\n+            expect(log).to be_an_instance_of(ActivityLogger)\n+          end\n+        end\n+\n+        it \"records message to $stderr\" do\n+          expect do\n+            logstream = $stderr\n+            ActivityLogger.open(logstream, 'TEST', 'open', false) do |log|\n+              log # to open it\n+              log.record('info', 'this is another test message to stderr')\n+            end\n+          end.to output(/\\[TEST\\] \\[open\\] \\[info\\] this is another test message to stderr/).to_stderr\n+        end\n+\n+      end # context 'open with a block'\n+\n+    end # context 'using $stderr as the log'\n+\n+\n+    context \"using $stdout as the log\" do\n+\n+      context 'open without a block' do\n+\n+        it_behaves_like 'it creates an ActivityLogger log' do\n+          let(:streamname) { $stdout }\n+          let(:activity_log) { ActivityLogger.open(streamname, 'TEST', 'open', false) }\n+        end\n+\n+        it \"records message to $stdout\" do\n+          expect do\n+            logstream = $stdout\n+            log       = ActivityLogger.open(logstream, 'TEST', 'open', false)\n+            log # to open it\n+            log.record('info', 'this is a test message to stdout')\n+          end.to output(/\\[TEST\\] \\[open\\] \\[info\\] this is a test message to stdout/).to_stdout\n+        end\n+\n+        # If the stream is closed, the OS will throw errors the next time *any process* tries to write to the stream\n+        it \"doesn't close the stream\" do\n+          logstream = $stdout\n+          log       = ActivityLogger.open(logstream, 'TEST', 'open', false)\n+          log # to open it","path":"spec/models/activity_logger_spec.rb","position":251,"original_position":251,"commit_id":"9fec6dabe1a79798161054fb5bea1460b9cd782c","original_commit_id":"9fec6dabe1a79798161054fb5bea1460b9cd782c","user":{"login":"houndci-bot","id":6697940,"node_id":"MDQ6VXNlcjY2OTc5NDA=","avatar_url":"https://avatars0.githubusercontent.com/u/6697940?v=4","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"Lint/Void: Variable log used in void context.","created_at":"2018-12-03T21:33:38Z","updated_at":"2018-12-03T21:33:39Z","html_url":"https://github.com/AgileVentures/shf-project/pull/573#discussion_r238445703","pull_request_url":"https://api.github.com/repos/AgileVentures/shf-project/pulls/573","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/AgileVentures/shf-project/pulls/comments/238445703"},"html":{"href":"https://github.com/AgileVentures/shf-project/pull/573#discussion_r238445703"},"pull_request":{"href":"https://api.github.com/repos/AgileVentures/shf-project/pulls/573"}}},"pull_request":{"url":"https://api.github.com/repos/AgileVentures/shf-project/pulls/573","id":235599828,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM1NTk5ODI4","html_url":"https://github.com/AgileVentures/shf-project/pull/573","diff_url":"https://github.com/AgileVentures/shf-project/pull/573.diff","patch_url":"https://github.com/AgileVentures/shf-project/pull/573.patch","issue_url":"https://api.github.com/repos/AgileVentures/shf-project/issues/573","number":573,"state":"open","locked":false,"title":"[TEST] Ashley's sprint56 hotfix heroku log","user":{"login":"patmbolger","id":9968213,"node_id":"MDQ6VXNlcjk5NjgyMTM=","avatar_url":"https://avatars3.githubusercontent.com/u/9968213?v=4","gravatar_id":"","url":"https://api.github.com/users/patmbolger","html_url":"https://github.com/patmbolger","followers_url":"https://api.github.com/users/patmbolger/followers","following_url":"https://api.github.com/users/patmbolger/following{/other_user}","gists_url":"https://api.github.com/users/patmbolger/gists{/gist_id}","starred_url":"https://api.github.com/users/patmbolger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patmbolger/subscriptions","organizations_url":"https://api.github.com/users/patmbolger/orgs","repos_url":"https://api.github.com/users/patmbolger/repos","events_url":"https://api.github.com/users/patmbolger/events{/privacy}","received_events_url":"https://api.github.com/users/patmbolger/received_events","type":"User","site_admin":false},"body":"PT Story: \r\n\r\n\r\nChanges proposed in this pull request:\r\n1. \r\n2.\r\n3.\r\n\r\nScreenshots (Optional):\r\n\r\n\r\nReady for review:\r\n@\r\n","created_at":"2018-12-03T21:33:23Z","updated_at":"2018-12-03T21:33:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"634b2ce618fd46a0d35c09b3238e4eb39db01d32","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/AgileVentures/shf-project/pulls/573/commits","review_comments_url":"https://api.github.com/repos/AgileVentures/shf-project/pulls/573/comments","review_comment_url":"https://api.github.com/repos/AgileVentures/shf-project/pulls/comments{/number}","comments_url":"https://api.github.com/repos/AgileVentures/shf-project/issues/573/comments","statuses_url":"https://api.github.com/repos/AgileVentures/shf-project/statuses/9fec6dabe1a79798161054fb5bea1460b9cd782c","head":{"label":"patmbolger:weedy-sprint56-hotfix-heroku-log","ref":"weedy-sprint56-hotfix-heroku-log","sha":"9fec6dabe1a79798161054fb5bea1460b9cd782c","user":{"login":"patmbolger","id":9968213,"node_id":"MDQ6VXNlcjk5NjgyMTM=","avatar_url":"https://avatars3.githubusercontent.com/u/9968213?v=4","gravatar_id":"","url":"https://api.github.com/users/patmbolger","html_url":"https://github.com/patmbolger","followers_url":"https://api.github.com/users/patmbolger/followers","following_url":"https://api.github.com/users/patmbolger/following{/other_user}","gists_url":"https://api.github.com/users/patmbolger/gists{/gist_id}","starred_url":"https://api.github.com/users/patmbolger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patmbolger/subscriptions","organizations_url":"https://api.github.com/users/patmbolger/orgs","repos_url":"https://api.github.com/users/patmbolger/repos","events_url":"https://api.github.com/users/patmbolger/events{/privacy}","received_events_url":"https://api.github.com/users/patmbolger/received_events","type":"User","site_admin":false},"repo":{"id":74601752,"node_id":"MDEwOlJlcG9zaXRvcnk3NDYwMTc1Mg==","name":"shf-project","full_name":"patmbolger/shf-project","private":false,"owner":{"login":"patmbolger","id":9968213,"node_id":"MDQ6VXNlcjk5NjgyMTM=","avatar_url":"https://avatars3.githubusercontent.com/u/9968213?v=4","gravatar_id":"","url":"https://api.github.com/users/patmbolger","html_url":"https://github.com/patmbolger","followers_url":"https://api.github.com/users/patmbolger/followers","following_url":"https://api.github.com/users/patmbolger/following{/other_user}","gists_url":"https://api.github.com/users/patmbolger/gists{/gist_id}","starred_url":"https://api.github.com/users/patmbolger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patmbolger/subscriptions","organizations_url":"https://api.github.com/users/patmbolger/orgs","repos_url":"https://api.github.com/users/patmbolger/repos","events_url":"https://api.github.com/users/patmbolger/events{/privacy}","received_events_url":"https://api.github.com/users/patmbolger/received_events","type":"User","site_admin":false},"html_url":"https://github.com/patmbolger/shf-project","description":null,"fork":true,"url":"https://api.github.com/repos/patmbolger/shf-project","forks_url":"https://api.github.com/repos/patmbolger/shf-project/forks","keys_url":"https://api.github.com/repos/patmbolger/shf-project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/patmbolger/shf-project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/patmbolger/shf-project/teams","hooks_url":"https://api.github.com/repos/patmbolger/shf-project/hooks","issue_events_url":"https://api.github.com/repos/patmbolger/shf-project/issues/events{/number}","events_url":"https://api.github.com/repos/patmbolger/shf-project/events","assignees_url":"https://api.github.com/repos/patmbolger/shf-project/assignees{/user}","branches_url":"https://api.github.com/repos/patmbolger/shf-project/branches{/branch}","tags_url":"https://api.github.com/repos/patmbolger/shf-project/tags","blobs_url":"https://api.github.com/repos/patmbolger/shf-project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/patmbolger/shf-project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/patmbolger/shf-project/git/refs{/sha}","trees_url":"https://api.github.com/repos/patmbolger/shf-project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/patmbolger/shf-project/statuses/{sha}","languages_url":"https://api.github.com/repos/patmbolger/shf-project/languages","stargazers_url":"https://api.github.com/repos/patmbolger/shf-project/stargazers","contributors_url":"https://api.github.com/repos/patmbolger/shf-project/contributors","subscribers_url":"https://api.github.com/repos/patmbolger/shf-project/subscribers","subscription_url":"https://api.github.com/repos/patmbolger/shf-project/subscription","commits_url":"https://api.github.com/repos/patmbolger/shf-project/commits{/sha}","git_commits_url":"https://api.github.com/repos/patmbolger/shf-project/git/commits{/sha}","comments_url":"https://api.github.com/repos/patmbolger/shf-project/comments{/number}","issue_comment_url":"https://api.github.com/repos/patmbolger/shf-project/issues/comments{/number}","contents_url":"https://api.github.com/repos/patmbolger/shf-project/contents/{+path}","compare_url":"https://api.github.com/repos/patmbolger/shf-project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/patmbolger/shf-project/merges","archive_url":"https://api.github.com/repos/patmbolger/shf-project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/patmbolger/shf-project/downloads","issues_url":"https://api.github.com/repos/patmbolger/shf-project/issues{/number}","pulls_url":"https://api.github.com/repos/patmbolger/shf-project/pulls{/number}","milestones_url":"https://api.github.com/repos/patmbolger/shf-project/milestones{/number}","notifications_url":"https://api.github.com/repos/patmbolger/shf-project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/patmbolger/shf-project/labels{/name}","releases_url":"https://api.github.com/repos/patmbolger/shf-project/releases{/id}","deployments_url":"https://api.github.com/repos/patmbolger/shf-project/deployments","created_at":"2016-11-23T18:02:48Z","updated_at":"2018-06-11T22:35:21Z","pushed_at":"2018-12-03T21:32:17Z","git_url":"git://github.com/patmbolger/shf-project.git","ssh_url":"git@github.com:patmbolger/shf-project.git","clone_url":"https://github.com/patmbolger/shf-project.git","svn_url":"https://github.com/patmbolger/shf-project","homepage":null,"size":34322,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"develop"}},"base":{"label":"AgileVentures:develop","ref":"develop","sha":"1db186455290a920dc1a30158b30e075a7741047","user":{"login":"AgileVentures","id":5116968,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUxMTY5Njg=","avatar_url":"https://avatars0.githubusercontent.com/u/5116968?v=4","gravatar_id":"","url":"https://api.github.com/users/AgileVentures","html_url":"https://github.com/AgileVentures","followers_url":"https://api.github.com/users/AgileVentures/followers","following_url":"https://api.github.com/users/AgileVentures/following{/other_user}","gists_url":"https://api.github.com/users/AgileVentures/gists{/gist_id}","starred_url":"https://api.github.com/users/AgileVentures/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AgileVentures/subscriptions","organizations_url":"https://api.github.com/users/AgileVentures/orgs","repos_url":"https://api.github.com/users/AgileVentures/repos","events_url":"https://api.github.com/users/AgileVentures/events{/privacy}","received_events_url":"https://api.github.com/users/AgileVentures/received_events","type":"Organization","site_admin":false},"repo":{"id":71157737,"node_id":"MDEwOlJlcG9zaXRvcnk3MTE1NzczNw==","name":"shf-project","full_name":"AgileVentures/shf-project","private":false,"owner":{"login":"AgileVentures","id":5116968,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUxMTY5Njg=","avatar_url":"https://avatars0.githubusercontent.com/u/5116968?v=4","gravatar_id":"","url":"https://api.github.com/users/AgileVentures","html_url":"https://github.com/AgileVentures","followers_url":"https://api.github.com/users/AgileVentures/followers","following_url":"https://api.github.com/users/AgileVentures/following{/other_user}","gists_url":"https://api.github.com/users/AgileVentures/gists{/gist_id}","starred_url":"https://api.github.com/users/AgileVentures/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AgileVentures/subscriptions","organizations_url":"https://api.github.com/users/AgileVentures/orgs","repos_url":"https://api.github.com/users/AgileVentures/repos","events_url":"https://api.github.com/users/AgileVentures/events{/privacy}","received_events_url":"https://api.github.com/users/AgileVentures/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/AgileVentures/shf-project","description":"Part of the website for and membership management for Sveriges Hundföretagare  (The Swedish Dog  Industry association). A project run with AgileVentures.org","fork":true,"url":"https://api.github.com/repos/AgileVentures/shf-project","forks_url":"https://api.github.com/repos/AgileVentures/shf-project/forks","keys_url":"https://api.github.com/repos/AgileVentures/shf-project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AgileVentures/shf-project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AgileVentures/shf-project/teams","hooks_url":"https://api.github.com/repos/AgileVentures/shf-project/hooks","issue_events_url":"https://api.github.com/repos/AgileVentures/shf-project/issues/events{/number}","events_url":"https://api.github.com/repos/AgileVentures/shf-project/events","assignees_url":"https://api.github.com/repos/AgileVentures/shf-project/assignees{/user}","branches_url":"https://api.github.com/repos/AgileVentures/shf-project/branches{/branch}","tags_url":"https://api.github.com/repos/AgileVentures/shf-project/tags","blobs_url":"https://api.github.com/repos/AgileVentures/shf-project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AgileVentures/shf-project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AgileVentures/shf-project/git/refs{/sha}","trees_url":"https://api.github.com/repos/AgileVentures/shf-project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AgileVentures/shf-project/statuses/{sha}","languages_url":"https://api.github.com/repos/AgileVentures/shf-project/languages","stargazers_url":"https://api.github.com/repos/AgileVentures/shf-project/stargazers","contributors_url":"https://api.github.com/repos/AgileVentures/shf-project/contributors","subscribers_url":"https://api.github.com/repos/AgileVentures/shf-project/subscribers","subscription_url":"https://api.github.com/repos/AgileVentures/shf-project/subscription","commits_url":"https://api.github.com/repos/AgileVentures/shf-project/commits{/sha}","git_commits_url":"https://api.github.com/repos/AgileVentures/shf-project/git/commits{/sha}","comments_url":"https://api.github.com/repos/AgileVentures/shf-project/comments{/number}","issue_comment_url":"https://api.github.com/repos/AgileVentures/shf-project/issues/comments{/number}","contents_url":"https://api.github.com/repos/AgileVentures/shf-project/contents/{+path}","compare_url":"https://api.github.com/repos/AgileVentures/shf-project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AgileVentures/shf-project/merges","archive_url":"https://api.github.com/repos/AgileVentures/shf-project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AgileVentures/shf-project/downloads","issues_url":"https://api.github.com/repos/AgileVentures/shf-project/issues{/number}","pulls_url":"https://api.github.com/repos/AgileVentures/shf-project/pulls{/number}","milestones_url":"https://api.github.com/repos/AgileVentures/shf-project/milestones{/number}","notifications_url":"https://api.github.com/repos/AgileVentures/shf-project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AgileVentures/shf-project/labels{/name}","releases_url":"https://api.github.com/repos/AgileVentures/shf-project/releases{/id}","deployments_url":"https://api.github.com/repos/AgileVentures/shf-project/deployments","created_at":"2016-10-17T16:18:10Z","updated_at":"2018-12-01T12:19:11Z","pushed_at":"2018-12-03T21:33:24Z","git_url":"git://github.com/AgileVentures/shf-project.git","ssh_url":"git@github.com:AgileVentures/shf-project.git","clone_url":"https://github.com/AgileVentures/shf-project.git","svn_url":"https://github.com/AgileVentures/shf-project","homepage":"","size":33035,"stargazers_count":9,"watchers_count":9,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":26,"mirror_url":null,"archived":false,"open_issues_count":7,"license":null,"forks":26,"open_issues":7,"watchers":9,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/AgileVentures/shf-project/pulls/573"},"html":{"href":"https://github.com/AgileVentures/shf-project/pull/573"},"issue":{"href":"https://api.github.com/repos/AgileVentures/shf-project/issues/573"},"comments":{"href":"https://api.github.com/repos/AgileVentures/shf-project/issues/573/comments"},"review_comments":{"href":"https://api.github.com/repos/AgileVentures/shf-project/pulls/573/comments"},"review_comment":{"href":"https://api.github.com/repos/AgileVentures/shf-project/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/AgileVentures/shf-project/pulls/573/commits"},"statuses":{"href":"https://api.github.com/repos/AgileVentures/shf-project/statuses/9fec6dabe1a79798161054fb5bea1460b9cd782c"}},"author_association":"NONE"}}
{"actor":{"display_login":"houndci-bot"}}