当前位置: 首页 > 面试题库 >

使用Groovy脚本从Jenkins中的Workspace读取文件

江敏学
2023-03-14
问题内容

我想使用Groovy插件添加一个Build步骤来读取文件并根据文件内容触发构建失败。

如何在groovy插件中注入工作区文件路径?

myFileDirectory = // Get workspace filepath here ???
myFileName = "output.log"
myFile = new File(myFileDirectory + myFileName)

lastLine = myFile.readLines().get(myFile.readLines().size().toInteger() - 1)
if (lastLine ==~ /.Fatal Error.*/ ){
    println "Fatal error found"
    System.exit(1)
} else{
   println "nothing to see here"
}

问题答案:

根据您的评论,使用 Text-finder 插件会更好。

它允许在文件以及控制台中搜索正则表达式,然后设置构建unstablefailed找到构建。

对于Groovy,可以使用以下命令来访问${WORKSPACE}环境变量:
def workspace = manager.build.getEnvVars()["WORKSPACE"]



 类似资料:
  • 问题内容: 但是,我需要从System Groovy脚本读取文件,因此使用Text-finder或Groovy PostBuild插件的解决方案将不起作用。 如何从系统Groovy脚本获取工作区路径?我尝试了以下方法: 谢谢! 问题答案: 每个构建都有一个 工作区 ,因此您需要首先找到所需的项目。(在詹金斯中,术语“工作”和“项目”在API中也是可以互换使用的。) 之后,您可以交叉手指,只需调用已

  • 问题内容: 我是Jenkins和groovy脚本的新手,我想读取一个.txt文件,该文件位于其中一个作业的工作空间中。我正在尝试这样做: 但是会导致以下错误: groovy.lang.MissingMethodException:方法的无签名:hudson.FilePath.readFileFromWorkspace()适用于参数类型:(java.lang.String)值:[file.txt]

  • 问题内容: 我正在尝试将内容从Jenkinsfile中分离出来,以制作一个时髦的脚本。但是它无法调用这些脚本:这是代码: file.groovy 看起来Jenkinsfile能够调用file1.groovy但总是给我一个错误: 问题答案: 如果要从外部文件中获取可用的方法,则需要执行以下操作 在您的中,返回对方法的引用 编辑 似乎不是必需的 要么 正如@Olia所提到的 应该管用 这是有关的参考。

  • 我正在尝试将Jenkinsfile中的内容分离到groovy脚本中进行制作。但它无法调用这些脚本:下面是代码: 文件groovy公司 看起来Jenkinsfile能够调用file1.groovy但总是给我一个错误:

  • 我想在詹金斯中强制执行以下场景: 我有工作A和工作B 我想在执行作业B时禁用作业A,在执行作业B后,我想再次启用作业A。 为了启用/禁用作业A,我使用了Groovy插件:Groovy插件 Groovy插件提供了两种可能性:执行Groovy脚本和执行系统Groovy脚本。 在开始执行作业B时,我添加了以下代码片段: 执行工作B后: 当我运行作业B时,它失败了,出现以下异常: 当我运行作业B时,它失败

  • 问题内容: 我是Jenkins中使用的Groovy脚本的新手。我的问题是,我们如何根据作业名称和内部版本号获取作业的时间戳? 示例 :我想获取“ MyDeployJob”(JobName)的时间戳,并获取BuildNumber-105的时间戳。 我尝试使用方法方法,但无法正常工作。另外,我发现环境变量具有时间戳,但是我无法弄清楚如何使用Groovy Script获取细节。请帮助。 提前致谢。 问题