วิธีดาวน์โหลด metadata.gz และ job.log จาก GitLab API

ฉันกำลังพยายามสคริปต์ดาวน์โหลดไฟล์พิเศษสามไฟล์จากโครงการ GitLab ของเรา ขณะนี้ ฉันสามารถดาวน์โหลด artifacts.zip และไฟล์แต่ละไฟล์จาก zip ได้ แต่จะดาวน์โหลดไฟล์พิเศษอีกสองไฟล์ไม่ได้: metadata.gz และ job.log

นี่คือบางสิ่งที่ฉันได้ทำไปแล้ว:

# Grab the list of job data
r = requests.get("https://gitlab.local.com/api/v4/projects/12/jobs/13", headers={'PRIVATE-TOKEN':'...'}, verify='...')

# Display artifacts available (shows artifacts.zip, metadata.gz, and job.log)
r.json()['artifacts']

# Printing the filename of the artifacts (best in a for loop)
r.json()['artifacts'][0]['filename']
r.json()['artifacts'][1]['filename']
...

# Download artifacts.zip
r = requests.get(".../jobs/13/artifacts", ...)
with open(".../artifacts.zip", 'wb') as f:
  f.write(artifacts.content)

# Download metadata.gz
?

person Josh    schedule 06.03.2019    source แหล่งที่มา


คำตอบ (1)


job.log ไม่มีอะไรนอกจากไฟล์บันทึกของงาน ดังนั้นคุณสามารถรับบันทึกได้โดยใช้:

r = requests.get("https://gitlab.local.com/api/v4/projects/12/jobs/13/trace", headers={'PRIVATE-TOKEN':'...'}, verify='...')

อ้างอิง: https://docs.gitlab.com/ee/api/jobs.html#get-a-log-file

และหากต้องการดาวน์โหลดสิ่งประดิษฐ์อื่นๆ คำขอ gitlab ยังคงเปิดอยู่: https://gitlab.com/gitlab-org/gitlab/-/issues/35805

person Madhusudhan Kasula    schedule 15.12.2020