获取最新版本的 gitlab 文件存档
Get gitlab file archive for most recent release
这将使我从存储库中获取存档:
GET /projects/:id/repository/archive.tar.gz
有什么方法可以传递参数,以便我获得最新版本的存档,而不仅仅是 HEAD?
您可以使用以下方法获取存储库的标签API:
GET /projects/:id/repository/tags
如文档所述https://docs.gitlab.com/ee/api/tags.html#list-project-repository-tags
您从项目中获取存储库标签列表,按更新日期和时间降序排列
结合存档API
GET /projects/:id/repository/archive[.format]
我们可以获得最新版本 one-liner:
curl --header "PRIVATE-TOKEN: <private token>" https://gitlab.com/api/v4/projects/<project id>/repository/archive.tar.gz?sha=$(curl -s --header "PRIVATE-TOKEN: <private token>" "https://gitlab.com/api/v4/projects/<project id>/repository/tags" | jq '.[0].commit.id' | sed 's/^"\(.*\)"$//') -o /path/to/file
这将使我从存储库中获取存档:
GET /projects/:id/repository/archive.tar.gz
有什么方法可以传递参数,以便我获得最新版本的存档,而不仅仅是 HEAD?
您可以使用以下方法获取存储库的标签API:
GET /projects/:id/repository/tags
如文档所述https://docs.gitlab.com/ee/api/tags.html#list-project-repository-tags
您从项目中获取存储库标签列表,按更新日期和时间降序排列
结合存档API
GET /projects/:id/repository/archive[.format]
我们可以获得最新版本 one-liner:
curl --header "PRIVATE-TOKEN: <private token>" https://gitlab.com/api/v4/projects/<project id>/repository/archive.tar.gz?sha=$(curl -s --header "PRIVATE-TOKEN: <private token>" "https://gitlab.com/api/v4/projects/<project id>/repository/tags" | jq '.[0].commit.id' | sed 's/^"\(.*\)"$//') -o /path/to/file