我正试图在Workflow groovy脚本中利用Jenkins Java。
我发现很难掌握我能做什么和不能做什么,有没有什么好的资源可以做到这一点。
目前我正在尝试做的是获取工作区路径,我已经到了
res.end(JSON.stringify([rows[0],rows[1]]));
但这似乎是一个死胡同,似乎没有任何有用的东西你可以实际使用这些对象。
如果有人能指出任何资源,提供可以这样做的有用事情的例子,或者帮助我解决工作区路径很大的具体问题。
答案 0 :(得分:5)
您可以使用标准工作流程步骤pwd()
来获取工作空间路径,而无需使用Jenkins API。
就其他情况而言,没有特别的文档总结了您可以从Workflow脚本中使用Jenkins API做什么,因为它只是Jenkins API允许您执行的任何操作(请参阅Javadoc) 。需要注意的两点需要注意:
Serializable
,这意味着您必须将其用途封装在标有@NonCPS
注释的方法中。该方法可以作为参数并返回任何可序列化(或原始)类型。 more Node
块中使用node {}
,则可以使用Jenkins.instance.getNode(env.NODE_NAME)
。答案 1 :(得分:0)
这并不能回答您的首要问题,但是env.WORKSPACE将为您提供工作区的绝对路径:)在工作流作业配置中打开代码段生成器,向下滚动,您将看到所有的列表可用的环境变量。
答案 2 :(得分:0)
如果您尝试获取工作区路径以读取某些文件,则应该使用Job DSL和readFileFromWorkspace(filePath)
。
如果您正在使用从属服务器,那么只有工作区路径并尝试使用new File(filePath)
尝试读取文件可能不起作用。
更多细节在这里
https://github.com/jenkinsci/job-dsl-plugin/wiki/Job-DSL-Commands