Python 詹金斯建立回报';无';地位

Python 詹金斯建立回报';无';地位,python,python-2.7,jenkins,Python,Python 2.7,Jenkins,我试图使用python的jenkinsapi来自动化一些构建。看起来一切正常,构建成功。但是,当我通过脚本检查状态以确保构建成功时,我得到的是None值,而不是预期的“success”。如果我打开一个新的python shell并查询同一版本的状态,我会得到“SUCCESS”值。 我的代码是: from jenkinsapi.jenkins import Jenkins from time import sleep jk = Jenkins(jenkins_url,user,password)

我试图使用python的
jenkinsapi
来自动化一些构建。看起来一切正常,构建成功。但是,当我通过脚本检查状态以确保构建成功时,我得到的是
None
值,而不是预期的“success”。如果我打开一个新的python shell并查询同一版本的状态,我会得到“SUCCESS”值。
我的代码是:

from jenkinsapi.jenkins import Jenkins
from time import sleep

jk = Jenkins(jenkins_url,user,password)
my_job = jk['my_job']
params = {'param_1': 'value_1', 'param_2': 'value_2',...}
build_num = my_job.get_next_build_number()
print(build_num)    # will print the right number, for example 174
my_job.invoke(build_params=params)
sleep(10)
build = my_job.get_build(build_num)
while build.is_running():
    sleep(3)
sleep(10)
print(build.get_status())   # will print 'None'
if build.get_status() != 'SUCCESS':
    sys.exit('Jenkins build failed')
如您所见,我添加了一些“睡眠”以确保这不是延迟问题(也尝试了更长的时间)。我也尝试过使用
build.block\u until\u complete()
方法,但它似乎没有任何作用

尽管构建成功,您知道我为什么会获得此身份吗?
谢谢

看起来像是脱机对象的getter,不会自动使生成对象与服务器保持同步,并且调用
正在运行()
仅同步作业属性的一个子集。因此,您必须使用
build=my\u job.get\u build(build\u num)
刷新/获取新的构建对象,或者强制轮询现有的构建对象
build.poll()
,然后使用
build.get\u status()==jenkinsapi.constants.status\u SUCCESS
验证状态