【问题标题】:Pass Build inputs from Jenkins to python将构建输入从 Jenkins 传递到 python
【发布时间】:2018-05-29 19:33:08
【问题描述】:

我是 Jenkins 和 Python 的新手。我有带有构建参数的詹金斯测试构建项目。以下是截图供参考。

ScreenShot of build Parameters

我需要将此输入传递给 python 脚本“test.py”

我的执行命令如下:

    /usr/bin/python2.7 /scripts/test.py

test.py 脚本:

  import time
  import os
  input1 = os.getenv("input1")
  input2 = os.getenv("input2")
  Dropdown = os.getenv("Dropdown1")
  Dropdown2 = os.getenv("Dropdown2")
  print input1
  print input2
  print Dropdown
  print Dropdown2

控制台输出:

Building in workspace /root/.jenkins/workspace/Inputs-Test
[Inputs-Test] $ /bin/sh -xe /tools/apache-tomcat-8.5.24/temp/jenkins3261310337115825812.sh
+ /usr/bin/python2.7 /project/test.py
None
None
None
None
Finished: SUCCESS

【问题讨论】:

  • 如下回答评论中所述,我已经修改了 getenv 以匹配您的参数命名

标签: python linux python-2.7 jenkins


【解决方案1】:

由于这些参数是 Jenkins 创建过程的环境的一部分,您始终可以通过以下方式访问它们。

import os
input1 = os.getenv("Input1")
input2 = os.getenv("input2")
Dropdown = os.getenv("Dropdown")
Dropdown2 = os.getenv("dropdown2")

现在在你的 setupClass 或你的测试设置方法中设置它们。

【讨论】:

  • @llhicas 没有结果
  • 例如,在 test.py 命令 echo $Input1 之前尝试以下操作并检查它是否可用,如果它存在,您的问题可能在 python 测试的其他地方并且您没有得到任何结果,因为我意识到你有一些大写的变量和一些小写的变量
  • 编辑了答案,使其具有与屏幕截图中相同的环境变量
猜你喜欢
  • 2022-11-28
  • 2011-09-07
  • 2017-09-26
  • 2015-11-14
  • 1970-01-01
  • 2017-03-30
  • 2021-02-19
  • 1970-01-01
  • 2016-08-21
相关资源
最近更新 更多