python-2.7 - 通过 python 脚本在 Jenkins 中构建作业

标签 python-2.7 jenkins

我想通过 python-jenkins 包在 Jenkins 中触发构建作业。我将下面的代码用于 test_api 作业,但它不起作用。我如何通过脚本构建..

import jenkins
j = jenkins.Jenkins('http://your_url_here', 'username', 'password')
print j.get_jobs()
url=j.build_job_url('test_api', parameters=None, token=None)
print url
last_build_number = j.get_job_info('test_api')['lastCompletedBuild'] ['number']
print "last_build_number",last_build_number
build_info=j.get_build_info('test_api',last_build_number)
if build_info['result']=='SUCCESS':
    print " Build Success "
else:
    print " Build Failed "
    log=j.get_build_console_output('test_api',last_build_number)
    f=open('log_buildFail.txt','w')
    f.write(log)
    f.close()

它在构建后返回构建 url 路径。

最佳答案

我正在使用 build_job 方法来触发作业,它对我有用。

build_job(name, parameters=None, token=None)
    Trigger build job.

    Parameters: 
    name – name of job
    parameters – parameters for job, or None, dict
    token – Jenkins API token

这是我的例子:

#!/usr/bin/python
# coding: utf-8
import jenkins
ci_jenkins_url = "http://my-jenkins-url/"
username = "foo"
token = "fa818f4f90621a4e69de563516098689"
job = "test-job"
j = jenkins.Jenkins(ci_jenkins_url, username=username, password=token)

if __name__ == "__main__":
      j.build_job(job, {'token': token})

您可以从 http://my-jenkins-url/user/foo/configure 获取 token 然后点击 show API Token...
对于 Jenkins Python API 的新手, 请引用Jenkins Python API Link .

关于python-2.7 - 通过 python 脚本在 Jenkins 中构建作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721922/

相关文章:

java - 当我有一个使用 @RunWith 的测试套件时,如何获得更多日志记录反馈?

python - 运行存储在列表中的各个 python import 语句

python - 如何将 csv 文件保存到特定文件夹?

macos - 使用 Slack 启动 Jenkins 构建

android - Jenkins 无法存档调试 apk

jenkins - 无法在 Jenkins 中找到控制台输出解析部分

jenkins - 判断gradle里面是否是jenkins环境

python - PyQt QProgressBar 垂直文本对齐问题

python - Cmake 找不到 PythonLibs

image - 类型错误:无法连接 'str' 和 'pygame.Surface' 对象