我是Jenkins的新手,并且是一个groovy脚本,我想读一个位于其中一个作业的工作区中的.txt文件。我想这样做:
myfile = Jenkins.instance.getJob('JobName').workspace.readFileFromWorkspace('file.txt');
但导致以下错误:
groovy.lang.MissingMethodException:没有方法签名: hudson.FilePath.readFileFromWorkspace()适用于参数 types:(java.lang.String)values:[file.txt]
答案 0 :(得分:1)
试试这个:
file = new File("${Jenkins.instance.getJob('JobName').workspace}/file.txt").text
答案 1 :(得分:0)
我一直在努力使其适用于工作区中文件中的pom模块。 扩展选择参数。这是我的printlns解决方案:
import groovy.util.XmlSlurper
import java.util.Map
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
try{
//get Jenkins instance
def jenkins = Jenkins.instance
//get job Item
def item = jenkins.getItemByFullName("The_JOB_NAME")
println item
// get workspacePath for the job Item
def workspacePath = jenkins.getWorkspaceFor (item)
println workspacePath
def file = new File(workspacePath.toString()+"\\pom.xml")
def pomFile = new XmlSlurper().parse(file)
def pomModules = pomFile.modules.children().join(",")
return pomModules
} catch (Exception ex){
println ex.message
}