2012-04-18 5 views
7

Yapılandırma adımı olarak Jenkins Groovy Plugin tarafından çalıştırılan bir komut dosyası yazarken (Yürütme Sistemi Groovy Komut Dosyası), 'değişken bağlamalar' belirtilebilir. Yardım hattı: Varibale bingings tanımlayın (özellikler dosya biçiminde). Spefified değişkenler komut dosyasından ele alınabilir. [sic] Bu değişkenlere komut dosyasından nasıl erişirim? Yapı için ortam değişkenleri olarak ayarlanmazlar, Sistem özellikleri arasında mevcut değildirler.Jenkins Groovy Plugin Komut Dosyası için Belirtilen Değişkenlere Erişme

cevap

8

this.getBinding().getVariables()

veya basitçe binding.variables

+0

Komut dosyasındaki ortam değişkenlerine nasıl erişeceğinizi biliyor musunuz? –

+0

@Newbie, 'binding.varaibles' bir [java.util.Map] 'dir (http://docs.oracle.com/javase/6/docs/api/java/util/Map.html) nesnesi adları). –

+3

Değişken bağlaçlarınızda 'foo = bar' gibi bir bağlayıcınız varsa,' binding'variables.get ('foo') 'komutunu çalıştırarak' bar'ı alabilirsiniz. –

0

Ben sadece listener, build, launcher ve binding.variables gelen out var doğrudan binding.variables kullanmak mümkün değildi. Bu soruya verilen yanıtlar önerildiği üzere

Onun yerine ortam değişkenlerini almak için build.environment(listener) kullanmayı başardı: Ben sadece sistem çapındaki arıyorum beri 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'] 

Bu benim için farklı olabilirdi çevresel değişkenler:

Jenkins değişkenler kurmak tutun \ Jenkins ortam değişkenleri tutun \ çalışması için bir ortam hazırlayın (işaretli)