2012-03-10 20 views
5

Giả sử tôi kích hoạt xây dựng bằng cách gửi yêu cầu GET đến /job/awesomesauce/build. Có thể truy xuất id của bản dựng được kích hoạt không?Có thể truy xuất id của Jenkins build mà tôi đã kích hoạt thông qua API của nó không?

Tôi biết mình có thể thử truy cập /job/awesomesauce/lastBuild/api/json, nhưng điều đó sẽ cho tôi thông tin sai trong trường hợp có nhiều bản dựng đang chạy cùng một lúc. Ngoài ra, có vẻ như có sự chậm trễ nhỏ (vài giây) trước khi nó cung cấp cho tôi thông tin về việc xây dựng hiện đang chạy.

Trả lời

4

Tôi phải làm việc này, và đây là cách giải quyết mà tôi đã sử dụng: Tôi có một thông số giả mà tôi đã chuyển đến bản dựng (trong trường hợp của tôi là BUILD_ID của một bản dựng khác; dấu thời gian), sau đó tôi truy vấn và phân tích cú pháp cả hàng đợi xây dựng api ([server]/queue/api/...) và api thông thường (trong trường hợp xây dựng đã hoàn thành) cho bản dựng chứa giá trị tham số thích hợp.

1

Trong tiêu đề phản hồi http "vị trí", bạn có thể nhận id mục hàng đợi. Sau đó, bạn có thể poll/queue/item // api/json để có được số thực thi của nó, đó là id xây dựng.

+0

Xây dựng mới đã được bắt đầu, nhưng 'Vị trí' để trả lời là uri công việc thay vì xây dựng uri. Chỉnh sửa: https://issues.jenkins-ci.org/browse/JENKINS-12827 – mj41

+0

Tôi đã mô tả chi tiết ở đây: http://stackoverflow.com/questions/24507262/retrieve-id-of-remotely- trigger-jenkins-job/28524219 # 28524219 – morgwai

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