2014-09-05 16 views
12

Chúng tôi đang gửi các tham số khác nhau cho công việc Jenkins của chúng tôi, trong số đó là Git commit SHA1. Chúng tôi muốn có được một danh sách các công việc đã sử dụng giá trị tham số đó (Git SHA1 - công việc nào đã thực hiện cam kết này?).API Jenkins: Nhận danh sách các công việc được lọc theo tham số xây dựng - Công việc nào đã xây dựng Git này?

URL sau đây sẽ cho chúng ta tất cả xây dựng:

http://jenkins.example.com/api/json?tree=jobs[name,builds[number,actions[parameters[name,value]]]]&pretty=true 

Phải mất một thời gian để render (6 giây) và chứa quá nhiều xây dựng (5 MB bộ xây dựng).

đầu ra mẫu từ URL:

{ 
    "jobs" : [ 
    { 
     "name" : "Job name - Build", 
     "builds" : [ 
     { 
      "actions" : [ 
      { 
       "parameters" : [ 
       { 
        "name" : "GIT_COMMIT_PARAM", 
        "value" : "5447e2f43ea44eb4168d6b32e1a7487a3fdf237f" 
       } 
       ] 
      }, 
(...) 

Làm thế nào chúng ta có thể sử dụng API Jenkins JSON để liệt kê tất cả công việc có giá trị xây dựng tham số nhất định?

Trả lời

0

Có vẻ nó không được hỗ trợ trong JSON API, tuy nhiên nếu bạn có thể sử dụng API XML, chúng ta có thể truy vấn thông qua XPath, xem ví dụ dưới đây

http://jenkins.example.com/api/xml?tree=jobs[name,builds[number,actions[parameters[name,value]]]]&exclude=hudson/job/build/action/parameter[value!=%275447e2f43ea44eb4168d6b32e1a7487a3fdf237f%27] 

Bạn có thể điều chỉnh các chuỗi truy vấn tốt hơn để phù hợp với nhu cầu của bạn.

tín dụng để http://blog.dahanne.net/2014/04/02/using-jenkins-hudson-remote-api-to-check-jobs-status/

1

Làm thế nào chúng ta có thể sử dụng API Jenkins JSON để liệt kê tất cả công việc có giá trị xây dựng tham số nhất định?

Không chắc về JSON API, nhưng bạn có thể sử dụng API XML và kết hợp câyxpath thông số: mẫu

http://jenkins_url/api/xml?tree=jobs[name,builds[actions[parameters[name,value]]]]&xpath=/hudson/job[build/action/parameter[name="GIT_COMMIT_PARAM"][value="5447e2f43ea44eb4168d6b32e1a7487a3fdf237f"]]/name&wrapper=job_names&pretty=true 

Kết quả:

<job_names> 
    <name>JOB1</name> 
    <name>JOB2</name> 
    <name>JOB3</name> 
    ... 
</job_names> 

Lưu ý: công việc rơi vào danh sách này nếu ít nhất một công trình được xây dựng với thông số mong muốn

Các vấn đề liên quan