2013-03-27 30 views
11

Ở đây tôi về cơ bản đang tìm kiếm một tham số phụ thuộc.Jenkins Các thông số động dựa trên giá trị tham số đã chọn trước đó

Giả sử tôi có hai menu thả xuống trong phần tham số xây dựng. Dựa trên giá trị được chọn từ menu thả xuống đầu tiên, mặc định có thể là Tôi muốn giá trị của menu thả xuống thứ hai thay đổi.

Có plugin hoặc phương pháp nào để xử lý yêu cầu này một cách hiệu quả không?

+0

Nếu tôi muốn menu thả xuống thứ hai lấy giá trị từ đầu ra của tập lệnh trình bao làm cách nào để thực hiện điều đó? – Triangle

Trả lời

1

This là những gì bạn muốn đạt được đúng?

Sau đó, bạn có thể kế thừa hudson.model.ChoiceParameterDefinition và ghi đè phương pháp getChoicesText. trả lại các tùy chọn dựa trên bất cứ điều gì bạn muốn, trong tình huống của bạn, bạn có thể nhận được các môi trường từ Hudson.getInstance().

Đoạn mã bên dưới được hiển thị cách nhận biến môi trường.

Hudson.getInstance().getGlobalNodeProperties() 
     .get(EnvironmentVariablesNodeProperty.class).getEnvVars().get(name); 

Here là câu hỏi tương tự.

+0

Câu hỏi đặt ra là thay đổi danh sách dựa trên thông số trên cùng một biểu mẫu. Tôi không chắc chắn nếu có một cách dễ dàng để đạt được điều này, nhưng tôi rất muốn xem một số mã ví dụ về làm thế nào để làm điều đó. Cách bạn (và câu trả lời được liên kết) hiển thị sử dụng thông tin hiện có được xác định ở nơi khác, nó không thay đổi các lựa chọn động dựa trên một trình đơn thả xuống khác trong cùng một biểu mẫu. – hyde

5

tôi đã không sử dụng nó, nhưng có vẻ như các plugin sau đây có thể làm những gì bạn muốn:

Một Jenkins tham số plugin cho phép hai yếu tố lựa chọn. Lựa chọn thứ hai điền các giá trị tùy thuộc vào lựa chọn được thực hiện cho lựa chọn đầu tiên.

https://github.com/tekante/Dynamic-Jenkins-Parameter/wiki

+1

* Có vẻ * khá hạn chế, chỉ cho phép hai lựa chọn trong menu thả xuống đầu tiên, vì vậy chỉ có hai danh sách thay thế cho menu thả xuống thứ 2. – hyde

+0

Có thể thực thi Groovy trong plugin này? –

9

Đây là chính xác những gì bạn đang tìm kiếm: https://github.com/biouno/uno-choice-plugin/wiki/Uno-Choice-Cascade-Dynamic-Choice-Parameter

Nó có vẻ là một viên ngọc ẩn, đã không tìm thấy nó trong bất kỳ câu hỏi tương tự cho đến nay.

+6

Có lẽ hơi muộn nhưng nếu có ai khác cần điều này, như đã nêu trong [câu hỏi tương tự này] (http://stackoverflow.com/questions/18393671/how-to-get-a-parameter-depend-of-other-parameter -in-hudson-hoặc-jenkins) plugin được chia sẻ với cộng đồng Jenkins và _officially_ được đổi tên thành [Plugin lựa chọn hoạt động] (https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin) – Morfic

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