从 Python 脚本返回值到 Jenkins 变量

use*_*399 3 python jenkins

  1. 我有一个 Jenkins 作业,它通过 shell 执行 Python 脚本 (checkoutDevice.py)。
  2. 在 checkoutDevice 脚本中,它连接到库存服务器并检查可用单元,单元的 MAC 地址可用于返回给 Jenkins 作业
  3. 我想将单元的 MAC 地址从 Python 脚本返回给 Jenkins 作业,以便 Jenkins 作业可以将该 MAC 地址传递给另一个 Python 脚本。

一种。我如何将单元的 MAC 地址存储到 Jenkins 的环境变量,以便我可以将它传递给同一个作业中的另一个 Python 脚本?

湾 我正在寻找的另一个解决方案是在执行 checkoutDevice 脚本期间将 MAC 地址写入文本文件,然后 Jenkins 将从文本文件中读取该 MAC 地址以存储到变量中,然后传递给另一个 Python 脚本?

小智 7

假设您使用的是最新版本的 Jenkins,一个巧妙的技巧是使用 Stdout 来填充 Jenkinsfile 的 groovy 变量。假设您的 python 脚本不是太健谈,这意味着它只将您想要从 python 脚本中获取的值打印到 stdOut,您可以执行以下操作:

mac = sh(script: 'python checkoutDevice.py',returnStdout: true).trim()
Run Code Online (Sandbox Code Playgroud)