2017-06-10 49 views
7

Jestem w stanie użyć poniższego kodu, aby wykonać żądanie pobrania w interfejsie API, aby pobrać szczegóły budowy potoku. Jednak żądanie pocztowe, aby uruchomić kompilację potoku, nie działa i nie zgłoszono błędu.reszta api do uruchomienia potoku/zlecenia

Oto kod

url = "http://192.168.100.4:8080/api/v1/teams/main/" 
r = requests.get(url + 'auth/token') 
json_data = json.loads(r.text) 

cookie = {'ATC-Authorization': 'Bearer '+ json_data["value"]} 
r = requests.post(url + 'pipelines/pipe-name/jobs/job-name/builds' 
, cookies=cookie) 

print r.text 
print r.content 

r = requests.get(url + 'pipelines/pipe-name/jobs/job-name/builds/17', cookies=cookie) 
print r.text 

Odpowiedz

2

Można użyć Session:

[...] Celem sesji pozwala utrzymywać pewne parametry całej żądań. Zachowuje również pliki cookie we wszystkich żądaniach wysłanych z wystąpienia sesji [...]

url = "http://192.168.100.4:8080/api/v1/teams/main/" 

req_sessions = requests.Session() #load session instance 

r = req_sessions.get(url + 'auth/token') 
json_data = json.loads(r.text) 

cookie = {'ATC-Authorization': 'Bearer '+ json_data["value"]} 
r = req_sessions.post(url + 'pipelines/pipe-name/jobs/job-name/builds', cookies=cookie) 

print r.text 
print r.content 

r = req_sessions.get(url + 'pipelines/pipe-name/jobs/job-name/builds/17') 
print r.text