如何通过jenkins reset api获取TestBox中的device在线列表
时间: 2024-03-29 11:37:09 浏览: 62
jenkins_api_client:用于与Jenkins远程访问API通信的Ruby客户端库
可以通过以下方式使用Jenkins API来获取TestBox中在线的设备列表:
1. 首先,使用以下命令获取Jenkins API的CRUMB:
```
curl 'http://Jenkins_URL/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'
```
2. 然后,使用以下命令获取TestBox中在线的设备列表:
```
curl -H 'Jenkins-Crumb: CRUMB' 'http://Jenkins_URL/job/JOB_NAME/lastBuild/testReport/api/json?tree=suites[cases[className,name,status,errorStackTrace]]' | jq -r '.suites[].cases[] | select(.className | startswith("testbox.") and .status=="PASSED") | .name'
```
这将返回一个在线设备列表,例如:
```
"device_1"
"device_2"
"device_3"
```
3. 如果你想要获取所有设备列表,无论它们是否在线,可以使用以下命令:
```
curl -H 'Jenkins-Crumb: CRUMB' 'http://Jenkins_URL/job/JOB_NAME/lastBuild/testReport/api/json?tree=suites[cases[className,name,status,errorStackTrace]]' | jq -r '.suites[].cases[] | select(.className | startswith("testbox.")) | .name'
```
这将返回所有设备列表,例如:
```
"device_1"
"device_2"
"device_3"
"device_4"
"device_5"
```
你可以将所有命令放在一个脚本中,并在Jenkins中运行该脚本来获取TestBox中在线的设备列表。
阅读全文