{"action":"closed","number":79,"pull_request":{"url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls/79","id":52882861,"html_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere/pull/79","diff_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere/pull/79.diff","patch_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere/pull/79.patch","issue_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues/79","number":79,"state":"closed","locked":false,"title":"New project resources (External Link + Image)","user":{"login":"steve-gregory","id":2889930,"avatar_url":"https://avatars.githubusercontent.com/u/2889930?v=3","gravatar_id":"","url":"https://api.github.com/users/steve-gregory","html_url":"https://github.com/steve-gregory","followers_url":"https://api.github.com/users/steve-gregory/followers","following_url":"https://api.github.com/users/steve-gregory/following{/other_user}","gists_url":"https://api.github.com/users/steve-gregory/gists{/gist_id}","starred_url":"https://api.github.com/users/steve-gregory/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steve-gregory/subscriptions","organizations_url":"https://api.github.com/users/steve-gregory/orgs","repos_url":"https://api.github.com/users/steve-gregory/repos","events_url":"https://api.github.com/users/steve-gregory/events{/privacy}","received_events_url":"https://api.github.com/users/steve-gregory/received_events","type":"User","site_admin":false},"body":"This Pull request provides DB+API (in Atmosphere) and UI support (in Troposphere) for new \"Project Resources\", in particular, External Links and Application/Images.\r\n\r\n* New DB Model ExternalLink\r\n* Corresponding migration\r\n* New API Viewsets for ExternalLink, ExternalLink + Project, Image+Project\r\n* New Serializers for ExternalLink, ExternalLink+Project, Image+Project\r\n\r\n--NOTE: This PR can be pulled in ahead of the troposphere PR without error. It should *NOT* be merged in if another file uses `core/migrations/0042_*.py`.\r\n\r\n\r\n[JIRA for Project + ExternalLink] (https://pods.iplantcollaborative.org/jira/browse/ATMO-598)\r\n[JIRA for Project + Application/Image] (https://pods.iplantcollaborative.org/jira/browse/ATMO-618)\r\n[Troposphere PR] (https://github.com/iPlantCollaborativeOpenSource/troposphere/pull/223)\r\n[Atmosphere PR] (https://github.com/iPlantCollaborativeOpenSource/atmosphere/pull/79)","created_at":"2015-12-07T18:36:48Z","updated_at":"2016-01-07T21:02:10Z","closed_at":"2016-01-07T21:02:09Z","merged_at":"2016-01-07T21:02:09Z","merge_commit_sha":"1aa4880efbd83255141b401c80fba7c538d6add3","assignee":{"login":"lenards","id":5923,"avatar_url":"https://avatars.githubusercontent.com/u/5923?v=3","gravatar_id":"","url":"https://api.github.com/users/lenards","html_url":"https://github.com/lenards","followers_url":"https://api.github.com/users/lenards/followers","following_url":"https://api.github.com/users/lenards/following{/other_user}","gists_url":"https://api.github.com/users/lenards/gists{/gist_id}","starred_url":"https://api.github.com/users/lenards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lenards/subscriptions","organizations_url":"https://api.github.com/users/lenards/orgs","repos_url":"https://api.github.com/users/lenards/repos","events_url":"https://api.github.com/users/lenards/events{/privacy}","received_events_url":"https://api.github.com/users/lenards/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls/79/commits","review_comments_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls/79/comments","review_comment_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls/comments{/number}","comments_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues/79/comments","statuses_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/statuses/293a6d86aadcd06433a43ab359c1865aca573562","head":{"label":"iPlantCollaborativeOpenSource:new_project_resources","ref":"new_project_resources","sha":"293a6d86aadcd06433a43ab359c1865aca573562","user":{"login":"iPlantCollaborativeOpenSource","id":669032,"avatar_url":"https://avatars.githubusercontent.com/u/669032?v=3","gravatar_id":"","url":"https://api.github.com/users/iPlantCollaborativeOpenSource","html_url":"https://github.com/iPlantCollaborativeOpenSource","followers_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/followers","following_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/following{/other_user}","gists_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/gists{/gist_id}","starred_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/subscriptions","organizations_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/orgs","repos_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/repos","events_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/events{/privacy}","received_events_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/received_events","type":"Organization","site_admin":false},"repo":{"id":8279795,"name":"atmosphere","full_name":"iPlantCollaborativeOpenSource/atmosphere","owner":{"login":"iPlantCollaborativeOpenSource","id":669032,"avatar_url":"https://avatars.githubusercontent.com/u/669032?v=3","gravatar_id":"","url":"https://api.github.com/users/iPlantCollaborativeOpenSource","html_url":"https://github.com/iPlantCollaborativeOpenSource","followers_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/followers","following_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/following{/other_user}","gists_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/gists{/gist_id}","starred_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/subscriptions","organizations_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/orgs","repos_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/repos","events_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/events{/privacy}","received_events_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere","description":"Where cloud lives.","fork":false,"url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere","forks_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/forks","keys_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/keys{/key_id}","collaborators_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/teams","hooks_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/hooks","issue_events_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues/events{/number}","events_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/events","assignees_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/assignees{/user}","branches_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/branches{/branch}","tags_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/tags","blobs_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/refs{/sha}","trees_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/trees{/sha}","statuses_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/statuses/{sha}","languages_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/languages","stargazers_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/stargazers","contributors_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/contributors","subscribers_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/subscribers","subscription_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/subscription","commits_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/commits{/sha}","git_commits_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/commits{/sha}","comments_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/comments{/number}","issue_comment_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues/comments{/number}","contents_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/contents/{+path}","compare_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/compare/{base}...{head}","merges_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/merges","archive_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/downloads","issues_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues{/number}","pulls_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls{/number}","milestones_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/milestones{/number}","notifications_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/labels{/name}","releases_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/releases{/id}","created_at":"2013-02-18T23:54:07Z","updated_at":"2015-12-27T09:39:05Z","pushed_at":"2016-01-07T21:02:10Z","git_url":"git://github.com/iPlantCollaborativeOpenSource/atmosphere.git","ssh_url":"git@github.com:iPlantCollaborativeOpenSource/atmosphere.git","clone_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere.git","svn_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere","homepage":"https://atmo.iplantcollaborative.org","size":176447,"stargazers_count":103,"watchers_count":103,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":52,"mirror_url":null,"open_issues_count":1,"forks":52,"open_issues":1,"watchers":103,"default_branch":"master"}},"base":{"label":"iPlantCollaborativeOpenSource:master","ref":"master","sha":"88ec96c88266834d062195e6e979023789337154","user":{"login":"iPlantCollaborativeOpenSource","id":669032,"avatar_url":"https://avatars.githubusercontent.com/u/669032?v=3","gravatar_id":"","url":"https://api.github.com/users/iPlantCollaborativeOpenSource","html_url":"https://github.com/iPlantCollaborativeOpenSource","followers_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/followers","following_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/following{/other_user}","gists_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/gists{/gist_id}","starred_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/subscriptions","organizations_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/orgs","repos_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/repos","events_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/events{/privacy}","received_events_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/received_events","type":"Organization","site_admin":false},"repo":{"id":8279795,"name":"atmosphere","full_name":"iPlantCollaborativeOpenSource/atmosphere","owner":{"login":"iPlantCollaborativeOpenSource","id":669032,"avatar_url":"https://avatars.githubusercontent.com/u/669032?v=3","gravatar_id":"","url":"https://api.github.com/users/iPlantCollaborativeOpenSource","html_url":"https://github.com/iPlantCollaborativeOpenSource","followers_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/followers","following_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/following{/other_user}","gists_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/gists{/gist_id}","starred_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/subscriptions","organizations_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/orgs","repos_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/repos","events_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/events{/privacy}","received_events_url":"https://api.github.com/users/iPlantCollaborativeOpenSource/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere","description":"Where cloud lives.","fork":false,"url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere","forks_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/forks","keys_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/keys{/key_id}","collaborators_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/teams","hooks_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/hooks","issue_events_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues/events{/number}","events_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/events","assignees_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/assignees{/user}","branches_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/branches{/branch}","tags_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/tags","blobs_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/refs{/sha}","trees_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/trees{/sha}","statuses_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/statuses/{sha}","languages_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/languages","stargazers_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/stargazers","contributors_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/contributors","subscribers_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/subscribers","subscription_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/subscription","commits_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/commits{/sha}","git_commits_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/git/commits{/sha}","comments_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/comments{/number}","issue_comment_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues/comments{/number}","contents_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/contents/{+path}","compare_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/compare/{base}...{head}","merges_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/merges","archive_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/downloads","issues_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues{/number}","pulls_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls{/number}","milestones_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/milestones{/number}","notifications_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/labels{/name}","releases_url":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/releases{/id}","created_at":"2013-02-18T23:54:07Z","updated_at":"2015-12-27T09:39:05Z","pushed_at":"2016-01-07T21:02:10Z","git_url":"git://github.com/iPlantCollaborativeOpenSource/atmosphere.git","ssh_url":"git@github.com:iPlantCollaborativeOpenSource/atmosphere.git","clone_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere.git","svn_url":"https://github.com/iPlantCollaborativeOpenSource/atmosphere","homepage":"https://atmo.iplantcollaborative.org","size":176447,"stargazers_count":103,"watchers_count":103,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":52,"mirror_url":null,"open_issues_count":1,"forks":52,"open_issues":1,"watchers":103,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls/79"},"html":{"href":"https://github.com/iPlantCollaborativeOpenSource/atmosphere/pull/79"},"issue":{"href":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues/79"},"comments":{"href":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/issues/79/comments"},"review_comments":{"href":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls/79/comments"},"review_comment":{"href":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/pulls/79/commits"},"statuses":{"href":"https://api.github.com/repos/iPlantCollaborativeOpenSource/atmosphere/statuses/293a6d86aadcd06433a43ab359c1865aca573562"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"steve-gregory","id":2889930,"avatar_url":"https://avatars.githubusercontent.com/u/2889930?v=3","gravatar_id":"","url":"https://api.github.com/users/steve-gregory","html_url":"https://github.com/steve-gregory","followers_url":"https://api.github.com/users/steve-gregory/followers","following_url":"https://api.github.com/users/steve-gregory/following{/other_user}","gists_url":"https://api.github.com/users/steve-gregory/gists{/gist_id}","starred_url":"https://api.github.com/users/steve-gregory/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steve-gregory/subscriptions","organizations_url":"https://api.github.com/users/steve-gregory/orgs","repos_url":"https://api.github.com/users/steve-gregory/repos","events_url":"https://api.github.com/users/steve-gregory/events{/privacy}","received_events_url":"https://api.github.com/users/steve-gregory/received_events","type":"User","site_admin":false},"comments":2,"review_comments":0,"commits":8,"additions":344,"deletions":20,"changed_files":21}}