獲取信息

XML API

通過在 URL 后添加 /api/xml,用戶可以獲取 XML 格式的數據。在此基礎上,可以使用 XPath 語法過濾數據,例如讀取測試結果或用例總數。深度控制和樹形參數也可以用于精細化數據提取。

JSON API

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 命令

$ curl -k --silent -L -X POST --USER admin:API_TOKEN http://192.168.30.8:8080/job/RF-Pipeline-Demo/build

Python requests 庫

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 命令

$ 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

Python requests 庫

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 API

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使用示例

一個簡單的 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 進一步查詢構建狀態和結果。

FAQ

問:什么是 Jenkins API,它有哪些主要功能和格式?

問:如何使用 XML API 獲取 Jenkins 平臺的數據?

問:如何通過 Jenkins API 觸發構建?

問:如何使用 Jenkins API 刪除某次構建或整個 job?

問:如何在 Python 中使用 JenkinsAPI 庫獲取 Jenkins 的版本信息?

上一篇:

使用MinIO搭建自己的文件存儲服務

下一篇:

如何定制鏡像-Jenkins與Docker
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費