How to download private GitHub asset?ΒΆ

If you want to download private GitHub asset you have to use GitHub API. First you have to find out URL with asset id. For example get info about tag v3.2.1 using curl command:

> curl -s -u \
    ${username}:${token} \${orgname}/${reponame}/releases/tags/v3.2.1

Name, id and URL of asset:

> curl -s -u \
    ${username}:${token} \${orgname}/${reponame}/releases/tags/v3.2.1 \
    | grep -A3 '"url":.*assets'

    "url": "",
    "id": 7654321,
    "name": "hello.txt",
    "label": null,

Use asset URL in hunter_private_data and add extra Accept:application/octet-stream header:

# CMakeLists.txt

    URL "${orgname}/${reponame}/releases/assets/7654321"
    SHA1 "..."
    CREDENTIALS "github"
    HTTPHEADER "Accept:application/octet-stream"
    FILE hello.txt
    LOCATION myfile

Add GitHub credentials using hunter_private_data_password:

# ~/.config/Hunter/passwords.cmake

    CREDENTIALS "github"
    USERNAME "${username}"
    PASSWORD "${github_token}"