获取最新版本的 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