2017-04-24 1 views
1

작업을 빌드하기 위해 부울 매개 변수 중 하나의 값을 가져 오려고합니다. 예 :BooleanParameterValue의 값을 가져 오는 방법은 무엇입니까?

build job: 'test', parameters: [[$class: 'BooleanParameterValue', name: 'Param1', value: Param1]] 

Param1을 부울 변수이다. BooleanParameterValue 클래스는 value 매개 변수에 대해서만 부울을 사용합니다.

public BooleanParameterValue(String name, 
         boolean value, 
         String description) 

.getValue() 함수를 시도했지만 작동하지 않았습니다. 사실 또는 거짓을 직접 입력하면 작동하지만 변수가되어야한다는 것을 알고 있습니다. Thx.

+0

것 빌드에입니다 너 시도 했어? Param1을 인쇄 할 때 그게 무슨 말을 하죠? Param1을 초기화 할 때 코드를 표시 할 수 있습니까? – burnettk

+0

오류 : java.lang.IllegalArgumentException : 인스턴스화 할 수 없습니다. Param1은 Jenkins의 인터페이스에서 부울 매개 변수입니다. 따라서 매개 변수로 빌드를 누르면 초기화됩니다. Param1을 인쇄하면 사실을 인쇄합니다. – Emile

답변

2

params은 작업 빌드 매개 변수를 보유하는 전역 개체입니다. 또한 형식을 보존합니다 (대부분 String 또는 Boolean).

params을 수행 한 것처럼 그 이름으로 부울 매개 변수를 참조하여 "생략"할 수 있습니다. 그러나이 변수는 실제로는 String 유형입니다. 작업 구성에서 설정 한 'aBooleanParameter'부울 매개 변수가 가정 : 매개 변수를 제공하기

echo aBooleanParameter.getClass().toString()  // class java.lang.String 
echo params.aBooleanParameter.getClass().toString() // class java.lang.Boolean 

그래서 정통 방식으로하면이 경우에 얻을 않는 어떤 오류

build job: 'test', parameters: [[$class: 'BooleanParameterValue', name: 'Param1', value: params.Param1]] 
+0

그게 효과가 너무! 고마워 :) – Emile

0

toBoolean() 함수와 함께 작동합니다!

build job: 'test', parameters: [[$class: 'BooleanParameterValue', name: 'Param1', value: Param1.toBoolean()]] 
관련 문제