2017-10-31 7 views
1

Active Choices 플러그인을 사용하여 Jenkins 작업에 3 개의 매개 변수 (환경, 분기, 버전)가 있습니다. 개발자가 Prod에 배포하는 경우 - 나는 그들이 트렁크에서 빌드를 푸시 할 수 없도록하고 싶습니다. 현재 params의 종속성은 다음과 같습니다. 환경 -> 지점 -> 버전.Jenkins Active Choices 3 개의 매개 변수에 대해 계단식 선택 사용 안 함

페이지로드가 표시되면 내가 PROD에 환경을 변경할 때 또는 해제하고 어떤 유물이 선택을 위해 건설되었다, 그러나 트렁크에서 배포 할 수 DEV 기본적으로 - 난 지점 새로 고침 기대 릴리스 (버전 있음) 만 표시되고 버전은 업데이트되지 않고 트렁크의 아티팩트를 계속 표시합니다.

환경 파람

return[ 
'DEV:selected', 
'QA', 
'BIZ', 
'DEMO', 
'PROD' 
] 

지점 파람

try{ 
    switch(Environment){ 
     case~/.*PROD.*/: 
      return ['release'] 
      break 
    default: 
     return ['trunk','release'] 
     break 
    } 
} catch (all) { 
    return ['trunk','release'] 
} 

버전 파람

(은 try/캐치 내가 먼저 부하에 표시 할 얻을 수있는 유일한 방법입니다)
def content = newURL("https://{{MyArtifactsUri}}/$Branch/").text 
assert content, "Empty." 
def json = new groovy.json.JsonSlurper().parseText(content) 
return json.name.reverse() 

답변

0

버전은 활성 선택 반응 매개 변수 (단일 선택)로 정의되어야합니다.

질문에서 알 수 있듯이 버전은 환경 및 분기 값에 따라 다릅니다.

Environment 및 Branch의 값을 사용하고 사용자가 선택할 수있는 사용 가능한 버전 목록을 반환하는 그루비 스크립트 (또는 미리 정의 된 Scriptler 스크립트 사용)가 필요합니다. "활성 선택 반응성 참조 매개 변수"에 대한 내가 가진

+0

옵션은 '- 입력 텍스트 상자 - 번호가 매겨진 목록 - 총알 항목 목록 - 포맷 된 HTML - 포맷 숨겨진 HTML' URI가에 대한 재평가 할 필요가 각 지점. –

+0

맞음, Reactive Parameter를 의미합니다. 위의 수정. –

+0

그게 제가 이미 사용하고있는 타입입니다. 두 매개 변수 사이에서 이것이 잘 작동하는 것처럼 보이지만 다른 매개 변수에 반응하는 매개 변수에 반응하는 경우에는 그렇지 않습니다. ** Version ** 매개 변수의 Referenced 매개 변수에 ** Branch ** 및 ** Environment **를 추가하려고 시도했습니다. –