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

标签 python continuous-integration concourse

我可以使用下面的代码在 concourse api 上执行获取请求以获取管道构建详细信息。 但是,触发管道构建的发布请求不起作用,也没有报告任何错误。

这是代码

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

最佳答案

您可以使用 Session :

[...] The Session object allows you to persist certain parameters across requests. It also persists cookies across all requests made from the Session instance [...]

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

关于python - 休息 api 触发大厅管道/工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44473538/

相关文章:

python - 将函数应用于 Dask : How do you specify the grouped Dataframe as argument in the function? 中的分组数据帧

python - 您可以将操作直接应用于 map/reduce/filter 中的参数吗?

python - pandas groupby 并进行分类排序以删除重复项

reactjs - 由于 "COPY failed: no such file or directory"错误,docker build 失败

docker - 从另一个任务到达另一个任务任务的容器

python - 用python过滤json文件

unit-testing - Xcode4 在终端中显示所有输出(删除 “Showing first 200 notices only” )

github - 这个 GitHub Actions 配置格式的名称是什么?

大厅:如何将作业的输出传递给不同的作业

angular - session 未创建 : Chrome version must be between 71 and 75 - while running angular e2e in Concourse