从Jenkins中的工作区groovy脚本中读取.txt文件

时间:2018-01-23 12:08:00

标签: jenkins groovy jobs workspace

我是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]

2 个答案:

答案 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
}