
Python調(diào)用Google Bard API 完整指南
當(dāng)直接調(diào)用 Jenkins 接口時(shí),可能會(huì)遇到 HTTP ERROR 403 No valid crumb was included in the request
的錯(cuò)誤。這是因?yàn)槟J(rèn)情況下,Jenkins 的接口不允許跨域請(qǐng)求。我們可以通過(guò)修改 Jenkins 的配置來(lái)解決此問(wèn)題。
首先,進(jìn)入 Jenkins 容器并修改配置文件 jenkins.sh
,添加 -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
參數(shù)。
# 進(jìn)入 Jenkins 容器
$ docker exec -u root -it jenkins /bin/bash
# 修改配置文件
$ vim /usr/local/bin/jenkins.sh
然后重啟 Jenkins 容器:
# 重啟 Jenkins
$ docker restart jenkins
配置完成后,打開(kāi) Jenkins 的“系統(tǒng)管理-全局安全配置”,確認(rèn)設(shè)置已生效。
Jenkins 提供了一系列的 API 接口,支持通過(guò) HTTP 請(qǐng)求來(lái)進(jìn)行任務(wù)的觸發(fā)、創(chuàng)建和管理。
可以通過(guò) HTTP POST
請(qǐng)求觸發(fā) Jenkins 任務(wù)的執(zhí)行。例如,無(wú)參任務(wù) parallelsAlwaysFailFast
可以這樣觸發(fā):
curl -X POST 'http://192.168.56.114:8080/job/parallelsAlwaysFailFast/build' --user admin:admin123
對(duì)于帶參數(shù)的任務(wù),如 pipeline_variables
,需調(diào)用 buildWithParameters
接口:
curl -X POST 'http://192.168.56.114:8080/job/pipeline_variables/buildWithParameters' --user admin:admin123 --data ENV=prod
要在 Jenkins 中創(chuàng)建任務(wù),可以使用 POST
請(qǐng)求發(fā)送 config.xml
文件到 Jenkins 服務(wù)器。
curl -L 'http://192.168.56.114:8080/createItem?name=api_job_test'
-H 'Content-Type: application/xml'
--user admin:admin123
--data ''
Jenkins 提供了多種 SDK 來(lái)支持 API 調(diào)用,幫助開(kāi)發(fā)者在不同語(yǔ)言環(huán)境下更方便地操作 Jenkins。
Python 的 JenkinsAPI、Python-Jenkins、api4jenkins 和 aiojenkins 是針對(duì) Jenkins REST API 的 Python 包裝器,提供面向?qū)ο蟮慕涌冢沟猛ㄟ^(guò) Python 控制 Jenkins 更加簡(jiǎn)便。
jenkins-rest
是一個(gè) Java 項(xiàng)目,提供對(duì) Jenkins REST API 的訪問(wèn),支持通過(guò)編程方式進(jìn)行作業(yè)提交、監(jiān)控等操作。
Jenkins API 客戶端是 Ruby 的包裝器,使用 JSON API 來(lái)控制 Jenkins,支持作業(yè)和視圖的創(chuàng)建和管理。
通過(guò)本文的介紹,您可以更好地利用 Jenkins 的遠(yuǎn)程訪問(wèn) API 來(lái)簡(jiǎn)化持續(xù)集成的管理和操作過(guò)程。
HTTP ERROR 403 No valid crumb was included in the request
的錯(cuò)誤。這是因?yàn)?Jenkins 默認(rèn)啟用了 CSRF 保護(hù)。可以通過(guò)進(jìn)入 Jenkins 容器,修改 jenkins.sh
配置文件,添加 -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
參數(shù),然后重啟 Jenkins 來(lái)解決。HTTP POST
請(qǐng)求來(lái)觸發(fā) Jenkins 任務(wù)的執(zhí)行。對(duì)于無(wú)參任務(wù),可以直接使用 build
接口;對(duì)于帶參數(shù)的任務(wù),需要使用 buildWithParameters
接口,并在請(qǐng)求中附加參數(shù)數(shù)據(jù)。POST
請(qǐng)求將 config.xml
文件發(fā)送到 Jenkins 服務(wù)器來(lái)創(chuàng)建新任務(wù)。請(qǐng)求需要包括任務(wù)名稱(chēng)和有效的 XML 配置數(shù)據(jù)。對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)