Jenkins REST API-使用树引用JSON数组中的特定项目

我可以使用JenkinsAPI通过url获取有关我的构建的信息

http://localhost:8080/job/myjob/149/api/json

我希望能够使用树查询字符串参数查询changeSet节点。我可以通过以下方式成功查询诸如“ duration”之类的非索引节点

http://localhost:8080/job/myjob/149/api/json?tree=duration

如何查询像changeSet这样的索引节点?我似乎在任何地方都找不到任何文档。

{

"actions": [

{

"causes": [

{

"shortDescription": "Started by an SCM change"

}

]

},

{},

{},

{}

],

"artifacts": [],

"building": false,

"description": null,

"duration": 80326,

"estimatedDuration": 68013,

"executor": null,

"fullDisplayName": "my project #149",

"id": "2013-06-14_14-31-06",

"keepLog": false,

"number": 149,

"result": "SUCCESS",

"timestamp": 1371234666000,

"url": "http://localhost:8080/job/my project/149/",

"builtOn": "",

"changeSet": {

"items": [

{

"affectedPaths": [

"SearchViewController.m",

"Sample.strings"

],

"author": {

"absoluteUrl": "http://localhost:8080/user/my user",

"fullName": "My User"

},

"commitId": "9032",

"timestamp": 1371234304048,

"date": "2013-06-14T18:25:04.048031Z",

"msg": "Author:my_author Description: changes Id: B-186199 Reviewer:reviewer_name",

"paths": [

{

"editType": "edit",

"file": "/branches/project_name/iOS/_MainLine/project_name/SearchViewController.m"

},

],

"revision": 9032,

"user": "user_name"

}

],

"kind": "svn",

"revisions": [

{

"module": "repo_url",

"revision": 8953

},

{

"module": "repo_url",

"revision": 9032

}

]

},

"culprits": [

{

"absoluteUrl": "http://localhost:8080/user/username",

"fullName": "username"

}

]

}

回答:

API文档有一个提示:

较新的替代方法是树查询参数。[snip]您只需要知道要查找的元素,而不是不需要的(无论如何,当插件可以贡献API元素时,这是一个开放式列表)。该值应该是要包括的属性名称的列表,

包含

对于一个简单的列表,使用以下命令获取整个子树:

http://jenkins/job/myjob/../api/json?tree=artifacts[*]

或在花括号中列出特定属性。

对于changeSet,使用

http://jenkins/job/myjob/../api/json?tree=changeSet[*[*]]

检索一切。

对特定的子子属性使用嵌套的方括号,例如:

http://jenkins/job/myjob/../api/json?tree=changeSet[items[revision]]

树文档说,它用于调用者不知道要检索哪些属性的情况。

以上是 Jenkins REST API-使用树引用JSON数组中的特定项目 的全部内容, 来源链接: utcz.com/qa/409055.html

回到顶部