{"action":"created","comment":{"url":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/comments/158860730","pull_request_review_id":85713325,"id":158860730,"diff_hunk":"@@ -0,0 +1,81 @@\n+#!/usr/bin/env python\n+# coding: utf-8\n+\n+import logging\n+import os\n+import sys\n+import unittest\n+\n+from dss.storage.validator import scrub_index_data, SizeLimitError\n+\n+pkg_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))  # noqa\n+sys.path.insert(0, pkg_root)  # noqa\n+\n+from dss import Config, BucketConfig\n+from dss.config import IndexSuffix, ESDocType, Replica\n+from tests.infra import start_verbose_logging\n+from hashlib import sha1\n+from dss.storage.validator import S3UrlCache\n+\n+logging.basicConfig(level=logging.INFO)\n+logger = logging.getLogger(__name__)\n+logger.setLevel(logging.INFO)\n+\n+start_verbose_logging()\n+\n+def setUpModule():\n+    IndexSuffix.name = __name__.rsplit('.', 1)[-1]\n+\n+\n+def tearDownModule():\n+    IndexSuffix.reset()\n+\n+\n+class TestS3UrlCache(unittest.TestCase):\n+\n+    @classmethod\n+    def setUpClass(cls):\n+        cls.replica = Replica.aws\n+        Config.set_config(BucketConfig.TEST_FIXTURE)\n+        cls.blobstore, _, cls.test_fixture_bucket = Config.get_cloud_specific_handles(cls.replica)\n+        Config.set_config(BucketConfig.TEST)\n+        _, _, cls.test_bucket = Config.get_cloud_specific_handles(cls.replica)\n+        cls.url = \"http://www.example.com\"","path":"tests/test_s3urlcache.py","position":43,"original_position":43,"commit_id":"e0a665d45103ae9197b0a022f899556b51121b27","original_commit_id":"e0a665d45103ae9197b0a022f899556b51121b27","user":{"login":"hannes-ucsc","id":5143256,"avatar_url":"https://avatars2.githubusercontent.com/u/5143256?v=4","gravatar_id":"","url":"https://api.github.com/users/hannes-ucsc","html_url":"https://github.com/hannes-ucsc","followers_url":"https://api.github.com/users/hannes-ucsc/followers","following_url":"https://api.github.com/users/hannes-ucsc/following{/other_user}","gists_url":"https://api.github.com/users/hannes-ucsc/gists{/gist_id}","starred_url":"https://api.github.com/users/hannes-ucsc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hannes-ucsc/subscriptions","organizations_url":"https://api.github.com/users/hannes-ucsc/orgs","repos_url":"https://api.github.com/users/hannes-ucsc/repos","events_url":"https://api.github.com/users/hannes-ucsc/events{/privacy}","received_events_url":"https://api.github.com/users/hannes-ucsc/received_events","type":"User","site_admin":false},"body":"Please use a URL that we control. Hint: If an S3 bucket is public, each object in it has a public http: URL.","created_at":"2017-12-27T19:51:31Z","updated_at":"2017-12-27T20:04:46Z","html_url":"https://github.com/HumanCellAtlas/data-store/pull/802#discussion_r158860730","pull_request_url":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/802","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/comments/158860730"},"html":{"href":"https://github.com/HumanCellAtlas/data-store/pull/802#discussion_r158860730"},"pull_request":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/802"}}},"pull_request":{"url":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/802","id":159783409,"html_url":"https://github.com/HumanCellAtlas/data-store/pull/802","diff_url":"https://github.com/HumanCellAtlas/data-store/pull/802.diff","patch_url":"https://github.com/HumanCellAtlas/data-store/pull/802.patch","issue_url":"https://api.github.com/repos/HumanCellAtlas/data-store/issues/802","number":802,"state":"open","locked":false,"title":"Cache URL content in S3","user":{"login":"Bento007","id":1429913,"avatar_url":"https://avatars2.githubusercontent.com/u/1429913?v=4","gravatar_id":"","url":"https://api.github.com/users/Bento007","html_url":"https://github.com/Bento007","followers_url":"https://api.github.com/users/Bento007/followers","following_url":"https://api.github.com/users/Bento007/following{/other_user}","gists_url":"https://api.github.com/users/Bento007/gists{/gist_id}","starred_url":"https://api.github.com/users/Bento007/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bento007/subscriptions","organizations_url":"https://api.github.com/users/Bento007/orgs","repos_url":"https://api.github.com/users/Bento007/repos","events_url":"https://api.github.com/users/Bento007/events{/privacy}","received_events_url":"https://api.github.com/users/Bento007/received_events","type":"User","site_admin":false},"body":"### Test plan\r\nWill add test cases to check urls are stored and buckets cache is used.\r\n\r\n### Release notes\r\nCaching the contents of website urls to an S3 bucket.","created_at":"2017-12-22T01:21:35Z","updated_at":"2017-12-27T20:04:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bf807874b2fdd60ed70c870023500b6688356a24","assignee":{"login":"Bento007","id":1429913,"avatar_url":"https://avatars2.githubusercontent.com/u/1429913?v=4","gravatar_id":"","url":"https://api.github.com/users/Bento007","html_url":"https://github.com/Bento007","followers_url":"https://api.github.com/users/Bento007/followers","following_url":"https://api.github.com/users/Bento007/following{/other_user}","gists_url":"https://api.github.com/users/Bento007/gists{/gist_id}","starred_url":"https://api.github.com/users/Bento007/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bento007/subscriptions","organizations_url":"https://api.github.com/users/Bento007/orgs","repos_url":"https://api.github.com/users/Bento007/repos","events_url":"https://api.github.com/users/Bento007/events{/privacy}","received_events_url":"https://api.github.com/users/Bento007/received_events","type":"User","site_admin":false},"assignees":[{"login":"Bento007","id":1429913,"avatar_url":"https://avatars2.githubusercontent.com/u/1429913?v=4","gravatar_id":"","url":"https://api.github.com/users/Bento007","html_url":"https://github.com/Bento007","followers_url":"https://api.github.com/users/Bento007/followers","following_url":"https://api.github.com/users/Bento007/following{/other_user}","gists_url":"https://api.github.com/users/Bento007/gists{/gist_id}","starred_url":"https://api.github.com/users/Bento007/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bento007/subscriptions","organizations_url":"https://api.github.com/users/Bento007/orgs","repos_url":"https://api.github.com/users/Bento007/repos","events_url":"https://api.github.com/users/Bento007/events{/privacy}","received_events_url":"https://api.github.com/users/Bento007/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"mikebaumann","id":24831692,"avatar_url":"https://avatars0.githubusercontent.com/u/24831692?v=4","gravatar_id":"","url":"https://api.github.com/users/mikebaumann","html_url":"https://github.com/mikebaumann","followers_url":"https://api.github.com/users/mikebaumann/followers","following_url":"https://api.github.com/users/mikebaumann/following{/other_user}","gists_url":"https://api.github.com/users/mikebaumann/gists{/gist_id}","starred_url":"https://api.github.com/users/mikebaumann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikebaumann/subscriptions","organizations_url":"https://api.github.com/users/mikebaumann/orgs","repos_url":"https://api.github.com/users/mikebaumann/repos","events_url":"https://api.github.com/users/mikebaumann/events{/privacy}","received_events_url":"https://api.github.com/users/mikebaumann/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/HumanCellAtlas/data-store/milestones/10","html_url":"https://github.com/HumanCellAtlas/data-store/milestone/10","labels_url":"https://api.github.com/repos/HumanCellAtlas/data-store/milestones/10/labels","id":2957616,"number":10,"title":"DSS Sprint 14 (12/4 - 12/22)","description":"","creator":{"login":"kozbo","id":17557555,"avatar_url":"https://avatars2.githubusercontent.com/u/17557555?v=4","gravatar_id":"","url":"https://api.github.com/users/kozbo","html_url":"https://github.com/kozbo","followers_url":"https://api.github.com/users/kozbo/followers","following_url":"https://api.github.com/users/kozbo/following{/other_user}","gists_url":"https://api.github.com/users/kozbo/gists{/gist_id}","starred_url":"https://api.github.com/users/kozbo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kozbo/subscriptions","organizations_url":"https://api.github.com/users/kozbo/orgs","repos_url":"https://api.github.com/users/kozbo/repos","events_url":"https://api.github.com/users/kozbo/events{/privacy}","received_events_url":"https://api.github.com/users/kozbo/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":11,"state":"open","created_at":"2017-12-04T20:32:39Z","updated_at":"2017-12-22T22:26:25Z","due_on":"2017-12-22T08:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/802/commits","review_comments_url":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/802/comments","review_comment_url":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/comments{/number}","comments_url":"https://api.github.com/repos/HumanCellAtlas/data-store/issues/802/comments","statuses_url":"https://api.github.com/repos/HumanCellAtlas/data-store/statuses/e0a665d45103ae9197b0a022f899556b51121b27","head":{"label":"HumanCellAtlas:tsmith-schema-cache","ref":"tsmith-schema-cache","sha":"e0a665d45103ae9197b0a022f899556b51121b27","user":{"login":"HumanCellAtlas","id":26391798,"avatar_url":"https://avatars1.githubusercontent.com/u/26391798?v=4","gravatar_id":"","url":"https://api.github.com/users/HumanCellAtlas","html_url":"https://github.com/HumanCellAtlas","followers_url":"https://api.github.com/users/HumanCellAtlas/followers","following_url":"https://api.github.com/users/HumanCellAtlas/following{/other_user}","gists_url":"https://api.github.com/users/HumanCellAtlas/gists{/gist_id}","starred_url":"https://api.github.com/users/HumanCellAtlas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HumanCellAtlas/subscriptions","organizations_url":"https://api.github.com/users/HumanCellAtlas/orgs","repos_url":"https://api.github.com/users/HumanCellAtlas/repos","events_url":"https://api.github.com/users/HumanCellAtlas/events{/privacy}","received_events_url":"https://api.github.com/users/HumanCellAtlas/received_events","type":"Organization","site_admin":false},"repo":{"id":84872231,"name":"data-store","full_name":"HumanCellAtlas/data-store","owner":{"login":"HumanCellAtlas","id":26391798,"avatar_url":"https://avatars1.githubusercontent.com/u/26391798?v=4","gravatar_id":"","url":"https://api.github.com/users/HumanCellAtlas","html_url":"https://github.com/HumanCellAtlas","followers_url":"https://api.github.com/users/HumanCellAtlas/followers","following_url":"https://api.github.com/users/HumanCellAtlas/following{/other_user}","gists_url":"https://api.github.com/users/HumanCellAtlas/gists{/gist_id}","starred_url":"https://api.github.com/users/HumanCellAtlas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HumanCellAtlas/subscriptions","organizations_url":"https://api.github.com/users/HumanCellAtlas/orgs","repos_url":"https://api.github.com/users/HumanCellAtlas/repos","events_url":"https://api.github.com/users/HumanCellAtlas/events{/privacy}","received_events_url":"https://api.github.com/users/HumanCellAtlas/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/HumanCellAtlas/data-store","description":"Design specs and prototypes for the HCA Data Storage System (\"blue box\")","fork":false,"url":"https://api.github.com/repos/HumanCellAtlas/data-store","forks_url":"https://api.github.com/repos/HumanCellAtlas/data-store/forks","keys_url":"https://api.github.com/repos/HumanCellAtlas/data-store/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HumanCellAtlas/data-store/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HumanCellAtlas/data-store/teams","hooks_url":"https://api.github.com/repos/HumanCellAtlas/data-store/hooks","issue_events_url":"https://api.github.com/repos/HumanCellAtlas/data-store/issues/events{/number}","events_url":"https://api.github.com/repos/HumanCellAtlas/data-store/events","assignees_url":"https://api.github.com/repos/HumanCellAtlas/data-store/assignees{/user}","branches_url":"https://api.github.com/repos/HumanCellAtlas/data-store/branches{/branch}","tags_url":"https://api.github.com/repos/HumanCellAtlas/data-store/tags","blobs_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/refs{/sha}","trees_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HumanCellAtlas/data-store/statuses/{sha}","languages_url":"https://api.github.com/repos/HumanCellAtlas/data-store/languages","stargazers_url":"https://api.github.com/repos/HumanCellAtlas/data-store/stargazers","contributors_url":"https://api.github.com/repos/HumanCellAtlas/data-store/contributors","subscribers_url":"https://api.github.com/repos/HumanCellAtlas/data-store/subscribers","subscription_url":"https://api.github.com/repos/HumanCellAtlas/data-store/subscription","commits_url":"https://api.github.com/repos/HumanCellAtlas/data-store/commits{/sha}","git_commits_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/commits{/sha}","comments_url":"https://api.github.com/repos/HumanCellAtlas/data-store/comments{/number}","issue_comment_url":"https://api.github.com/repos/HumanCellAtlas/data-store/issues/comments{/number}","contents_url":"https://api.github.com/repos/HumanCellAtlas/data-store/contents/{+path}","compare_url":"https://api.github.com/repos/HumanCellAtlas/data-store/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HumanCellAtlas/data-store/merges","archive_url":"https://api.github.com/repos/HumanCellAtlas/data-store/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HumanCellAtlas/data-store/downloads","issues_url":"https://api.github.com/repos/HumanCellAtlas/data-store/issues{/number}","pulls_url":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls{/number}","milestones_url":"https://api.github.com/repos/HumanCellAtlas/data-store/milestones{/number}","notifications_url":"https://api.github.com/repos/HumanCellAtlas/data-store/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HumanCellAtlas/data-store/labels{/name}","releases_url":"https://api.github.com/repos/HumanCellAtlas/data-store/releases{/id}","deployments_url":"https://api.github.com/repos/HumanCellAtlas/data-store/deployments","created_at":"2017-03-13T20:38:34Z","updated_at":"2017-12-10T16:25:46Z","pushed_at":"2017-12-27T08:32:33Z","git_url":"git://github.com/HumanCellAtlas/data-store.git","ssh_url":"git@github.com:HumanCellAtlas/data-store.git","clone_url":"https://github.com/HumanCellAtlas/data-store.git","svn_url":"https://github.com/HumanCellAtlas/data-store","homepage":"https://dss.staging.data.humancellatlas.org/","size":8930,"stargazers_count":15,"watchers_count":15,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":135,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":135,"watchers":15,"default_branch":"master"}},"base":{"label":"HumanCellAtlas:master","ref":"master","sha":"b3eafba2e5b46f4cd5bc286cdce82c65f9a7f318","user":{"login":"HumanCellAtlas","id":26391798,"avatar_url":"https://avatars1.githubusercontent.com/u/26391798?v=4","gravatar_id":"","url":"https://api.github.com/users/HumanCellAtlas","html_url":"https://github.com/HumanCellAtlas","followers_url":"https://api.github.com/users/HumanCellAtlas/followers","following_url":"https://api.github.com/users/HumanCellAtlas/following{/other_user}","gists_url":"https://api.github.com/users/HumanCellAtlas/gists{/gist_id}","starred_url":"https://api.github.com/users/HumanCellAtlas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HumanCellAtlas/subscriptions","organizations_url":"https://api.github.com/users/HumanCellAtlas/orgs","repos_url":"https://api.github.com/users/HumanCellAtlas/repos","events_url":"https://api.github.com/users/HumanCellAtlas/events{/privacy}","received_events_url":"https://api.github.com/users/HumanCellAtlas/received_events","type":"Organization","site_admin":false},"repo":{"id":84872231,"name":"data-store","full_name":"HumanCellAtlas/data-store","owner":{"login":"HumanCellAtlas","id":26391798,"avatar_url":"https://avatars1.githubusercontent.com/u/26391798?v=4","gravatar_id":"","url":"https://api.github.com/users/HumanCellAtlas","html_url":"https://github.com/HumanCellAtlas","followers_url":"https://api.github.com/users/HumanCellAtlas/followers","following_url":"https://api.github.com/users/HumanCellAtlas/following{/other_user}","gists_url":"https://api.github.com/users/HumanCellAtlas/gists{/gist_id}","starred_url":"https://api.github.com/users/HumanCellAtlas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HumanCellAtlas/subscriptions","organizations_url":"https://api.github.com/users/HumanCellAtlas/orgs","repos_url":"https://api.github.com/users/HumanCellAtlas/repos","events_url":"https://api.github.com/users/HumanCellAtlas/events{/privacy}","received_events_url":"https://api.github.com/users/HumanCellAtlas/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/HumanCellAtlas/data-store","description":"Design specs and prototypes for the HCA Data Storage System (\"blue box\")","fork":false,"url":"https://api.github.com/repos/HumanCellAtlas/data-store","forks_url":"https://api.github.com/repos/HumanCellAtlas/data-store/forks","keys_url":"https://api.github.com/repos/HumanCellAtlas/data-store/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HumanCellAtlas/data-store/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HumanCellAtlas/data-store/teams","hooks_url":"https://api.github.com/repos/HumanCellAtlas/data-store/hooks","issue_events_url":"https://api.github.com/repos/HumanCellAtlas/data-store/issues/events{/number}","events_url":"https://api.github.com/repos/HumanCellAtlas/data-store/events","assignees_url":"https://api.github.com/repos/HumanCellAtlas/data-store/assignees{/user}","branches_url":"https://api.github.com/repos/HumanCellAtlas/data-store/branches{/branch}","tags_url":"https://api.github.com/repos/HumanCellAtlas/data-store/tags","blobs_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/refs{/sha}","trees_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HumanCellAtlas/data-store/statuses/{sha}","languages_url":"https://api.github.com/repos/HumanCellAtlas/data-store/languages","stargazers_url":"https://api.github.com/repos/HumanCellAtlas/data-store/stargazers","contributors_url":"https://api.github.com/repos/HumanCellAtlas/data-store/contributors","subscribers_url":"https://api.github.com/repos/HumanCellAtlas/data-store/subscribers","subscription_url":"https://api.github.com/repos/HumanCellAtlas/data-store/subscription","commits_url":"https://api.github.com/repos/HumanCellAtlas/data-store/commits{/sha}","git_commits_url":"https://api.github.com/repos/HumanCellAtlas/data-store/git/commits{/sha}","comments_url":"https://api.github.com/repos/HumanCellAtlas/data-store/comments{/number}","issue_comment_url":"https://api.github.com/repos/HumanCellAtlas/data-store/issues/comments{/number}","contents_url":"https://api.github.com/repos/HumanCellAtlas/data-store/contents/{+path}","compare_url":"https://api.github.com/repos/HumanCellAtlas/data-store/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HumanCellAtlas/data-store/merges","archive_url":"https://api.github.com/repos/HumanCellAtlas/data-store/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HumanCellAtlas/data-store/downloads","issues_url":"https://api.github.com/repos/HumanCellAtlas/data-store/issues{/number}","pulls_url":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls{/number}","milestones_url":"https://api.github.com/repos/HumanCellAtlas/data-store/milestones{/number}","notifications_url":"https://api.github.com/repos/HumanCellAtlas/data-store/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HumanCellAtlas/data-store/labels{/name}","releases_url":"https://api.github.com/repos/HumanCellAtlas/data-store/releases{/id}","deployments_url":"https://api.github.com/repos/HumanCellAtlas/data-store/deployments","created_at":"2017-03-13T20:38:34Z","updated_at":"2017-12-10T16:25:46Z","pushed_at":"2017-12-27T08:32:33Z","git_url":"git://github.com/HumanCellAtlas/data-store.git","ssh_url":"git@github.com:HumanCellAtlas/data-store.git","clone_url":"https://github.com/HumanCellAtlas/data-store.git","svn_url":"https://github.com/HumanCellAtlas/data-store","homepage":"https://dss.staging.data.humancellatlas.org/","size":8930,"stargazers_count":15,"watchers_count":15,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":135,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":135,"watchers":15,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/802"},"html":{"href":"https://github.com/HumanCellAtlas/data-store/pull/802"},"issue":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/issues/802"},"comments":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/issues/802/comments"},"review_comments":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/802/comments"},"review_comment":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/pulls/802/commits"},"statuses":{"href":"https://api.github.com/repos/HumanCellAtlas/data-store/statuses/e0a665d45103ae9197b0a022f899556b51121b27"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"hannes-ucsc"}}