在gitlab中,我如何编程下载ci管道末端发布的人工制品。
通过ui下载它很容易,但我如何通过api获得它。换句话说,是否可以通过令牌或类似方式访问它?
它可以通过api实现,如 https://docs.gitlab.com/ee/api/jobs.html#get-job-artifacts
get/projects/:id/jobs/:作业id/artifacts
示例请求:
使用私有令牌头:
curl --location --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v4/projects/1/jobs/8/artifacts"
使用job-token头(仅在.gitlab ci.yml内部):
curl --location --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/1/jobs/8/artifacts"
使用job_token参数(仅在.gitlab ci.yml中):
curl --location --form "job-token=$CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/1/jobs/8/artifacts"