2017-01-25 18 views
1

내 jenkins 작업용 브라우저 내에서 다음 쿼리를 실행하고 있습니다.Jenkins에서 특정 분기 빌드 번호를 쿼리하는 방법 JSON 원격 액세스 API

lastStableBuild/API/JSON? 꽤 = 사실 & 나무 = 행동 [buildsByBranchName는 [* [*]]] 위의 쿼리에서

결과

{ 
    "_class" : "hudson.model.FreeStyleBuild", 
    "actions" : [ 
    { 
     "_class" : "hudson.model.CauseAction" 
    }, 
    { 

    }, 
    { 
     "_class" : "jenkins.metrics.impl.TimeInQueueAction" 
    }, 
    { 

    }, 
    { 
     "_class" : "hudson.plugins.git.util.BuildData", 
     "buildsByBranchName" : { 
     "my-branch-name" : { 
      "_class" : "hudson.plugins.git.util.Build", 
      "buildNumber" : 587, 
      "buildResult" : null, 
      "marked" : { 
      "SHA1" : "***", 
      "branch" : [ 
       { 

       } 
      ] 
      }, 
      "revision" : { 
      "SHA1" : "***", 
      "branch" : [ 
       { 

       } 
      ] 
      } 
     }, 
     "my-other-branch-name" : { 
      "_class" : "hudson.plugins.git.util.Build", 
      "buildNumber" : 1373, 
      "buildResult" : null, 
      "marked" : { 
      "SHA1" : "***", 
      "branch" : [ 
       { 

       } 
      ] 
      }, 
      "revision" : { 
      "SHA1" : "***", 
      "branch" : [ 
       { 

       } 
      ] 
      } 
     }, 

나는 싶습니다 당신과 같이 건물 번호로 좁힐 수 있습니다.

/lastSuccessBuild/buildNumber 

api를 사용하지만 모든 브랜치를 반복하고 이름을 비교할 필요가 없도록 브랜치 이름 키 내부의 모든 것을 해결할 것입니다. 나는 내가 내 "*"이 지정되어 있지만 사용할 올바른 구문을 알 수없는 곳에서 더 좁힐 수 있다고 가정하고 있습니다.

답변

0

여기에서 정보를 얻었습니다. 당신이 나무의 buildsByBranchName 섹션 내부에서 분기 정보를 원하는 경우

tree=actions[lastBuiltRevision[*,branch[*]]] 

어느 쪽이든, 당신은 내가 위에서처럼 그것을 쿼리해야합니다.

0

답변을 xml로 다시 가져 오는 것이 좋으면 xpath이 잘 작동합니다. URL의

:

<meep> 
    <buildsByBranchName> 
     ... 
    </buildsByBranchName> 
</meep> 

그리고 buildsByBranchName (참고로 채워집니다 :

/lastStableBuild/api/xml?xpath=//buildsByBranchName&wrapper=meep 

처럼 보이는 XML을 작성 여러가있는 경우 하나 이상의있을 수 있습니다 git remotes, 따라서 wrapper가 필요함) URL에 지정된 작업의 마지막으로 성공한 빌드를 지정하기위한. 새로 만든 xml 객체의 래퍼 객체가 될 "meep"이라는 단어를 대체 할 수 있습니다.