파이썬 요청을 사용하여 GitLab 빌드를 트리거하려고합니다. 일반적으로 curl
명령으로 빌드를 시작할 수 있습니다.트리거 GitLab Python 요청으로 빌드
예 컬 명령 :
curl -X POST \
-F token=TOKEN \
-F ref=master \
-F "variables[UPLOAD_TO_S3]=true" \
https://gitlab.example.com/api/v4/projects/9/trigger/pipeline
나는 이것을 sh
모듈을 사용하여 작업을 얻을 수 있지만 requests
를 사용하여 선호하는 것입니다. 나는 다음과 변화를 시도했다 : 내가 함께하고 headers
PARAM없이 시도
data = {
'token': token,
'ref': master,
'variables[UPLOAD_TO_S3]': str(uploadS3),
}
headers = {'Content-Type': 'application/json'}
result = requests.post(_trigger_url, headers=headers, json=data)
. 나는 또한 params
, json
, files
및 data
을 사용하여 data
dict을 전달하려고 시도했습니다. 모두 400 또는 404 오류가 계속 발생합니다. 어떤 제안?
그래서 헤더에 무엇을 전달하고 있습니까? 나가 머리말 논쟁을 완전하게 가지고 갈 때 나는 404의 과실을 얻는다. –
@JaySoyer 명시 적으로 헤더를 전달하지 않습니다. 내가 보여준 라인은 빌드를 트리거하기 위해 실행 한 유일한 것입니다 ('가져 오기 요청'외에). 자동 요청 헤더에는'{ 'User-Agent': 'python-requests/2.18.4', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', ' 연결 ':'연결 유지 ','Content-Length ':'47 ','Content-Type ':'응용 프로그램/x-www-form-urlencoded '}' – birryree
예제 라인에서 명시 적으로 헤더를 전달하고 있습니다 ... 그래서 내가 물었습니다. 내 자동 헤더는 python-requests 2.18.3을 사용하는 것을 제외하고는 똑같이 보입니다. –