Curl 如何在Jenkins groovy中获取构建URL内容? 案例1
在下面的代码中Curl 如何在Jenkins groovy中获取构建URL内容? 案例1,curl,groovy,readfile,jenkins-groovy,Curl,Groovy,Readfile,Jenkins Groovy,在下面的代码中 def url = "${BUILD_URL}console".toURL() def consoleOutput = url.getText('utf-8') Groovy脚本不允许使用语法toURL(): 案例2 另一种方法: print "${BUILD_URL}console" def data = readFile("${BUILD_URL}console") 这会产生错误: java.nio.file.NoSuchFileException: /app/jen
def url = "${BUILD_URL}console".toURL()
def consoleOutput = url.getText('utf-8')
Groovy脚本不允许使用语法
toURL()
:
案例2 另一种方法:
print "${BUILD_URL}console"
def data = readFile("${BUILD_URL}console")
这会产生错误:
java.nio.file.NoSuchFileException: /app/jenkins/workspace/../folder/https:/xxxx.yy.zz.cccc.cloud/job/a/b/job/67/console
在输出之后:
https:/xxxx.yy.zz.cccc.cloud/job/a/b/job/67/console
如何获取Jenkins构建输出的内容?案例1 正如错误所述,有几种groovy方法在未经管理员事先批准的情况下无法访问。它必须经过一次批准,然后才能一直使用。(如果要在GUI中提供脚本而不是Jenkins文件,可以禁用此Groovy沙盒并使用all方法) 案例2 这个错误是你期望发生的。
BUILD\uURL
保存当前构建的URL,顾名思义。这可以在回声中看到。
在第二个命令中,您可以在readFile
中使用它ReadFile
需要一个路径作为参数。由于BUILD\u URL
不是以/
开头,因此它被视为相对路径,因此当前工作目录被预先指定。
这导致groovy试图访问路径为
的文件,这显然不起作用
无论哪种方式,我都不建议获取GUI的控制台输出,因为
- 您还将收到GUI,而不仅仅是控制台输出
不一定包含整个输出(它只包含最后n个字节;要访问完整的输出,您至少应该查询../console
)../consoloillel
https:/xxxx.yy.zz.cccc.cloud/job/a/b/job/67/console