3

我一直在修改 Email Ext 插件提供的默认 groovy 模板。

首先,我必须修改 JUnitTestResult 并且需要根据我的需要对其进行格式化。我在 中发现it.JUnitTestResultit是对类的引用ScriptContentBuildWrapper。然后我可以根据需要格式化 JUnitTestResult。

现在我面临第二个困难:

  • 除了这些内容,我还需要从驻留在作业工作区的文件中附加更多内容。如何访问驻留在工作区目录中的文件。

我很想知道如何访问构建上下文对象。什么是java类名和类似的东西。

4

3 回答 3

0

根据您使用的电子邮件分机版本,您可以使用提供的令牌来访问事物,因此如果您查看令牌帮助,您会看到很多令牌。这些可以在 groovy 模板中使用来做同样的事情。例如,可以通过执行 FILE(path: 'path/to/file') 在 Groovy 中使用 FILE 令牌,它将替换为文件的内容(仅适用于工作区下方的文件)。

于 2014-02-23T14:05:16.463 回答
0

只需使用buildwhich 返回一个AbstractBuild

尝试 -

build.workspace

它返回正在构建构建的目录的 FilePath。

请参阅AbstractBuild.getWorkspace

提示:在 Groovy 中,您可以避免“获取”并使用类似字段的访问表示法

于 2014-01-20T15:37:54.257 回答
0

构建对象并非在所有 groovy 脚本中都直接可用(例如,groovy 构建脚本、groovy 系统构建脚本、groovy 构建后脚本、在 email-ext 中评估的 groovy 脚本)。在 groovy 脚本中为正在运行的构建获取构建对象的最便携方式是:

import hudson.model.*
def build = Thread.currentThread().executable

然后你可以像这样获取工作空间和访问里面的文件:

workspace = build.getEnvVars()["WORKSPACE"]
afilename = workspace + "/myfile"
afile = new File(afilename);
// afile.write "write new file"
// afile << "append to file"
// def lines = afile.readLines()
于 2017-03-24T12:01:21.663 回答