jenkins扩展选择参数可以取决于另一个参数的值吗?

时间:2020-03-30 09:57:52

标签: jenkins jenkins-pipeline jenkins-plugins extended-choice-parameter

我在声明性Jenkins管道中使用带有JSON参数类型的extended choice parameter。我发现为参数提供自定义UI非常好,它会根据用户输入返回json。

我有一个用例,其中向用户显示哪些选项取决于另一个参数的值。我可以使用active choice parameter来实现这种功能,但后来我陷入了单选按钮,复选框,html输入等的问题。

我找到了一个合适的选项here,在其中我可以使json内部的属性依赖于另一个属性:


bigDF <- tribble(
            ~Species,    ~Site,   ~Present,    ~Lookup,
            "A",    "A1",   1,  "Aa1",
            "A",    "A2",   0,  "Ab2",
            "A",    "A3",   1,  "Aa3",
            "A",    "A4",   1,  "Aa4",
            "A",    "A4.2", 1,  "Aa4",
            "B",    "B1",   0,  "Bb1",
            "B",    "B2",   0,  "Bb2",
            "B",    "B3",   0,  "Bb3",
            "B",    "B4",   1,  "Bb4",
            "B",    "B1.1", 1,  "Bb1",
            "B",    "B2.1", 0,  "Bb2")


lookupDF <- tribble(
            ~Lookup,  ~Val,
            "Aa1",      12, 
            "Ab2",      15,
            "Aa3",      18,
            "Aa4",      101,
            "Bb1",      60,
            "Bb2",      75,
            "Bb3",      89,
            "Bb4",      3)

当我尝试here example

时,效果很好

但是当我在詹金斯上尝试相同的方法时,它不起作用。它显示所有3个文本框。我也看到了观看其他参数的选项,但是我找不到如何将其用作参数的其他方式。

这是一个简单的示例,我要实现的要求是dropdown-1 + Array(dropdown-2 +文本字段+ text-field)的UI,其中数组的文本字段取决于dropdown-1的值,我无法在主动选择中创建相同的UI。

有没有人知道options.dependency如何在詹金斯中工作,或者可以使用watch / other插件来实现?

1 个答案:

答案 0 :(得分:0)

如果我问对了您的问题,那么您希望以更智能的方式选择参数。

所以你可以通过 groovy 脚本来完成。

这是我的示例,您可以在图片上看到: freestyle job config 抱歉,我不知道如何更好地显示自由式作业配置。

所以,逻辑很简单: 我正在收集第一个参数的 JSON,并对其进行一些解析。 然后我使用 Environmets 变量来显示它的内容,具体取决于第一部分的结果。

ps。我现在正在努力使用可变主机,因为我不知道如何在不要求用户输入的情况下在最后步骤中传递它。 但我相信你知道如何做到这一点。

相关问题