【问题标题】:Reactive choice parameter to read from workspace file从工作区文件中读取的反应选择参数
【发布时间】:2019-04-03 05:08:12
【问题描述】:

我正在尝试实现主动反应选择参数。 在反应参数中,我基本上是根据活动参数对不同的选项进行硬编码

下面是示例代码

if (Target_Environment.equals("Dev01")) {
  return ["test_DEV"]
} else if (Target_Environment.equals("Dev02")) {
  return ["test3_DEV02","test2_DEV02"]
} else if (Target_Environment.equals("Dev03")) {
  return ["test3_DEV03"]
} else if (Target_Environment.equals("Sit03")) {
  return ["test3_SIT03"]
}else if (Target_Environment.equals("PPTE")) {
  return ["test3_PPTE"]
}  

else {
  return ["Please Select Target Environment"]
}

而不是硬编码我想从 jenkins 工作区中的文件中读取的选项并将内容显示为选项,那么理想的方法是什么? readFile 在返回函数下不起作用

我也在尝试扩展选择参数,但是 那里我正在传递一个带有文件名的属性文件但是我如何使用 if else 条件传递属性文件

【问题讨论】:

  • 如果我像下面这样通过 if (Target_Environment.equals("Dev01")) { return [ readFile Filename ] } 它不起作用。我知道如何读取文件,但不确定如何在反应选择参数中传递内容,所以它不是重复的问题
  • 你找到方法了吗?我现在实际上正在为此苦苦挣扎,我担心您无法从管道之外的工作区中读取{}步骤

标签: jenkins


【解决方案1】:

我不能 100% 确定这是否准确。但我希望您无法从这样的参数中读取作业工作区,因为工作区是在构建之后创建的(请参阅下面的错误消息)。

因此,如果您创建的作业没有以前的构建,就没有工作区文件可供读取?

每当我看到过去使用的参数类型时,它们通常从服务器上的文件而不是工作区中读取。


来自以前没有构建的 Jenkins 作业的错误消息:

Error: no workspace

A project won't have any workspace until at least one build is performed.

Run a build to have Jenkins create a workspace.

【讨论】:

  • 我很好,我可以从文件中读取,但即使我如何在反应选择参数的返回语句中做到这一点
  • 再说一次,对这个参数不是 100% 有信心,因为我没有真正使用过它,但我认为类似下面的东西可能对你有用:def list = [] def lines = file.readLines() lines.each { String line -> list << line } return list 这将返回一个列表用户从文件中选择。您可以使用的另一个参数是扩展选择参数,它允许您使用不同的键/值。即用户将看到并选择 Dev01,但 Jenkins 使用的值将是 test_DEV
猜你喜欢
  • 2013-05-29
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
相关资源
最近更新 更多