gpt4 book ai didi

json - 从 package.json 版本值设置 Jenkins 构建名称

转载 作者:行者123 更新时间:2023-12-04 01:46:51 26 4
gpt4 key购买 nike

我想在 package.json 中包含“version”参数的值作为 Jenkins 构建名称的一部分。

我正在使用 Jenkins Build Name Setter 插件 - https://wiki.jenkins-ci.org/display/JENKINS/Build+Name+Setter+Plugin

到目前为止,我已经尝试在“构建名称宏模板”步骤中使用 PROPFILE 语法:

${PROPFILE,file="./mainline/projectDirectory/package.json",property="\"version\""}

这成功创建了一个构建,但在 package.json 中包含了引号和逗号围绕版本属性的值,例如:

"0.0.1",

我只想返回里面的值,所以它显示

0.0.1

我该怎么做?是否有不同的插件可以更好地解析 package.json 并将其放入模板,或者我应该求助于某种正则表达式来删除我不需要的字符?

更新:

我尝试使用基于阅读 token 宏插件文档的 token 转换,但它不起作用:

${PROPFILE%\"\,#\",file="./mainline/projectDirectory/package.json",property="\"version\""}

仍然只是返回

但是,仅使用一个转义字符且仅使用 # 或 % 之一有效。我尝试过的其他组合均无效。

${PROPFILE%\,,file="./mainline/projectDirectory/package.json",property="\"version\""}

返回 "0.0.1"(逗号已删除)

${PROPFILE#\"%\"\,,file="./mainline/projectDirectory/package.json",property="\"version\""}

返回 "0.0.1",(未删除任何字符)


更新:尝试使用新的 Jenkins Token Macro 插件的 JSON 宏,但没有成功。

Jenkins 构建名称 setter 设置为使用宏更新构建名称:

${JSON,file="./mainline/pathToFiles/package.json",path="version"}-${P4_CHANGELIST}

Jenkins 为这个工作展示构建日志:

10:57:55 Evaluated macro: 'Error processing tokens: Error while parsing action 'Text/ZeroOrMore/FirstOf/Token/DelimitedToken/DelimitedToken_Action3' at input position (line 1, pos 74):
10:57:55 ${JSON,file="./mainline/pathToFiles/package.json",path="version"}-334319
10:57:55 ^
10:57:55
10:57:55 java.io.IOException: Unable to serialize org.jenkinsci.plugins.tokenmacro.impl.JsonFileMacro$ReadJSON@2707de37'

最佳答案

我在 token-macro-2.1 中实现了一个新的宏 JSON,它采用一个文件和一个路径(这是您想要的值的 JSON 中的关键层次结构)。每次宏使用只能使用一个转换。

关于json - 从 package.json 版本值设置 Jenkins 构建名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43056099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com