我在jenkins中很新,我想从jenkins控制台输出中过滤掉只有jenkins输出的我的unix脚本通过jenkins作业运行 为了简化我的场景,我有一个返回json输出的MyScript unix脚本。 jenkins作业使用“Execute shell”构建操作来封装MyScript执行。 当我运行詹金斯工作,MyScript可被执行,下面输出詹金斯控制台输出的回报:过滤jenkins控制台输出的作业
Started by remote host ...
Building remotely on ... in workspace ...
Set build name.
New build name is '#11-/products/software/myScript.py'
[ScriptWrapper] $ /bin/sh -xe /tmp/hudson9139846468482145951.sh
+ /products/software/myScript.py -t ...
{'ip': '...', 'host': '...'}
Set build name.
New build name is '#11-/products/software/myScript.py'
Variable with name 'BUILD_DISPLAY_NAME' already exists, ...
Finished: SUCCESS
从上面的输出,我想过滤出我的UNIX脚本的JSON输出是“{” ip':'...','host':'...'}“。 那我们称之为通过REST API的詹金斯的工作,我们需要得到只有被叫UNIX脚本的JSON输出需要它:
curl -s -k -u ... --request GET "https://<jenkins uri>/jenkins/view/ScriptWrapper/job/ScriptWrapper/19/consoleText"
我们试图定义一个解析规则文件,但在这我们只能在“Parsed Console Output”jenkins视图中突出显示控制台输出中的某些行。 此外,它似乎这个“经分析控制台输出”是无法通过REST API访问:
curl -s -k -u ... --request GET "https://<jenkins uri>/jenkins/view/ScriptWrapper/job/ScriptWrapper/19/parsed_console"
- >它不工作
有什么办法可以过滤掉詹金斯控制台输出? 我们也在评估使用Jenkins Groovy Postbuild插件的可能性。你认为它可以帮助吗? 我事先感谢您的任何建议。
嗨Timmy, 是的,我们希望只生成脚本返回的json输出。 第三个选项不适用,如下所示: 1)外部应用程序调用jenkins rest api并且仅期望xml/json结果。 3)myScript返回json输出 选项html发布者: ERR目录'/ jenkins/workspace/ScriptWrapper/response'存在但失败,但失败复制到'/ jenkins/jobs/ScriptWrapper/htmlreports/Job_Response' index.html应该如何结构化? 或者myScript应该返回html输出/应该生成这样的index.html? – nuvola
嗨提米, 对不起,低于约错误使用HTML发行的详细信息: 选项HTML出版商: HTML DIR:./response 索引页:指数。html 报告标题:作业回复 错误:目录'/ jenkins/workspace/ScriptWrapper/response'存在,但未能复制到'/ jenkins/jobs/ScriptWrapper/htmlreports/Job_Response' 错误:由于您的构建成功, – nuvola
不确定这些来自html发布者的错误。它应该能够发布任何文件。你有没有试过“存档神器”功能? –