如何参数化在詹金斯管道剧本的魅力结果目录?

问题描述 投票:0回答:2

我试图通过一个常规列表变量倾城詹金斯管道脚本插件。我需要在诱惑的结果列表是动态的。所以,我已经想出了解决方案:

  1. 获取的路径,主节点上的目录列表中的吸引力结果存储在何处
  2. 创建列表[路径: “路径/到/目录”],...]
  3. 通过变量来引诱插件通过这个列表

的代码示例:

def collectResultDirectories(){
  def directories = sh(
    script: "ls ${ALLURE_DIR}",
    returnStdout: true
  ).split('\t?\n')
  def results = []
  for (dir in directories) {
      results = results + [path: "${ALLURE_DIR}/${dir}"]
  }
  return results
}

def createAllureReport() {
  def results = collectResultDirectories() 
  // == [[path: "results_dir1"], [path: "results_dir2"]]
  allure([
    includeProperties: false,
    jdk: '',
    properties: [],
    reportBuildPolicy: 'ALWAYS',
    // Here I am trying to pass a list variable
    results: results
  ])
}

1)结果:结果

预计:创建级联报告。实际:空报告与输出:

/var/lib/jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure/bin/allure产生-c -o的/ var / lib中/詹金斯/就业/工作名/工作区/吸引力报告

22点52分11秒的诱惑力,结果不存在

2)结果: “$ {}的结果”

异常java.lang.IllegalArgumentException异常被抛出

jenkins jenkins-pipeline jenkins-plugins allure jenkins-groovy
2个回答
0
投票

一个修正应该可以肯定的是如下进行:改线

results = results + [path: "${ALLURE_DIR}/${dir}"]

到以下

results += [path: " ${ALLURE_DIR}/${dir}"]

注意之后的“空间

除了它,一切正常,请尝试回来与更详细的错误,如果有任何


0
投票

设法找到了一个错误。我已记入目录的绝对路径,这是不正确 - 倾城是在当前工作目录中寻找他们。更改工作目录已经解决的问题。

© www.soinside.com 2019 - 2024. All rights reserved.