休息api触发大厅管道/工作

时间:2017-06-10 12:56:41

标签: python continuous-integration concourse

我可以使用以下代码在concourse api上执行get请求以获取管道构建详细信息。 但是,触发管道构建的post请求不起作用,并且不报告错误。

这是代码

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

1 个答案:

答案 0 :(得分:2)

您可以使用Session

  

[...] Session对象允许您跨请求保留某些参数。它还会在从Session实例[...]

发出的所有请求中保留cookie
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