是否可以通过GitLab API来获取特定作业的每个工件的路径?
如果我使用GET /projects/:id/pipelines/:pipeline_id/jobs
,则有一个片段引用了每个作业的所有工件的zip文件:
"artifacts_file": {
"filename": "artifacts.zip",
"size": 2556287
},
"artifacts": [{
"file_type": "archive",
"size": 2556287,
"filename": "artifacts.zip",
"file_format": "zip"
}, {
"file_type": "metadata",
"size": 351,
"filename": "metadata.gz",
"file_format": "gzip"
}, {
"file_type": "trace",
"size": 3248,
"filename": "job.log",
"file_format": null
}]
但这对我没有帮助,因为我需要每个工件的路径。
get artifacts API call将自己下载工件。我只想查看工件的路径。
我不知道工件的 full 路径的原因是工件的文件名具有时间戳,并且git commit SHA嵌入在文件名中。 (如果不是这样,我可以对静态路径进行硬编码。)
背景:在解决issue 56022之前,作为尝试解决方法的一部分,我打算“手动”发布版本,作为CI管道的最后阶段。此版本links
的{{1}}将是管道中较早作业期间生成的工件的URL。要发布该版本,我必须use the GitLab API directly并提供我想要在该版本中发布的工件的路径。
在内部,GitLab显然知道每个作业的工件的路径,因为Web界面中作业工件的“浏览”功能允许浏览目录结构。该功能是否以某种方式公开或可访问?