2012-04-18 32 views
7

Khi viết một kịch bản mà được điều hành bởi Jenkins Groovy Plugin như một bước xây dựng (Execute Hệ thống Groovy Script) người ta có thể xác định 'cam kết ràng buộc biến'. Đường dây trợ giúp cho biết: Xác định bản lề varibale (ở định dạng tệp thuộc tính). Các biến được định nghĩa có thể được giải quyết từ tập lệnh. [sic] Làm cách nào để truy cập các biến đó từ tập lệnh? Chúng không được đặt làm biến môi trường cho bản dựng, chúng cũng không có trong các thuộc tính hệ thống.Biến Truy cập rõ cho Jenkins Groovy Plugin Script

Trả lời

8

this.getBinding().getVariables()

hoặc đơn giản là binding.variables

+0

Bạn có biết cách truy cập các biến môi trường trong tập lệnh không? –

+0

@Newbie, 'binding.varaibles' là đối tượng [java.util.Map] (http://docs.oracle.com/javase/6/docs/api/java/util/Map.html) (được khóa bởi biến tên). –

+3

Nếu bạn có một ràng buộc như 'foo = bar' trong các ràng buộc biến của bạn, bạn có thể nhận được' bar' bằng cách chạy 'binding.variables.get ('foo')'. –

0

tôi đã không thể sử dụng binding.variables trực tiếp, tôi chỉ có listener, build, launcherout từ binding.variables.

Thay vào đó tôi đã có thể sử dụng build.environment(listener) để lấy các biến môi trường như đề xuất trong các câu trả lời cho câu hỏi này: Access to build environment variables from a groovy script in a Jenkins build step (Windows)

def config = new HashMap() 
config.putAll(binding.variables) 
def logger = config['out'] 
def envvars = new HashMap() 
envvars.putAll(build.getEnvironment(listener)) 
def myvar= envvars['myvar'] 

Điều này có thể đã khác đối với tôi kể từ khi tôi chỉ tìm kiếm trên toàn hệ thống biến môi trường:

(đã chọn) Chuẩn bị môi trường để chạy \ Giữ biến môi trường \ Keep Jenkins Build Variables

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