Download Github build artifact (release) using wget/curl

curl, docker, github, travis-ci, wget

Solution

You can use the GitHub API.

To download a release using wget, you can do:

wget --header "Authorization: token <GITHUB TOKEN>"  --output-document=<RELEASE>.tar.gz https://api.github.com/repos/<USER>/<REPO>/tarball/<RELEASE NAME>

Use can change `tarball` to `zipball` to get a zip file.

Problem

The Goal: Download github release tar.gz in Docker Build Script, so that the release files can be used for the docker image. I do not want the full source downloaded, which I can get to download through the archive path using the tag, but rather a build artifact that is part of the release. To Be Noted: This is a download from a private repository, which is why I'm attempting to send my github_token as part of the command currently. The Problem: I'm having trouble downloading a github release tar.gz using wget. ``` wget --header="Authorization: token <GITHUB_TOKEN>" --output-document=<FILENAME>.tar.gz https://github.com/<USER>/<REPO>/releases/download/<TAG>/<FILENAME>.tar.gz ``` This is returning the following error: ``` --2014-12-02 16:19:25-- https://github.com/<USER>/<REPO>/releases/download/<TAG>/<FILENAME>.tar.gz Resolving github.com (github.com)... 192.30.252.131, 192.30.252.131 Connecting to github.com (github.com)|192.30.252.131|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2014-12-02 16:19:25 ERROR 404: Not Found. ``` It's worth noting that I'm not opposed to using curl for the download either or some other solution if necessary.

Original source

Related problems