{"action":"opened","number":13,"pull_request":{"url":"https://api.github.com/repos/gruntwork-io/fetch/pulls/13","id":74376081,"html_url":"https://github.com/gruntwork-io/fetch/pull/13","diff_url":"https://github.com/gruntwork-io/fetch/pull/13.diff","patch_url":"https://github.com/gruntwork-io/fetch/pull/13.patch","issue_url":"https://api.github.com/repos/gruntwork-io/fetch/issues/13","number":13,"state":"open","locked":false,"title":"Release asset","user":{"login":"brikis98","id":711908,"avatar_url":"https://avatars.githubusercontent.com/u/711908?v=3","gravatar_id":"","url":"https://api.github.com/users/brikis98","html_url":"https://github.com/brikis98","followers_url":"https://api.github.com/users/brikis98/followers","following_url":"https://api.github.com/users/brikis98/following{/other_user}","gists_url":"https://api.github.com/users/brikis98/gists{/gist_id}","starred_url":"https://api.github.com/users/brikis98/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brikis98/subscriptions","organizations_url":"https://api.github.com/users/brikis98/orgs","repos_url":"https://api.github.com/users/brikis98/repos","events_url":"https://api.github.com/users/brikis98/events{/privacy}","received_events_url":"https://api.github.com/users/brikis98/received_events","type":"User","site_admin":false},"body":"This PR allows fetch to download not only source files from GitHub repos, but also binary files from GitHub releases. It’s easy to download a release asset from a public repo, as you can just `wget` the URL, but for private repos, it’s a confusing, painful, multi-step process that involves making several API calls. There is an [SO thread about it](http://stackoverflow.com/a/35280061/483528) which would probably love to hear that `fetch` makes this an easy one-step process.\n\nAs part of this PR, I’ve also added support to fetch to read the GITHUB_OAUTH_TOKEN from an env var, which is much safer than as a command line option.","created_at":"2016-06-19T22:35:51Z","updated_at":"2016-06-19T22:35:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/gruntwork-io/fetch/pulls/13/commits","review_comments_url":"https://api.github.com/repos/gruntwork-io/fetch/pulls/13/comments","review_comment_url":"https://api.github.com/repos/gruntwork-io/fetch/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gruntwork-io/fetch/issues/13/comments","statuses_url":"https://api.github.com/repos/gruntwork-io/fetch/statuses/00793ffcb00ac55cc9bdad5b04d6223015593499","head":{"label":"gruntwork-io:release-asset","ref":"release-asset","sha":"00793ffcb00ac55cc9bdad5b04d6223015593499","user":{"login":"gruntwork-io","id":17118990,"avatar_url":"https://avatars.githubusercontent.com/u/17118990?v=3","gravatar_id":"","url":"https://api.github.com/users/gruntwork-io","html_url":"https://github.com/gruntwork-io","followers_url":"https://api.github.com/users/gruntwork-io/followers","following_url":"https://api.github.com/users/gruntwork-io/following{/other_user}","gists_url":"https://api.github.com/users/gruntwork-io/gists{/gist_id}","starred_url":"https://api.github.com/users/gruntwork-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gruntwork-io/subscriptions","organizations_url":"https://api.github.com/users/gruntwork-io/orgs","repos_url":"https://api.github.com/users/gruntwork-io/repos","events_url":"https://api.github.com/users/gruntwork-io/events{/privacy}","received_events_url":"https://api.github.com/users/gruntwork-io/received_events","type":"Organization","site_admin":false},"repo":{"id":56711104,"name":"fetch","full_name":"gruntwork-io/fetch","owner":{"login":"gruntwork-io","id":17118990,"avatar_url":"https://avatars.githubusercontent.com/u/17118990?v=3","gravatar_id":"","url":"https://api.github.com/users/gruntwork-io","html_url":"https://github.com/gruntwork-io","followers_url":"https://api.github.com/users/gruntwork-io/followers","following_url":"https://api.github.com/users/gruntwork-io/following{/other_user}","gists_url":"https://api.github.com/users/gruntwork-io/gists{/gist_id}","starred_url":"https://api.github.com/users/gruntwork-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gruntwork-io/subscriptions","organizations_url":"https://api.github.com/users/gruntwork-io/orgs","repos_url":"https://api.github.com/users/gruntwork-io/repos","events_url":"https://api.github.com/users/gruntwork-io/events{/privacy}","received_events_url":"https://api.github.com/users/gruntwork-io/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gruntwork-io/fetch","description":"Download files from a specific tag of a public or private GitHub repo","fork":false,"url":"https://api.github.com/repos/gruntwork-io/fetch","forks_url":"https://api.github.com/repos/gruntwork-io/fetch/forks","keys_url":"https://api.github.com/repos/gruntwork-io/fetch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gruntwork-io/fetch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gruntwork-io/fetch/teams","hooks_url":"https://api.github.com/repos/gruntwork-io/fetch/hooks","issue_events_url":"https://api.github.com/repos/gruntwork-io/fetch/issues/events{/number}","events_url":"https://api.github.com/repos/gruntwork-io/fetch/events","assignees_url":"https://api.github.com/repos/gruntwork-io/fetch/assignees{/user}","branches_url":"https://api.github.com/repos/gruntwork-io/fetch/branches{/branch}","tags_url":"https://api.github.com/repos/gruntwork-io/fetch/tags","blobs_url":"https://api.github.com/repos/gruntwork-io/fetch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gruntwork-io/fetch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gruntwork-io/fetch/git/refs{/sha}","trees_url":"https://api.github.com/repos/gruntwork-io/fetch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gruntwork-io/fetch/statuses/{sha}","languages_url":"https://api.github.com/repos/gruntwork-io/fetch/languages","stargazers_url":"https://api.github.com/repos/gruntwork-io/fetch/stargazers","contributors_url":"https://api.github.com/repos/gruntwork-io/fetch/contributors","subscribers_url":"https://api.github.com/repos/gruntwork-io/fetch/subscribers","subscription_url":"https://api.github.com/repos/gruntwork-io/fetch/subscription","commits_url":"https://api.github.com/repos/gruntwork-io/fetch/commits{/sha}","git_commits_url":"https://api.github.com/repos/gruntwork-io/fetch/git/commits{/sha}","comments_url":"https://api.github.com/repos/gruntwork-io/fetch/comments{/number}","issue_comment_url":"https://api.github.com/repos/gruntwork-io/fetch/issues/comments{/number}","contents_url":"https://api.github.com/repos/gruntwork-io/fetch/contents/{+path}","compare_url":"https://api.github.com/repos/gruntwork-io/fetch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gruntwork-io/fetch/merges","archive_url":"https://api.github.com/repos/gruntwork-io/fetch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gruntwork-io/fetch/downloads","issues_url":"https://api.github.com/repos/gruntwork-io/fetch/issues{/number}","pulls_url":"https://api.github.com/repos/gruntwork-io/fetch/pulls{/number}","milestones_url":"https://api.github.com/repos/gruntwork-io/fetch/milestones{/number}","notifications_url":"https://api.github.com/repos/gruntwork-io/fetch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gruntwork-io/fetch/labels{/name}","releases_url":"https://api.github.com/repos/gruntwork-io/fetch/releases{/id}","deployments_url":"https://api.github.com/repos/gruntwork-io/fetch/deployments","created_at":"2016-04-20T18:33:25Z","updated_at":"2016-06-12T21:30:50Z","pushed_at":"2016-06-19T22:35:50Z","git_url":"git://github.com/gruntwork-io/fetch.git","ssh_url":"git@github.com:gruntwork-io/fetch.git","clone_url":"https://github.com/gruntwork-io/fetch.git","svn_url":"https://github.com/gruntwork-io/fetch","homepage":"http://www.gruntwork.io","size":46,"stargazers_count":2,"watchers_count":2,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":4,"forks":1,"open_issues":4,"watchers":2,"default_branch":"master"}},"base":{"label":"gruntwork-io:master","ref":"master","sha":"206fb3dc59cfbfff770cde056e759f8d824a636f","user":{"login":"gruntwork-io","id":17118990,"avatar_url":"https://avatars.githubusercontent.com/u/17118990?v=3","gravatar_id":"","url":"https://api.github.com/users/gruntwork-io","html_url":"https://github.com/gruntwork-io","followers_url":"https://api.github.com/users/gruntwork-io/followers","following_url":"https://api.github.com/users/gruntwork-io/following{/other_user}","gists_url":"https://api.github.com/users/gruntwork-io/gists{/gist_id}","starred_url":"https://api.github.com/users/gruntwork-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gruntwork-io/subscriptions","organizations_url":"https://api.github.com/users/gruntwork-io/orgs","repos_url":"https://api.github.com/users/gruntwork-io/repos","events_url":"https://api.github.com/users/gruntwork-io/events{/privacy}","received_events_url":"https://api.github.com/users/gruntwork-io/received_events","type":"Organization","site_admin":false},"repo":{"id":56711104,"name":"fetch","full_name":"gruntwork-io/fetch","owner":{"login":"gruntwork-io","id":17118990,"avatar_url":"https://avatars.githubusercontent.com/u/17118990?v=3","gravatar_id":"","url":"https://api.github.com/users/gruntwork-io","html_url":"https://github.com/gruntwork-io","followers_url":"https://api.github.com/users/gruntwork-io/followers","following_url":"https://api.github.com/users/gruntwork-io/following{/other_user}","gists_url":"https://api.github.com/users/gruntwork-io/gists{/gist_id}","starred_url":"https://api.github.com/users/gruntwork-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gruntwork-io/subscriptions","organizations_url":"https://api.github.com/users/gruntwork-io/orgs","repos_url":"https://api.github.com/users/gruntwork-io/repos","events_url":"https://api.github.com/users/gruntwork-io/events{/privacy}","received_events_url":"https://api.github.com/users/gruntwork-io/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gruntwork-io/fetch","description":"Download files from a specific tag of a public or private GitHub repo","fork":false,"url":"https://api.github.com/repos/gruntwork-io/fetch","forks_url":"https://api.github.com/repos/gruntwork-io/fetch/forks","keys_url":"https://api.github.com/repos/gruntwork-io/fetch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gruntwork-io/fetch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gruntwork-io/fetch/teams","hooks_url":"https://api.github.com/repos/gruntwork-io/fetch/hooks","issue_events_url":"https://api.github.com/repos/gruntwork-io/fetch/issues/events{/number}","events_url":"https://api.github.com/repos/gruntwork-io/fetch/events","assignees_url":"https://api.github.com/repos/gruntwork-io/fetch/assignees{/user}","branches_url":"https://api.github.com/repos/gruntwork-io/fetch/branches{/branch}","tags_url":"https://api.github.com/repos/gruntwork-io/fetch/tags","blobs_url":"https://api.github.com/repos/gruntwork-io/fetch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gruntwork-io/fetch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gruntwork-io/fetch/git/refs{/sha}","trees_url":"https://api.github.com/repos/gruntwork-io/fetch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gruntwork-io/fetch/statuses/{sha}","languages_url":"https://api.github.com/repos/gruntwork-io/fetch/languages","stargazers_url":"https://api.github.com/repos/gruntwork-io/fetch/stargazers","contributors_url":"https://api.github.com/repos/gruntwork-io/fetch/contributors","subscribers_url":"https://api.github.com/repos/gruntwork-io/fetch/subscribers","subscription_url":"https://api.github.com/repos/gruntwork-io/fetch/subscription","commits_url":"https://api.github.com/repos/gruntwork-io/fetch/commits{/sha}","git_commits_url":"https://api.github.com/repos/gruntwork-io/fetch/git/commits{/sha}","comments_url":"https://api.github.com/repos/gruntwork-io/fetch/comments{/number}","issue_comment_url":"https://api.github.com/repos/gruntwork-io/fetch/issues/comments{/number}","contents_url":"https://api.github.com/repos/gruntwork-io/fetch/contents/{+path}","compare_url":"https://api.github.com/repos/gruntwork-io/fetch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gruntwork-io/fetch/merges","archive_url":"https://api.github.com/repos/gruntwork-io/fetch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gruntwork-io/fetch/downloads","issues_url":"https://api.github.com/repos/gruntwork-io/fetch/issues{/number}","pulls_url":"https://api.github.com/repos/gruntwork-io/fetch/pulls{/number}","milestones_url":"https://api.github.com/repos/gruntwork-io/fetch/milestones{/number}","notifications_url":"https://api.github.com/repos/gruntwork-io/fetch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gruntwork-io/fetch/labels{/name}","releases_url":"https://api.github.com/repos/gruntwork-io/fetch/releases{/id}","deployments_url":"https://api.github.com/repos/gruntwork-io/fetch/deployments","created_at":"2016-04-20T18:33:25Z","updated_at":"2016-06-12T21:30:50Z","pushed_at":"2016-06-19T22:35:50Z","git_url":"git://github.com/gruntwork-io/fetch.git","ssh_url":"git@github.com:gruntwork-io/fetch.git","clone_url":"https://github.com/gruntwork-io/fetch.git","svn_url":"https://github.com/gruntwork-io/fetch","homepage":"http://www.gruntwork.io","size":46,"stargazers_count":2,"watchers_count":2,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":4,"forks":1,"open_issues":4,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gruntwork-io/fetch/pulls/13"},"html":{"href":"https://github.com/gruntwork-io/fetch/pull/13"},"issue":{"href":"https://api.github.com/repos/gruntwork-io/fetch/issues/13"},"comments":{"href":"https://api.github.com/repos/gruntwork-io/fetch/issues/13/comments"},"review_comments":{"href":"https://api.github.com/repos/gruntwork-io/fetch/pulls/13/comments"},"review_comment":{"href":"https://api.github.com/repos/gruntwork-io/fetch/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gruntwork-io/fetch/pulls/13/commits"},"statuses":{"href":"https://api.github.com/repos/gruntwork-io/fetch/statuses/00793ffcb00ac55cc9bdad5b04d6223015593499"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":2,"additions":427,"deletions":114,"changed_files":5}}
{"actor":{"display_login":"brikis98"}}