{"action":"created","comment":{"url":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/comments/196587334","pull_request_review_id":130003076,"id":196587334,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NjU4NzMzNA==","diff_hunk":"@@ -531,13 +531,6 @@ function checkConflictsRename(tb, item, name, cb) {\n                 m('h5.replace-file', '\"Cancel\" will cancel the move.')\n             ]);\n \n-\n-            if (window.contextVars.node.preprintFileId === child.data.path.replace('/', '')) {","path":"website/static/js/fangorn.js","position":5,"original_position":5,"commit_id":"3da67e3f2f54d2516712178dbb6a2e19733ddea5","original_commit_id":"3da67e3f2f54d2516712178dbb6a2e19733ddea5","user":{"login":"pattisdr","id":9755598,"node_id":"MDQ6VXNlcjk3NTU1OTg=","avatar_url":"https://avatars2.githubusercontent.com/u/9755598?v=4","gravatar_id":"","url":"https://api.github.com/users/pattisdr","html_url":"https://github.com/pattisdr","followers_url":"https://api.github.com/users/pattisdr/followers","following_url":"https://api.github.com/users/pattisdr/following{/other_user}","gists_url":"https://api.github.com/users/pattisdr/gists{/gist_id}","starred_url":"https://api.github.com/users/pattisdr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pattisdr/subscriptions","organizations_url":"https://api.github.com/users/pattisdr/orgs","repos_url":"https://api.github.com/users/pattisdr/repos","events_url":"https://api.github.com/users/pattisdr/events{/privacy}","received_events_url":"https://api.github.com/users/pattisdr/received_events","type":"User","site_admin":false},"body":"We no longer need to block primary files from being deleted on the node.","created_at":"2018-06-19T21:38:46Z","updated_at":"2018-06-19T21:46:08Z","html_url":"https://github.com/CenterForOpenScience/osf.io/pull/8422#discussion_r196587334","pull_request_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/8422","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/comments/196587334"},"html":{"href":"https://github.com/CenterForOpenScience/osf.io/pull/8422#discussion_r196587334"},"pull_request":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/8422"}}},"pull_request":{"url":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/8422","id":193511110,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzNTExMTEw","html_url":"https://github.com/CenterForOpenScience/osf.io/pull/8422","diff_url":"https://github.com/CenterForOpenScience/osf.io/pull/8422.diff","patch_url":"https://github.com/CenterForOpenScience/osf.io/pull/8422.patch","issue_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/8422","number":8422,"state":"open","locked":false,"title":"[WIP] Feature/The Amicable Node-Preprint Divorce [PLAT-555][PLAT-480][PLAT-559]","user":{"login":"pattisdr","id":9755598,"node_id":"MDQ6VXNlcjk3NTU1OTg=","avatar_url":"https://avatars2.githubusercontent.com/u/9755598?v=4","gravatar_id":"","url":"https://api.github.com/users/pattisdr","html_url":"https://github.com/pattisdr","followers_url":"https://api.github.com/users/pattisdr/followers","following_url":"https://api.github.com/users/pattisdr/following{/other_user}","gists_url":"https://api.github.com/users/pattisdr/gists{/gist_id}","starred_url":"https://api.github.com/users/pattisdr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pattisdr/subscriptions","organizations_url":"https://api.github.com/users/pattisdr/orgs","repos_url":"https://api.github.com/users/pattisdr/repos","events_url":"https://api.github.com/users/pattisdr/events{/privacy}","received_events_url":"https://api.github.com/users/pattisdr/received_events","type":"User","site_admin":false},"body":"## Purpose\r\n\r\nRemoves the dependency of Preprints on Nodes.  Nodes can house supplemental files for a preprint, but beyond that, Preprints are their own thing.\r\n\r\nTicket contains:\r\n- [Backend changes for node-preprint divorce ](https://openscience.atlassian.net/browse/PLAT-555)\r\n- [Schema and data migrations for legacy preprints ](https://openscience.atlassian.net/browse/PLAT-480)\r\n- [v1/Non-Ember front-end changes ](https://openscience.atlassian.net/browse/PLAT-559)\r\n- [API changes for preprints](https://openscience.atlassian.net/browse/PLAT-561)\r\n\r\n## TODO List\r\n- [x] Test copying file from node to preprint w/ WB request - not yet working locally, but also broken on `upload_to_anything`.\r\n- [x] [API v2 move/copy hooks](https://github.com/CenterForOpenScience/osf.io/pull/7773/files) need to be adapted for preprints \r\n- [ ] Docs for new API version once all the fields we're deprecating are set.\r\n- [x] Elastic search - stop indexing nodes as preprints.  Add one-off script to reindex existing nodes w/ preprints as nodes instead of preprints (loop through nodes, call node.update_search()). Modify search migration to remove the option of categorizing nodes as preprints.\r\n- [x] Elastic search - start indexing preprints.  One-off script to index legacy preprints.  Modify search migration to add a migrate_preprints script, w/ delete function to remove preprints that shouldn't be in index\r\n- [x] Elastic search - index primary files on preprint only.  Remove primary file file from index if preprint is not verified publishable.  Modify search migration to add/remove primary files.\r\n- [x] Elastic search UI - primary files on preprints should not show a link to the file detail page, only a link to the preprint.\r\n- [x] Data migration - reverse migration needs testing\r\n- [x] Data migration - OPTIMIZE, test on large data dump\r\n- [ ] SHARE - are Preprints updates working, sending preprint fields instead of node fields?\r\n- [x] Legacy front-end changes\r\n- [x] Node model - remove obsolete fields\r\n- [x] Schema migration to move obsolete fields off of node\r\n- [x] Verify no issues with Preprint model ContentType now that name has been changed (looks like this happened automatically, same id, but model name is changed).\r\n- [ ] Obsolete email links related to nodes on preprints?\r\n- [x] Document changes to API requests for creating a preprint.\r\n\r\n# How to create a preprint\r\n\r\n## Step 1: Start Preprint\r\n`POST  http://localhost:8000/v2/preprints/`\r\nRequired fields are title and provider\r\n```json\r\nrequest body\r\n {\r\n     \"data\": {\r\n       \"type\": \"preprints\",\r\n       \"attributes\": {\r\n        \"title\": \"My first preprint\",\r\n        \"tags\": [\"coffee\", \"cinnamon\"]\r\n       },\r\n       \"relationships\": {\r\n          \"provider\": {\r\n             \"data\": {\r\n                \"type\": \"providers\",\r\n                \"id\": \"osf\"\r\n             \r\n             }\r\n          }\r\n    \t\t\r\n       }\r\n     }\r\n}\r\n```\r\n## Step 2 Upload new file to preprint, or copy file from existing node:\r\n### Uploading new file\r\n`GET http://localhost:8000/v2/preprints/nmqp6/files/` and then \r\n```\r\ncurl -X \"PUT\" \"http://localhost:7777/v1/resources/nmqp6/providers/osfstorage/?kind=file&name=my_preprint_file.txt\" \\\r\n--\r\n-H \"Authorization: Bearer my-token-goes-here\" \\\r\n-H \"Content-Type: text/plain\" \\\r\n-d \"This is a text file\"\r\n\r\n```\r\n### Copying file from supplementary node\r\nGet \"move\" link from supplementary node and then POST to move link where resource is the preprint id, action is copy, and provider is osfstorage.\r\n`GET http://localhost:8000/v2/nodes/4u3mk/files/osfstorage/` and then\r\n```json\r\ncurl -X \"POST\" \"http://localhost:7777/v1/resources/4u3mk/providers/osfstorage/5b2803b04c9d8502e5aea0cf\" \\\r\n--\r\n-H \"Authorization: Bearer my-token-goes-here \" \\\r\n-H \"Content-Type: application/json\" \\\r\n-d '{\"action\": \"copy\", \"path\": \"/\", \"resource\": \"nmqp6\", \"provider\": \"osfstorage\", \"conflict\": \"replace\"}'\r\n\r\n```\r\n\r\n## Step 3 - Update preprint to set newly uploaded file as primary file, add subjects if not there already, (supplementary node optional) and publish\r\n```\r\nPATCH http://localhost:8000/v2/preprints/nmqp6/\r\n {\r\n     \"data\": {\r\n       \"id\": \"nmqp6\",\r\n       \"type\": \"preprints\",\r\n       \"attributes\": {\r\n        \"subjects\": [[\"5b2419881f4ae00001670157\"]],\r\n        \"is_published\": \"true\"\r\n       },\r\n       \"relationships\": {\r\n          \"primary_file\": {\r\n             \"data\": {\r\n                \"type\": \"files\",\r\n                \"id\": \"5b2809294c9d8502e5aea0e1\"\r\n             }\r\n          },\r\n          \"node\": {\r\n             \"data\": {\r\n                 \"type\": \"nodes\",\r\n                 \"id\": \"4u3mk\"\r\n             }\r\n          }\r\n    \t\t\r\n       }\r\n     }\r\n}\r\n```\r\n\r\n## Changes\r\n### Too many to list, here are some of them.\r\n\r\n### Admin App\r\n- Preprints are their own thing in the admin app, not relying on node fields\r\n- You can modify contributors directly, flag preprints as spam, and reindex preprints in elastic search\r\n- Several node templates/views made more generic to work with nearly-identical preprints\r\n\r\n### API\r\n- Preprint endpoints are looking at preprint fields, not node fields.\r\n- PreprintProviderList endpoint and PreprintFiles list endpoint added (to expose OSFStorage Waterbutler endpoints for uploading primary file\r\n- New process for creating a preprint 1) POST to` v2/preprints/` (title, provider are required fields) 2) Use WB links to upload or move file to created preprint 3) PATCH to `v2/preprints/<preprint_id>/` to finish up process. \r\n- New preprints scopes added now that preprints/nodes are separate\r\n\r\n### Elastic Search\r\n- Legacy nodes attached to preprints are reindexed as nodes in a one-off script (`scripts/remove_after_use/node_preprint_es.py`)\r\n- Legacy preprints are added to the index as preprints\r\n- Moving forward, nodes are indexed as nodes, preprints are indexed as preprints\r\n- Modifications to search migration to not include QuickFIlesNode in Project list (bug fix?)\r\n- Modifications to search migration to add indexing for preprints and preprint files, and to stop indexing nodes as preprints\r\n\r\n### Modeling\r\n- New PreprintLog and PreprintContributor models\r\n- New ContributorMixin to share contributor-related methods between Nodes and Preprints\r\n- New SpamOverrideMixin to share spam-methods between Nodes and Preprints\r\n- Preprints uses Django-guardian for contributor permissions\r\n- Write contributors have been upgraded to have more permissions - can edit most things on a submitted preprint except publishing, withdrawing, etc.\r\n- Preprints do not have addons, so a few OSFStorage methods have been moved to the preprint.  \r\n- UploadMixin added to Preprint that creates a root folder for storage \r\n\r\n### Preprint File\r\n- Stored on preprint instead of node\r\n- Some OSFStorage methods modified to handle permission checking on preprint in addition to node\r\n- Preprints have regions (by default, same region as UserSettings, in migration, pulls region off of node).\r\n\r\n\r\n### Legacy UI\r\n- Dashboard My Preprints fetches from users/preprints/ instead of users/nodes/?filter['preprint']=True.  Activity logs removed\r\n- Preprint file restrictions removed from fangorn\r\n- Language changed on project page to reflect that project is a supplemental file for a project\r\n<img width=\"1064\" alt=\"screen shot 2018-06-08 at 8 37 11 am\" src=\"https://user-images.githubusercontent.com/9755598/41161181-8ad419f4-6af7-11e8-89f0-82f8b5680b32.png\">\r\n<img width=\"1205\" alt=\"screen shot 2018-06-07 at 5 58 33 pm\" src=\"https://user-images.githubusercontent.com/9755598/41161183-8c98d59a-6af7-11e8-86d5-c18c1f0ddb24.png\">\r\n\r\n#### Elastic search before migration - 2 preprints 3 projects \r\n<img width=\"1238\" alt=\"screen shot 2018-06-12 at 12 02 27 am\" src=\"https://user-images.githubusercontent.com/9755598/41271545-df258be6-6dd6-11e8-9ff6-f60e52a6d812.png\">\r\n\r\n#### Elastic search after migration - 2 preprints 5 projects (2 projects formerly indexed as preprints were reindexed as projects)\r\n<img width=\"1211\" alt=\"screen shot 2018-06-12 at 12 08 46 am\" src=\"https://user-images.githubusercontent.com/9755598/41271563-f5d282a4-6dd6-11e8-8d29-ca02a8d15e52.png\">\r\n\r\n#### Preprint files don't have links, but you can click on preprint link. File detail for preprint page is blocked.\r\n<img width=\"927\" alt=\"screen shot 2018-06-12 at 12 08 53 am\" src=\"https://user-images.githubusercontent.com/9755598/41271583-0a207284-6dd7-11e8-9033-dce60d66aef8.png\">\r\n\r\n## QA Notes\r\n\r\n<!-- Does this change need QA? If so, this section is required.\r\n     - Is cross-browser testing required/recommended?\r\n     - Is API testing required/recommended?\r\n     - What pages on the OSF should be tested?\r\n     - What edge cases should QA be aware of?\r\n-->\r\n\r\n## Side Effects\r\n\r\n<!-- Any possible side effects? -->\r\n\r\n## Ticket\r\n\r\n<!-- Link to JIRA ticket, if applicable e.g. https://openscience.atlassian.net/browse/OSF-1234 -->\r\n\r\n","created_at":"2018-06-08T05:18:39Z","updated_at":"2018-06-19T21:46:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ee0a5c7b578df55d15b6243ae65932c7df5a992d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/8422/commits","review_comments_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/8422/comments","review_comment_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/8422/comments","statuses_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/statuses/3da67e3f2f54d2516712178dbb6a2e19733ddea5","head":{"label":"pattisdr:feature/node-preprint","ref":"feature/node-preprint","sha":"3da67e3f2f54d2516712178dbb6a2e19733ddea5","user":{"login":"pattisdr","id":9755598,"node_id":"MDQ6VXNlcjk3NTU1OTg=","avatar_url":"https://avatars2.githubusercontent.com/u/9755598?v=4","gravatar_id":"","url":"https://api.github.com/users/pattisdr","html_url":"https://github.com/pattisdr","followers_url":"https://api.github.com/users/pattisdr/followers","following_url":"https://api.github.com/users/pattisdr/following{/other_user}","gists_url":"https://api.github.com/users/pattisdr/gists{/gist_id}","starred_url":"https://api.github.com/users/pattisdr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pattisdr/subscriptions","organizations_url":"https://api.github.com/users/pattisdr/orgs","repos_url":"https://api.github.com/users/pattisdr/repos","events_url":"https://api.github.com/users/pattisdr/events{/privacy}","received_events_url":"https://api.github.com/users/pattisdr/received_events","type":"User","site_admin":false},"repo":{"id":35900874,"node_id":"MDEwOlJlcG9zaXRvcnkzNTkwMDg3NA==","name":"osf.io","full_name":"pattisdr/osf.io","owner":{"login":"pattisdr","id":9755598,"node_id":"MDQ6VXNlcjk3NTU1OTg=","avatar_url":"https://avatars2.githubusercontent.com/u/9755598?v=4","gravatar_id":"","url":"https://api.github.com/users/pattisdr","html_url":"https://github.com/pattisdr","followers_url":"https://api.github.com/users/pattisdr/followers","following_url":"https://api.github.com/users/pattisdr/following{/other_user}","gists_url":"https://api.github.com/users/pattisdr/gists{/gist_id}","starred_url":"https://api.github.com/users/pattisdr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pattisdr/subscriptions","organizations_url":"https://api.github.com/users/pattisdr/orgs","repos_url":"https://api.github.com/users/pattisdr/repos","events_url":"https://api.github.com/users/pattisdr/events{/privacy}","received_events_url":"https://api.github.com/users/pattisdr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/pattisdr/osf.io","description":"Facilitating Open Science","fork":true,"url":"https://api.github.com/repos/pattisdr/osf.io","forks_url":"https://api.github.com/repos/pattisdr/osf.io/forks","keys_url":"https://api.github.com/repos/pattisdr/osf.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pattisdr/osf.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pattisdr/osf.io/teams","hooks_url":"https://api.github.com/repos/pattisdr/osf.io/hooks","issue_events_url":"https://api.github.com/repos/pattisdr/osf.io/issues/events{/number}","events_url":"https://api.github.com/repos/pattisdr/osf.io/events","assignees_url":"https://api.github.com/repos/pattisdr/osf.io/assignees{/user}","branches_url":"https://api.github.com/repos/pattisdr/osf.io/branches{/branch}","tags_url":"https://api.github.com/repos/pattisdr/osf.io/tags","blobs_url":"https://api.github.com/repos/pattisdr/osf.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pattisdr/osf.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pattisdr/osf.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/pattisdr/osf.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pattisdr/osf.io/statuses/{sha}","languages_url":"https://api.github.com/repos/pattisdr/osf.io/languages","stargazers_url":"https://api.github.com/repos/pattisdr/osf.io/stargazers","contributors_url":"https://api.github.com/repos/pattisdr/osf.io/contributors","subscribers_url":"https://api.github.com/repos/pattisdr/osf.io/subscribers","subscription_url":"https://api.github.com/repos/pattisdr/osf.io/subscription","commits_url":"https://api.github.com/repos/pattisdr/osf.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/pattisdr/osf.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/pattisdr/osf.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/pattisdr/osf.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/pattisdr/osf.io/contents/{+path}","compare_url":"https://api.github.com/repos/pattisdr/osf.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pattisdr/osf.io/merges","archive_url":"https://api.github.com/repos/pattisdr/osf.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pattisdr/osf.io/downloads","issues_url":"https://api.github.com/repos/pattisdr/osf.io/issues{/number}","pulls_url":"https://api.github.com/repos/pattisdr/osf.io/pulls{/number}","milestones_url":"https://api.github.com/repos/pattisdr/osf.io/milestones{/number}","notifications_url":"https://api.github.com/repos/pattisdr/osf.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pattisdr/osf.io/labels{/name}","releases_url":"https://api.github.com/repos/pattisdr/osf.io/releases{/id}","deployments_url":"https://api.github.com/repos/pattisdr/osf.io/deployments","created_at":"2015-05-19T18:33:09Z","updated_at":"2016-01-11T21:17:43Z","pushed_at":"2018-06-19T20:36:03Z","git_url":"git://github.com/pattisdr/osf.io.git","ssh_url":"git@github.com:pattisdr/osf.io.git","clone_url":"https://github.com/pattisdr/osf.io.git","svn_url":"https://github.com/pattisdr/osf.io","homepage":"http://osf.io","size":173361,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":1,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"CenterForOpenScience:feature/files-on-anything","ref":"feature/files-on-anything","sha":"8a8716e0ea6a3d6a7e121691881b96465ebf525c","user":{"login":"CenterForOpenScience","id":3344584,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMzNDQ1ODQ=","avatar_url":"https://avatars1.githubusercontent.com/u/3344584?v=4","gravatar_id":"","url":"https://api.github.com/users/CenterForOpenScience","html_url":"https://github.com/CenterForOpenScience","followers_url":"https://api.github.com/users/CenterForOpenScience/followers","following_url":"https://api.github.com/users/CenterForOpenScience/following{/other_user}","gists_url":"https://api.github.com/users/CenterForOpenScience/gists{/gist_id}","starred_url":"https://api.github.com/users/CenterForOpenScience/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CenterForOpenScience/subscriptions","organizations_url":"https://api.github.com/users/CenterForOpenScience/orgs","repos_url":"https://api.github.com/users/CenterForOpenScience/repos","events_url":"https://api.github.com/users/CenterForOpenScience/events{/privacy}","received_events_url":"https://api.github.com/users/CenterForOpenScience/received_events","type":"Organization","site_admin":false},"repo":{"id":10199599,"node_id":"MDEwOlJlcG9zaXRvcnkxMDE5OTU5OQ==","name":"osf.io","full_name":"CenterForOpenScience/osf.io","owner":{"login":"CenterForOpenScience","id":3344584,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMzNDQ1ODQ=","avatar_url":"https://avatars1.githubusercontent.com/u/3344584?v=4","gravatar_id":"","url":"https://api.github.com/users/CenterForOpenScience","html_url":"https://github.com/CenterForOpenScience","followers_url":"https://api.github.com/users/CenterForOpenScience/followers","following_url":"https://api.github.com/users/CenterForOpenScience/following{/other_user}","gists_url":"https://api.github.com/users/CenterForOpenScience/gists{/gist_id}","starred_url":"https://api.github.com/users/CenterForOpenScience/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CenterForOpenScience/subscriptions","organizations_url":"https://api.github.com/users/CenterForOpenScience/orgs","repos_url":"https://api.github.com/users/CenterForOpenScience/repos","events_url":"https://api.github.com/users/CenterForOpenScience/events{/privacy}","received_events_url":"https://api.github.com/users/CenterForOpenScience/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CenterForOpenScience/osf.io","description":"Facilitating Open Science","fork":false,"url":"https://api.github.com/repos/CenterForOpenScience/osf.io","forks_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/forks","keys_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/teams","hooks_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/hooks","issue_events_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/events{/number}","events_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/events","assignees_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/assignees{/user}","branches_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/branches{/branch}","tags_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/tags","blobs_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/statuses/{sha}","languages_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/languages","stargazers_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/stargazers","contributors_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/contributors","subscribers_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/subscribers","subscription_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/subscription","commits_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/contents/{+path}","compare_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/merges","archive_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/downloads","issues_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues{/number}","pulls_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls{/number}","milestones_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/milestones{/number}","notifications_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/labels{/name}","releases_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/releases{/id}","deployments_url":"https://api.github.com/repos/CenterForOpenScience/osf.io/deployments","created_at":"2013-05-21T15:53:37Z","updated_at":"2018-06-19T21:04:45Z","pushed_at":"2018-06-19T21:25:59Z","git_url":"git://github.com/CenterForOpenScience/osf.io.git","ssh_url":"git@github.com:CenterForOpenScience/osf.io.git","clone_url":"https://github.com/CenterForOpenScience/osf.io.git","svn_url":"https://github.com/CenterForOpenScience/osf.io","homepage":"https://osf.io","size":172238,"stargazers_count":447,"watchers_count":447,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":247,"mirror_url":null,"archived":false,"open_issues_count":220,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":247,"open_issues":220,"watchers":447,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/8422"},"html":{"href":"https://github.com/CenterForOpenScience/osf.io/pull/8422"},"issue":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/8422"},"comments":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/issues/8422/comments"},"review_comments":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/8422/comments"},"review_comment":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/pulls/8422/commits"},"statuses":{"href":"https://api.github.com/repos/CenterForOpenScience/osf.io/statuses/3da67e3f2f54d2516712178dbb6a2e19733ddea5"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"pattisdr"}}