通过 GitLab 下载 dotenv 作业神器 API

Download dotenv job artifact via GitLab API

我正在尝试从与分支 feature/tests-update 相关的最新作业下载名为 release.env 的 dotenv 工件,但是 API returns 404 错误。

API 文档:https://docs.gitlab.com/14.8/ee/api/job_artifacts.html#download-a-single-artifact-file-by-job-id

请求示例:

curl -v --get --header "PRIVATE-TOKEN: <TOKEN>" --data-urlencode "job=create-release" "https://<gitlab-host>/api/v4/projects/2/jobs/artifacts/feature%2Ftests-update/raw/release%2Eenv"

GitLab 社区 14.8.

不幸的是,artifacts:reports:dotenv 工件没有被 API 暴露。只能从此端点检索工件存档中的文件(例如 artifacts:paths: 中的文件)。

但是,您可以 download the dotenv reports from the UI

据我所知,这似乎是对工作的疏忽 API。

您可以看到作业 API 在其工件中列出了文件名为 .env.gz:

的 dotenv 报告
...
 'artifacts': [{'file_type': 'trace',
   'size': 9954,
   'filename': 'job.log',
   'file_format': None},
  {'file_type': 'dotenv',
   'size': 66,
   'filename': '.env.gz',
   'file_format': 'gzip'}],
...

但是,即使您使用文件名 .env.gz,您似乎也无法从 API.

下载此文件

作为解决方法,您可以将 release.env 文件添加到 artifacts:paths: 并按照您描述的方式检索它。