jenkinsapi python 脚本有效但抛出错误

jenkinsapi python script works but throws error

我有一个使用 Jenkins Rest API 的简单 python 程序。它应该做的就是启动 jenkins 作业 "MyJob"

#! /usr/bin/env python
from jenkinsapi.jenkins import Jenkins

server = Jenkins('http://localhost:8080')
server.build_job("MyJob")

当我 运行 这个脚本时,MyJob 确实 在 Jenkins 服务器上构建,但是脚本抛出这个错误:

Traceback (most recent call last):
  File "./build.py", line 14, in <module>
    build_job1()
  File "./build.py", line 7, in build_job1
    server.build_job("MyBuild")
  File "build/bdist.cygwin-2.0.2-i686/egg/jenkinsapi/jenkins.py", line 165, in build_job
  File "build/bdist.cygwin-2.0.2-i686/egg/jenkinsapi/job.py", line 223, in invoke
ValueError: Not a Queue URL: http://localhost:8080/queue/item/37/

我是不是做错了什么?

Manage Jenkins » Configure System » Jenkins Location » Jenkins URL配置Jenkins URL,这样就和真实地址一样了。

相关问题(但我猜他们不会修复它,这不是真正的错误)- https://issues.jenkins-ci.org/browse/JENKINS-26150

您的脚本 运行 是否与 Jenkins 主机在同一台机器上?如果不是,那么 Localhost 对您的机器 运行 Python 命令与 Jenkins 机器的意义完全不同。