2017-06-13 75 views
3

我試着實現我的第一個與Jenkins的聲明管道,以便能夠在SCM下放置一個作業的參數定義。詹金斯聲明性管道擴展選擇參數

我想轉移一個具有擴展選擇參數的現有工作。不幸的是,我無法將其添加到腳本的參數{...}部分。

在插件頁面:https://wiki.jenkins-ci.org/display/JENKINS/Extended+Choice+Parameter+plugin我發現說,它應該是可能的評論:

import com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition 

def type = "PT_JSON" 
def groovyScript = null 
def propertyValue = null 
def projectName = null 
def propertyFile = null 
def groovyScriptFile = "/path_to/script.groovy" 
... 
def extendedChoice = new ExtendedChoiceParameterDefinition(name, 
      type, 
      propertyValue, 
      projectName, 
      propertyFile, 
      groovyScript, 
..... 

input message: 'Param1', parameters: [extendedChoice] 

不幸的是這不是爲我工作。 「請求輸入」給出了一個非指定的錯誤。雖然我可以接受「輸入消息」解決方案,但這並不是我一開始就想要的。我想將此參數添加到參數部分,如前所述。但我無法找到任何描述此處的地方。任何建議如何繼續,或者也可能是替代方法/插件?

回答

0

你應該去你jenkins-url/pipeline-syntaxSample step下拉列表中選擇properties沒有爲This project is parameterized一個複選框,則可以選擇Add parameterExtended Choice Parameter,您可以生成常規的,對於您的管道。

+0

但這只是工作「腳本管道」不是「聲明管道」還是我錯了? ...即使它工作,它總是隻產生這個:properties([參數([類型的對象)),pipelineTriggers([])]) – Matthias

+0

假設,我聽說擴展的選擇參數不被支持,並且他們的板上有一張關於它的票。但是如果我知道,我一直無法找到它分享。 – gkman

0

這是我用來和單參數成功地測試你可能需要將其轉換爲Json的

com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition extch =new com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition("NAME", "PT_SINGLE_SELECT", "VALUE, a, b", null, null, null, null, null,null, null,null,null, null, null, null,null, null, null,null, null, null, null, null, null, null,null,false,false,2,"DESC", ",")