json - parametros - jenkins trigger builds remotely
API REST de Jenkins: uso de árbol para referenciar un elemento específico en una matriz JSON (1)
La documentación de API tiene una pista:
Una alternativa más nueva es el parámetro de consulta de árbol. [snip] solo necesita saber qué elementos está buscando, en lugar de lo que no está buscando (que de todos modos es una lista abierta cuando los complementos pueden contribuir con elementos de la API). El valor debe ser una lista de nombres de propiedad para incluir, con subpropiedades dentro de llaves cuadradas.
Para obtener una lista simple, obtenga el subárbol completo con:
http://jenkins/job/myjob/../api/json?tree=artifacts[*]
o enumerar propiedades específicas dentro de las llaves.
Para changeSet
, use
http://jenkins/job/myjob/../api/json?tree=changeSet[*[*]]
para recuperar todo
Utilice llaves cuadradas anidadas para subpropiedades específicas, por ejemplo:
http://jenkins/job/myjob/../api/json?tree=changeSet[items[revision]]
La documentación del árbol dice que está destinada a los casos en que la persona que llama no sabe qué propiedades recuperar.
Puedo usar la API de Jenkins para obtener información sobre mi compilación a través de la url
http://localhost:8080/job/myjob/149/api/json
Deseo poder consultar el nodo changeSet utilizando el parámetro de cadena de consulta de árbol. Puedo consultar con éxito nodos no indexados como "duración" a través de
http://localhost:8080/job/myjob/149/api/json?tree=duration
¿Cómo consulto nodos indexados como changeSet? Parece que no puedo encontrar ningún documento en ninguna parte.
{
"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"
}
]
}