jenkins - 在 Jenkins 中使用键值对

标签 jenkins jenkins-plugins key-value-observing keyvaluepair

这是我对 Jenkins 中参数的要求:

1. User selects 3 Values from Dropdown: DEV, QA, PROD
2. Upon selection I need to return single value as parameter as like this:
 If DEV selected, return "Development http://dev.com 1"
 If QA selected, return "QA http://qa.com 2"
 If PROD selected, return "Production http://prod.com 3"
3. Once the value is returned in a variable, I will use that variable value in next step of 'Windows batch command'.

在哪里以及如何定义键/值。我尝试使用扩展选择参数插件,但不知道如何执行此操作。

最佳答案

我已经设法通过与Active Choices Plugin一起使用的下拉选择参数来获取键/值。 ,它并不像这里的其他答案那么复杂,它实际上隐藏在插件页面本身的注释中。

要获取键/值对,请在 Jenkins 中选择下拉列表参数(即显示人类可读的值,但将不同的键传递给构建:

  • 您只需从 groovy 脚本返回一个 Map 而不是 List
  • 如果用户选择此选项,则参数将设置为 map 键。 Map 值是下拉列表中实际显示给用户的值。

例如,groovy 脚本:return ['Key1':'Display 1', 'Key2':'Display 2', 'Key3':'Display 3'] 将显示一个下拉列表,其中包含:向用户显示 Display1、Display2 和 Display3。然而,构建参数实际上会根据所选内容设置为 Key1、Key2 或 Key3。

对于这个具体问题,以下是步骤。

  1. 确保您已安装 Active Choices 插件。
  2. 打开 Jenkins 作业的配置,选择此项目已参数化
  3. 点击添加参数并选择主动选择参数
  4. 为您的参数命名并点击 Groovy 脚本 复选框。
  5. Groovy Script中输入内容:return ['Development http://dev.com 1':'DEV', 'QA http://qa.com 2':' QA', 'Production http://prod.com 3':'PROD'] 对于此示例,用户将看到一个包含 3 个选项的下拉菜单:DEV、QA 和 PROD。为此参数传递的值将是 Development http://dev.com 1 等。现在,带有空格和 URL 的参数可能会导致问题,具体取决于您稍后在构建中如何使用它,但是这个概念确实是我想要说明的。

Active Choices Parameter configuration

关于jenkins - 在 Jenkins 中使用键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36684516/

相关文章:

ios - 使用 KVO 快速观察 view.center for ios 返回 NSPoint?

jenkins - 在 Jenkins 管道中按顺序运行多个异步步骤的最佳方法

在 Jenkins 声明管道中找不到 Bash

amazon-web-services - 是否可以在 jenkins 管道的 docker.withRegistry 调用中提供我的 AWS 凭证?

jenkins - 使用友好名称向多个收件人发送电子邮件分机消息

ios - 检测 UIView 在另一个 UIView 中的移动

ios - 案例切换中的Swift 3.0 UnsafeMutableRawPointer

jenkins - 如何在 Docker 容器中运行 Docker 主机?

jenkins - 如何从作业中设置环境变量并在 Jenkins 的下一个作业中使用它?

Jenkins 构建后操作触发 bool 参数