如何将文本文件的内容打印到Jenkins脚本控制台?

jslywgbw  于 2023-04-11  发布在  Jenkins
关注(0)|答案(4)|浏览(248)

我的Jenkins示例在Wondows上。我的文件在%JENKINS_HOME%/tools/tools-package-json-get-property/version.js
在Jenkins脚本控制台中,我尝试了这一点,但没有工作(groovy错误)。

println %JENKINS_HOME%/tools/tools-package-json-get-property/version.js
println "%JENKINS_HOME%/tools/tools-package-json-get-property/version.js"
println ("%JENKINS_HOME%/tools/tools-package-json-get-property/version.js")
echo %JENKINS_HOME%/tools/tools-package-json-get-property/version.js

控制台错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
  Script1.groovy: 1: expecting EOF, found 'tools' @ line 1, column 30.
  println %JENKINS_HOME%/tools/tools-package-json-get-property/version.js

编辑

我尝试了println $JENKINS_HOME/tools/tools-package-json-get-property/version.js,但出现了以下结果错误:

控制台错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 1: expecting EOF, found '-' @ line 1, column 34.
   println $JENKINS_HOME/tools/tools-package-json-get-property/version.js
jaxagkaj

jaxagkaj1#

在变量名的开头使用$而不是%。Grroovy只理解java语法。请参考下面链接的第4.4.1节字符串插值。https://groovy-lang.org/syntax.html

5ssjco0h

5ssjco0h2#

new File("$JENKINS_HOME/tools/tools-package-json-get-property/version.js").eachLine { line ->
    println line
}

这个应该能用

vql8enpb

vql8enpb3#

如果您使用的是Windows,那么您可以使用type <filename>命令来打印文本文件的内容。
在Jenkins文件中,只需添加以下内容,您将在控制台输出中看到内容:

bat "type $JENKINS_HOME\\tools\\tools-package-json-get-property\\version.js"

注意:对于Windows,我使用了\\而不是/
如果您运行的是linux,那么您可以只使用cat <filename>

rta7y2nd

rta7y2nd4#

在Groovy控制台中,它的工作方式是

FileToRead = new File('C:\\somepath\\somefile.txt')
print FileToRead.text

在我的Jenkins BlueOcean管道内,它可以工作,但你可能会运行它进入一个错误类型“需要脚本批准”,这可以在管道失败后在“http://jenkins:8080/manage/scriptApproval/”中完成。然后重新启动管道。

相关问题