【问题标题】:Print out hyperlink in Jenkins console output using Python使用 Python 在 Jenkins 控制台输出中打印超链接
【发布时间】:2015-07-21 00:30:53
【问题描述】:

我正在通过 Jenkins 作业触发 python 脚本,并将在 Jenkins 控制台输出中打印超链接。是否有 Jenkins 插件或 python 模块可以用来实现这一点。

从测试脚本中,我尝试这样做 - echo 'print "http://www.google.com>Google"' 但在控制台输出上它只是将其显示为原始文本而不是超链接(它确实使http url 链接可点击)。

我知道这在 HTML 文件的情况下可以正常工作

【问题讨论】:

    标签: python jenkins hyperlink jenkins-plugins


    【解决方案1】:

    你可以试试ANSI Color plugin 它会自动转换成超链接。我用 java 试过了,你可以用 Python 试试 :)

    【讨论】:

    【解决方案2】:

    安装anything-goes-formatter

    https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=60915753

    在全局配置中启用标记格式化程序(安全部分)

    http://127.0.0.1:8080/configureSecurity/

    【讨论】:

      【解决方案3】:

      我花了一段时间才从 Groovy 代码 (jenkinsfile) 中弄清楚这一点,但我知道必须有一种方法作为步骤/插件可以做到这一点。 在这种情况下,您需要 ModelHyperlinkNote (https://javadoc.jenkins-ci.org/hudson/console/ModelHyperlinkNote.html) 及其静态方法;因此,要获得 Job 的链接,您可以这样做:

      final Run buildRun = Jenkins.instance.getItemByFullName(buildJobName
        ).getBuildByNumber(runId) as Run
      final String link = ModelHyperlinkNote.encodeTo(buildRun)
      

      然后您可以简单地将该值写入日志,控制台日志将解释它并添加具有所有相关操作的小部件。

      除了特定于类型的方法之外,还有通用的encodeTo(String url, String text) 允许链接到其他类型的实体。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-05
        • 2016-02-01
        • 1970-01-01
        • 2021-04-27
        • 1970-01-01
        • 2017-03-18
        • 2021-12-13
        相关资源
        最近更新 更多