{"action":"created","comment":{"url":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/comments/242665507","pull_request_review_id":186232094,"id":242665507,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MjY2NTUwNw==","diff_hunk":"@@ -1064,24 +1067,125 @@ def reindex_request(self, request, bundle, **kwargs):\n         return http.HttpResponse(content=json.dumps(response), content_type='application/json')\n \n     @_custom_endpoint(expected_methods=['post'],\n-        required_fields=('pipeline', 'reingest_type'))\n+                      required_fields=('pipeline', 'reingest_type'))\n     def reingest_request(self, request, bundle, **kwargs):\n+        \"\"\"Request to reingest an AIP.\"\"\"\n         try:\n             pipeline = Pipeline.objects.get(uuid=bundle.data['pipeline'])\n         except (Pipeline.DoesNotExist, Pipeline.MultipleObjectsReturned):\n             response = {\n                 'error': True,\n-                'message': _('Pipeline UUID %(uuid)s failed to return a pipeline') % {'uuid': bundle.data['pipeline']},\n+                'message': _('Pipeline UUID %(uuid)s failed to return a pipeline')\n+                % {'uuid': bundle.data['pipeline']},\n             }\n-            return self.create_response(request, response, response_class=http.HttpBadRequest)\n+            return self.create_response(request,\n+                                        response,\n+                                        response_class=http.HttpBadRequest)\n+\n         reingest_type = bundle.data['reingest_type']\n         processing_config = bundle.data.get('processing_config', 'default')\n \n-        response = bundle.obj.start_reingest(pipeline, reingest_type, processing_config)\n+        response = bundle.obj.start_reingest(pipeline,\n+                                             reingest_type,\n+                                             processing_config)\n         status_code = response.get('status_code', 500)\n \n         return self.create_response(request, response, status=status_code)\n \n+    @_custom_endpoint(expected_methods=['post'])\n+    def move_request(self, request, bundle, **kwargs):\n+        \"\"\"Request to move a stored AIP.\n+\n+        Called when a POST request is made to api/v2/file/UUID/move/ with a location_uuid\n+        parameter with the UUID of the location that the AIP should be moved to.\n+        \"\"\"\n+        package = bundle.obj\n+\n+        if package.status != Package.UPLOADED:\n+            response = {\n+                'error': True,\n+                'message': _('The file must be in an %s state to be moved. '\n+                             'Current state: %s'\n+                             % (Package.UPLOADED, package.status)),\n+            }\n+            return self.create_response(request,\n+                                        response,\n+                                        response_class=http.HttpBadRequest)\n+\n+        location_uuid = request.POST.get('location_uuid')\n+\n+        if not location_uuid:\n+            return http.HttpBadRequest(_('All of these fields must be provided:'\n+                                         'location_uuid'))\n+\n+        try:\n+            location = Location.objects.get(uuid=location_uuid)\n+        except (Location.DoesNotExist, Location.MultipleObjectsReturned):\n+            response = {\n+                'error': True,\n+                'message': _('Location UUID %(uuid)s \\\n+                failed to return a location') %\n+                {'uuid': location_uuid},\n+            }\n+            return self.create_response(request,\n+                                        response,\n+                                        response_class=http.HttpBadRequest)\n+\n+        if location == package.current_location:\n+            response = {\n+                'error': True,\n+                'message': _('New location must be different '\n+                             'to the current location'),\n+            }\n+            return self.create_response(request,\n+                                        response,\n+                                        response_class=http.HttpBadRequest)\n+\n+        if location.purpose != package.current_location.purpose:\n+            response = {\n+                'error': True,\n+                'message': _('New location must have the same purpose as '\n+                             'the current location - %s'\n+                             % package.current_location.purpose),\n+            }\n+            return self.create_response(request,\n+                                        response,\n+                                        response_class=http.HttpBadRequest)\n+\n+        number_matched = (Package.objects\n+                          .filter(id=package.id, status=Package.UPLOADED)\n+                          .update(status=Package.MOVING))","path":"storage_service/locations/api/resources.py","position":105,"original_position":105,"commit_id":"3b0427fa53c26aa7b98fdfef6ad40bdda950423d","original_commit_id":"3b0427fa53c26aa7b98fdfef6ad40bdda950423d","user":{"login":"sevein","id":606459,"node_id":"MDQ6VXNlcjYwNjQ1OQ==","avatar_url":"https://avatars2.githubusercontent.com/u/606459?v=4","gravatar_id":"","url":"https://api.github.com/users/sevein","html_url":"https://github.com/sevein","followers_url":"https://api.github.com/users/sevein/followers","following_url":"https://api.github.com/users/sevein/following{/other_user}","gists_url":"https://api.github.com/users/sevein/gists{/gist_id}","starred_url":"https://api.github.com/users/sevein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sevein/subscriptions","organizations_url":"https://api.github.com/users/sevein/orgs","repos_url":"https://api.github.com/users/sevein/repos","events_url":"https://api.github.com/users/sevein/events{/privacy}","received_events_url":"https://api.github.com/users/sevein/received_events","type":"User","site_admin":false},"body":"We'd usually write this like:\r\n\r\n```python\r\n        number_matched = Package.objects \\\r\n            .filter(id=package.id, status=Package.UPLOADED) \\\r\n            .update(status=Package.MOVING))","created_at":"2018-12-18T19:04:46Z","updated_at":"2018-12-18T19:08:19Z","html_url":"https://github.com/artefactual/archivematica-storage-service/pull/428#discussion_r242665507","pull_request_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/428","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/comments/242665507"},"html":{"href":"https://github.com/artefactual/archivematica-storage-service/pull/428#discussion_r242665507"},"pull_request":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/428"}}},"pull_request":{"url":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/428","id":237000196,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM3MDAwMTk2","html_url":"https://github.com/artefactual/archivematica-storage-service/pull/428","diff_url":"https://github.com/artefactual/archivematica-storage-service/pull/428.diff","patch_url":"https://github.com/artefactual/archivematica-storage-service/pull/428.patch","issue_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues/428","number":428,"state":"open","locked":false,"title":"Add move aip endpoint","user":{"login":"ablwr","id":3260492,"node_id":"MDQ6VXNlcjMyNjA0OTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3260492?v=4","gravatar_id":"","url":"https://api.github.com/users/ablwr","html_url":"https://github.com/ablwr","followers_url":"https://api.github.com/users/ablwr/followers","following_url":"https://api.github.com/users/ablwr/following{/other_user}","gists_url":"https://api.github.com/users/ablwr/gists{/gist_id}","starred_url":"https://api.github.com/users/ablwr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ablwr/subscriptions","organizations_url":"https://api.github.com/users/ablwr/orgs","repos_url":"https://api.github.com/users/ablwr/repos","events_url":"https://api.github.com/users/ablwr/events{/privacy}","received_events_url":"https://api.github.com/users/ablwr/received_events","type":"User","site_admin":false},"body":"This pull request supercedes both https://github.com/artefactual/archivematica-storage-service/pull/143 and https://github.com/artefactual/archivematica-storage-service/pull/408 and I will close both of them after submitting this PR. This PR is connected to https://github.com/archivematica/Issues/issues/71.","created_at":"2018-12-07T21:35:34Z","updated_at":"2018-12-18T19:08:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dd3be20913477416bb6898c8015b013326c1ceeb","assignee":{"login":"ablwr","id":3260492,"node_id":"MDQ6VXNlcjMyNjA0OTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3260492?v=4","gravatar_id":"","url":"https://api.github.com/users/ablwr","html_url":"https://github.com/ablwr","followers_url":"https://api.github.com/users/ablwr/followers","following_url":"https://api.github.com/users/ablwr/following{/other_user}","gists_url":"https://api.github.com/users/ablwr/gists{/gist_id}","starred_url":"https://api.github.com/users/ablwr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ablwr/subscriptions","organizations_url":"https://api.github.com/users/ablwr/orgs","repos_url":"https://api.github.com/users/ablwr/repos","events_url":"https://api.github.com/users/ablwr/events{/privacy}","received_events_url":"https://api.github.com/users/ablwr/received_events","type":"User","site_admin":false},"assignees":[{"login":"ablwr","id":3260492,"node_id":"MDQ6VXNlcjMyNjA0OTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3260492?v=4","gravatar_id":"","url":"https://api.github.com/users/ablwr","html_url":"https://github.com/ablwr","followers_url":"https://api.github.com/users/ablwr/followers","following_url":"https://api.github.com/users/ablwr/following{/other_user}","gists_url":"https://api.github.com/users/ablwr/gists{/gist_id}","starred_url":"https://api.github.com/users/ablwr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ablwr/subscriptions","organizations_url":"https://api.github.com/users/ablwr/orgs","repos_url":"https://api.github.com/users/ablwr/repos","events_url":"https://api.github.com/users/ablwr/events{/privacy}","received_events_url":"https://api.github.com/users/ablwr/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"ross-spencer","id":1880412,"node_id":"MDQ6VXNlcjE4ODA0MTI=","avatar_url":"https://avatars1.githubusercontent.com/u/1880412?v=4","gravatar_id":"","url":"https://api.github.com/users/ross-spencer","html_url":"https://github.com/ross-spencer","followers_url":"https://api.github.com/users/ross-spencer/followers","following_url":"https://api.github.com/users/ross-spencer/following{/other_user}","gists_url":"https://api.github.com/users/ross-spencer/gists{/gist_id}","starred_url":"https://api.github.com/users/ross-spencer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ross-spencer/subscriptions","organizations_url":"https://api.github.com/users/ross-spencer/orgs","repos_url":"https://api.github.com/users/ross-spencer/repos","events_url":"https://api.github.com/users/ross-spencer/events{/privacy}","received_events_url":"https://api.github.com/users/ross-spencer/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/428/commits","review_comments_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/428/comments","review_comment_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/comments{/number}","comments_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues/428/comments","statuses_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/statuses/3b0427fa53c26aa7b98fdfef6ad40bdda950423d","head":{"label":"artefactual:dev/i71-updated-move-aip-endpoint","ref":"dev/i71-updated-move-aip-endpoint","sha":"3b0427fa53c26aa7b98fdfef6ad40bdda950423d","user":{"login":"artefactual","id":1163545,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNjM1NDU=","avatar_url":"https://avatars1.githubusercontent.com/u/1163545?v=4","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"repo":{"id":12164369,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE2NDM2OQ==","name":"archivematica-storage-service","full_name":"artefactual/archivematica-storage-service","private":false,"owner":{"login":"artefactual","id":1163545,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNjM1NDU=","avatar_url":"https://avatars1.githubusercontent.com/u/1163545?v=4","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/artefactual/archivematica-storage-service","description":"Archivematica storage service","fork":false,"url":"https://api.github.com/repos/artefactual/archivematica-storage-service","forks_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/forks","keys_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/keys{/key_id}","collaborators_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/teams","hooks_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/hooks","issue_events_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues/events{/number}","events_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/events","assignees_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/assignees{/user}","branches_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/branches{/branch}","tags_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/tags","blobs_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/refs{/sha}","trees_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/trees{/sha}","statuses_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/statuses/{sha}","languages_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/languages","stargazers_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/stargazers","contributors_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/contributors","subscribers_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/subscribers","subscription_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/subscription","commits_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/commits{/sha}","git_commits_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/commits{/sha}","comments_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/comments{/number}","issue_comment_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues/comments{/number}","contents_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/contents/{+path}","compare_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/compare/{base}...{head}","merges_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/merges","archive_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/downloads","issues_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues{/number}","pulls_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls{/number}","milestones_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/milestones{/number}","notifications_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/labels{/name}","releases_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/releases{/id}","deployments_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/deployments","created_at":"2013-08-16T17:41:44Z","updated_at":"2018-10-30T17:15:42Z","pushed_at":"2018-12-18T17:47:34Z","git_url":"git://github.com/artefactual/archivematica-storage-service.git","ssh_url":"git@github.com:artefactual/archivematica-storage-service.git","clone_url":"https://github.com/artefactual/archivematica-storage-service.git","svn_url":"https://github.com/artefactual/archivematica-storage-service","homepage":"http://www.archivematica.org","size":6350,"stargazers_count":12,"watchers_count":12,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":28,"mirror_url":null,"archived":false,"open_issues_count":38,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":28,"open_issues":38,"watchers":12,"default_branch":"stable/0.13.x"}},"base":{"label":"artefactual:qa/0.x","ref":"qa/0.x","sha":"cfa30473d6317646ec86c5beaa3df00034b3b290","user":{"login":"artefactual","id":1163545,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNjM1NDU=","avatar_url":"https://avatars1.githubusercontent.com/u/1163545?v=4","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"repo":{"id":12164369,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE2NDM2OQ==","name":"archivematica-storage-service","full_name":"artefactual/archivematica-storage-service","private":false,"owner":{"login":"artefactual","id":1163545,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNjM1NDU=","avatar_url":"https://avatars1.githubusercontent.com/u/1163545?v=4","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/artefactual/archivematica-storage-service","description":"Archivematica storage service","fork":false,"url":"https://api.github.com/repos/artefactual/archivematica-storage-service","forks_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/forks","keys_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/keys{/key_id}","collaborators_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/teams","hooks_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/hooks","issue_events_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues/events{/number}","events_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/events","assignees_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/assignees{/user}","branches_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/branches{/branch}","tags_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/tags","blobs_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/refs{/sha}","trees_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/trees{/sha}","statuses_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/statuses/{sha}","languages_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/languages","stargazers_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/stargazers","contributors_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/contributors","subscribers_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/subscribers","subscription_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/subscription","commits_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/commits{/sha}","git_commits_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/git/commits{/sha}","comments_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/comments{/number}","issue_comment_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues/comments{/number}","contents_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/contents/{+path}","compare_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/compare/{base}...{head}","merges_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/merges","archive_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/downloads","issues_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues{/number}","pulls_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls{/number}","milestones_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/milestones{/number}","notifications_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/labels{/name}","releases_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/releases{/id}","deployments_url":"https://api.github.com/repos/artefactual/archivematica-storage-service/deployments","created_at":"2013-08-16T17:41:44Z","updated_at":"2018-10-30T17:15:42Z","pushed_at":"2018-12-18T17:47:34Z","git_url":"git://github.com/artefactual/archivematica-storage-service.git","ssh_url":"git@github.com:artefactual/archivematica-storage-service.git","clone_url":"https://github.com/artefactual/archivematica-storage-service.git","svn_url":"https://github.com/artefactual/archivematica-storage-service","homepage":"http://www.archivematica.org","size":6350,"stargazers_count":12,"watchers_count":12,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":28,"mirror_url":null,"archived":false,"open_issues_count":38,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":28,"open_issues":38,"watchers":12,"default_branch":"stable/0.13.x"}},"_links":{"self":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/428"},"html":{"href":"https://github.com/artefactual/archivematica-storage-service/pull/428"},"issue":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues/428"},"comments":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/issues/428/comments"},"review_comments":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/428/comments"},"review_comment":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/pulls/428/commits"},"statuses":{"href":"https://api.github.com/repos/artefactual/archivematica-storage-service/statuses/3b0427fa53c26aa7b98fdfef6ad40bdda950423d"}},"author_association":"NONE"}}
{"actor":{"display_login":"sevein"}}