Как получить список путей артефактов для задания GitLab Runner? - PullRequest
0 голосов
/ 06 апреля 2019

Есть ли способ через API GitLab получить путь к каждому артефакту для конкретного задания?

Если я использую 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
    }]

Но это не помогает мне, поскольку мне нужен путь к каждому артефакту .

вызов API артефактов * загрузит сами артефакты.Я просто хочу увидеть пути артефактов.

Причина, по которой я не знаю полных путей артефактов заранее, заключается в том, что имя файлаУ артефактов есть временная метка, и git commit SHA встроен в имя файла.(Если бы не это, я мог бы просто жестко закодировать статические пути.)

Справочная информация: В качестве части моего попытки обходного решения до тех пор, пока проблема 56022 не будет решена, я намерен "вручную" сделатьВыпуск как последний этап моего конвейера CI.links для assets этого выпуска будет URL-адресами артефактов, которые были созданы во время более ранних заданий в конвейере.Чтобы сделать Релиз, мне нужно использовать GitLab API напрямую и указать пути к артефактам, которые я хочу в релизе.

Внутренне, GitLab, очевидно, знает пути к артефактам каждого задания, посколькуфункция «Обзор» для артефактов задания в веб-интерфейсе позволяет просматривать структуру каталогов.Эта функция доступна или доступна каким-либо образом?

...