【问题标题】:How to get all jenkins variables如何获取所有詹金斯变量
【发布时间】:2014-11-23 22:30:08
【问题描述】:

我想编写一个 python 脚本来获取“jenkins”变量列表并显示它们。 我写了这个,但是它返回了所有的环境变量而不是 jenkins 变量。

import os
print os.environ

如何在 python 脚本中获取它们?

【问题讨论】:

    标签: python jenkins environment-variables


    【解决方案1】:

    Jenkins 变量环境变量。没有任何东西可以将它们分开。

    您可以使用EnvInject 插件来清除所有继承的操作系统环境变量的 Jenkins 环境,这样您就剩下“只有 Jenkins 环境变量”,但要小心,因为这可能会破坏您的工具,因为没有路径将被设置。

    如果您只想查看构建参数,您可以为每个作业使用 Jenkins API,或解析作业的 XML 文件

    【讨论】:

    • 如何使用 python 脚本解析作业的 xml 文件?
    【解决方案2】:

    有一组特定的内置变量,基础 Jenkins 安装添加到每个执行步骤;这是来自参考的列表: https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-below

    正如 Slav 所说,这些就像任何其他环境变量一样,如果您想访问一个,您只需按名称询问它,例如,对于 $WORKSPACE,您可以使用 os.environ['WORKSPACE']

    您可以在列表 ['WORKSPACE', ...] 中枚举上述 url 中的变量并以这种方式打印它们...

    【讨论】:

    • 这很好,但我认为 jenkins 的变量比他们在那个链接中列出的要多!
    • 确实如此。要获得完整列表,请按照我的建议进行操作:获取 EnvInject,配置构建以清除继承的系统环境变量,然后在任一命令提示符中查看带有“set”命令的所有内容
    • 嗯,我安装了它,但是我需要通过在脚本中使用命令来远程使用这个插件。你能帮帮我吗?
    • 嗯,我安装了它,但是我需要通过在脚本中使用命令来远程使用这个插件。你能帮助我吗?我的意思是我想运行我的脚本并使用它来创建工作(我以前做过),用户可以设置有价值的东西。我如何在我的脚本中使用这个插件?
    • “远程使用这个插件”是什么意思?您的意思是在外部调用 Jenkins,还是在从属设备上运行 jenkins 作业时?
    猜你喜欢
    • 2022-08-03
    • 2013-11-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多