我正在尝试从与分支feature/tests-update
相关的最新作业中下载名为release.env
的dotenv工件,但API返回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 community .
不幸的是,artifacts:reports:dotenv
工件没有由API公开。只有工件存档中的文件(例如在artifacts:paths:
中)才能从这个端点检索。
但是,您可以从UI下载dotenv报告。
据我所知,这似乎是工作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:
,并以您描述的方式检索它。