首页 > 解决方案 > 如何通过脚本从 Jenkins 中的 Global Builds Stats Plugin 中提取信息

问题描述

我需要每周发送一封邮件,其中包含有关詹金斯上运行的工作的详细信息。我已经设法安装了插件,并且也可以看到图表。

在此处输入图像描述

有人可以指导我脚本部分,如何提取数据并通过邮件发送。此外,如果数据可以以图形形式发送,那将是最好的。

使用下面的命令我可以直接在浏览器中看到图表。

<jenkins/hudson_url>/plugin/global-build-stats/showChart?buildStatId=<Chart id>

但是,当我尝试使用以下 curl 命令下载图像时,我没有得到它。

curl -O <jenkins/hudson_url>/plugin/global-build-stats/showChart?buildStatId=<Chart id>

获取以下两个文件,这不是图像或相关数据。

-rw-r--r--. 1 root    root         62 Nov 14 07:04 osw.hb
-rw-------. 1 root    root        969 Nov 14 07:04 showChart?buildStatId=<chart id>

“showchartfile”的内容如下。

Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:

Permission you need to have (but didn't): hudson.model.Hudson.Read
 ... which is implied by: hudson.security.Permission.GenericRead
 ... which is implied by: hudson.model.Hudson.Administer
-->

</body></html>  

这看起来像一个身份验证问题。理想情况下,它不应该在我使用图表 ID 时出现。以下是 API 文档的链接。

https://wiki.jenkins.io/pages/viewpage.action?pageId=46336030

标签: jenkinsjenkins-plugins

解决方案


我发现了这个问题。图表 ID 仅适用于现有用户。这意味着用户名和密码需要与 curl 命令一起提供。用过以下一种。它现在工作。

curl -u Username:Passwd -O <jenkins/hudson_url>/plugin/global-build-stats/showChart?buildStatId=<Chart id>

推荐阅读