如何获取GitLab Runner作业的工件路径列表?

时间:2019-04-05 23:05:00

标签: gitlab gitlab-ci gitlab-ci-runner gitlab-api

是否可以通过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界面中作业工件的“浏览”功能允许浏览目录结构。该功能是否以某种方式公开或可访问?

0 个答案:

没有答案