读取并解析 Jelly 模板中的外部 XML 文件
我正在使用 Jenkins 1.410 和 Email-Ext 2.14。我的项目是一个健全性检查,以验证许多其他构建,确保它们的工件正确交付,然后发送摘要电子邮件。没关系。
现在,我正在尝试解析父项目的 POM.xml 并提取一堆依赖项版本,并将它们包含在电子邮件中格式良好的部分中。
问题:在 Jelly 模板中,我如何读取外部 pom.xml(将其作为行集合/数组、xml dom 对象、大字符串等)并提取我需要的属性/属性。鉴于此,我可以将它们格式化为表格或类似的东西。
我需要创建自己的插件(这对我来说是新的)吗?或者这个功能已经存在了吗?
多谢。
I'm using Jenkins 1.410 and Email-Ext 2.14. My project is a sanity check to verify a number of other builds, ensuring that their artifacts are being delivered properly and then to send out a summary email. That's all fine.
Now I'm trying to parse the parent project's POM.xml and extract a bunch of dependency versions, and include them in a nicely formatted section in the email.
The Question: How, in the Jelly template, can I read the external pom.xml (grab it as a collection/array of lines, xml dom object, big string, whatever) and extract the properties/attributes that I need. Given that, I can format them into a table, or something like that.
Do I need to create my own plugin (that'll be new for me)? Or does this functionality already exist?
Thanks a lot.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此功能已存在于 Email-ext 插件中。您可以使用 xml 标签库从该插件中配置的 Jelly 脚本读取 XML 文件: http://commons.apache.org/proper/commons-jelly/libs/xml/tags.html
下面是如何解析位于 jenkins 作业工作区中的 pom.xml 文件的示例。一旦文件被读取到 {myxmldoc},它就会成为一个 dom4j 文档,可以与标准 XPATH 表达式一起使用来查询或循环所需的属性和元素:
This functionality already exists in Email-ext plugin. You can read XML files from the Jelly script configured in that plugin using xml tag library: http://commons.apache.org/proper/commons-jelly/libs/xml/tags.html
Below is an example how to parse a pom.xml file located in the jenkins job workspace. Once file is read to {myxmldoc} it becomes a dom4j document which can be used with standard XPATH expressions to query or loop through needed attributes and elements:
预备步骤
XML IS:abc.xml
读取上面 XML 的 Jelly 代码
Pre-Steps
XML IS: abc.xml
Jelly Code to read above XML