首页 > 解决方案 > 如何在 JSON 文件中写入所有参数 jenkins

问题描述

我想使用参数将 jenkins 作业管道构建的所有参数写入 JSON 文件${params}!有什么建议么。

标签: jsonjenkins-pipeline

解决方案


https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#writejson-write-json-to-a-file-in-the-workspace

writeJSON Jenkins 步骤可以采用列表或地图。

所以我会做

writeJSON file: 'params.json', json: params, pretty: 4

所有 jenkins 参数都归结为 StringParameter 或 BooleanParameter,甚至是选项(只是带有分隔符的字符串)。

因此,为了确保您有一个列表,您需要制作它。Jenkins 参数映射是不可变的,所以我建议你自己构建。

Map params = [
    'choiceParam': 'a\nb\nc',
    'stringParam': 'value1',
]

Map jsonParams = [:]
jsonParams.stringParam = params.stringParam
jsonParams.choiceParam = (params.choiceParam).split('\n')
print jsonParams​​​​​​​​​​​​​

如果不是静态已知列表,您将需要使用一些循环来动态循环遍历地图中的所有条目。


推荐阅读