
Python調用Google Bard API 完整指南
通過在 URL 后添加 /api/xml
,用戶可以獲取 XML 格式的數據。在此基礎上,可以使用 XPath 語法過濾數據,例如讀取測試結果或用例總數。深度控制和樹形參數也可以用于精細化數據提取。
JSON API 返回數據以 JSON 格式展示,支持深度參數和樹形參數來篩選特定信息。在請求 URL 后添加 /api/json
即可獲取。
Jenkins API 采用 REST 架構,支持常用的 REST API 請求方法,如 POST、GET 和 DELETE。下面是一些獲取 job 構建信息的 API 示例:
$ curl -k --silent -L --user 用戶名:API Token JENKINS_URL/job/JOB_NAME
通過 POST 請求可以觸發 Jenkins Job 的構建。
$ curl -k --silent -L -X POST --USER admin:API_TOKEN http://192.168.30.8:8080/job/RF-Pipeline-Demo/build
import requests
url = "http://192.168.30.8:8080/job/RF-Pipeline-Demo/build"
username = "admin"
api_token = "API_TOKEN"
res = requests.post(url, auth=(username, api_token), verify=False)
對于需要參數化構建的 Jenkins Job,可以通過插件支持參數化觸發。
$ curl -k --silent -L -X POST --data param1=1 --data param2=2 --user admin:API_TOKEN http://192.168.30.8:8080/job/RF-Pipeline-Demo/buildWithParameters
import requests
jenkins_params = {'param1': 'value1', 'param2': 'value2'}
url = "http://192.168.30.8:8080/job/RF-Pipeline-Demo/buildWithParameters"
username = "admin"
api_token = "API_TOKEN"
res = requests.post(url, auth=(username, api_token), params=jenkins_params, verify=False)
通過 POST 請求可以執行刪除操作,比如刪除某次構建或整個 job。此外,還可以啟用或禁用指定的 job。
Python 提供了多個庫來簡化 Jenkins API 的使用,比如 JenkinsAPI。下列代碼展示了如何使用 JenkinsAPI 庫來獲取 Jenkins 的版本信息。
from jenkinsapi.jenkins import Jenkins
class JenkinsApiDemo:
def __init__(self, job_name):
self.jenkins_url = 'http://192.168.30.8:8080'
self.jenkins_server = Jenkins(self.jenkins_url, username='admin', password='admin', useCrumb=True)
def get_jenkins_version(self):
return self.jenkins_server.version
jk = JenkinsApiDemo('RF-Pipeline-Demo')
print(jk.get_jenkins_version())
一個簡單的 Jenkins API 使用示例:觸發構建并獲取構建結果。
$ curl -i -L -X POST --USER admin:API_TOKEN http://192.168.168.228:8080/view/demo/job/PipelineDemo/build
根據響應數據,可以獲取 queue number,然后通過 Jenkins API 進一步查詢構建狀態和結果。
/api/xml
,用戶可以獲取 XML 格式的數據??梢允褂?XPath 語法來過濾數據,例如讀取測試結果或用例總數。深度控制和樹形參數也可以用于精細化數據提取。$ curl -k --silent -L -X POST --USER admin:API_TOKEN http://192.168.30.8:8080/job/RF-Pipeline-Demo/build
也可以使用 Python 的 requests 庫來發送 POST 請求以觸發構建。
答:可以使用 JenkinsAPI 庫來簡化 Jenkins API 的使用。以下代碼展示了如何獲取 Jenkins 的版本信息:
from jenkinsapi.jenkins import Jenkins
class JenkinsApiDemo:
def __init__(self, job_name):
self.jenkins_url = 'http://192.168.30.8:8080'
self.jenkins_server = Jenkins(self.jenkins_url, username='admin', password='admin', useCrumb=True)
def get_jenkins_version(self):
return self.jenkins_server.version
jk = JenkinsApiDemo('RF-Pipeline-Demo')
print(jk.get_jenkins_version())