首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Python中使用Jenkins API进行构建前和构建后步骤?

如何在Python中使用Jenkins API进行构建前和构建后步骤?
EN

Stack Overflow用户
提问于 2015-04-30 05:47:21
回答 1查看 221关注 0票数 3

我正在使用Jenkins Python API,并希望自动执行构建前和构建后的步骤。我如何才能做到这一点?

我可以连接到我的Jenkins服务器并列出所有构建和插件,但是如何使用Python Jenkins API自动执行构建前和构建后的步骤?

EN

回答 1

Stack Overflow用户

发布于 2020-01-22 11:57:22

你说过你想要'automate the pre and post build step‘

我假设你的意思是你想要自动添加构建前和构建后的步骤到现有的作业中?

为此,我通常需要查看作业的config.xml,它位于以下网址:http://:8080/job//config.xml

然后,我找出需要插入前/后构建步骤的位置,相应地将其拆分,并上传新的作业配置。

例如,下面的示例将插入并“执行Shell”构建步骤(作为第一个构建步骤!)打印“hello”。

代码语言:javascript
运行
AI代码解释
复制
import requests


from jenkinsapi.jenkins import Jenkins
from jenkinsapi.utils.requester import Requester


USERNAME, PASSWORD = '<USERNAME>', '<PASSWORD>'
JK = 'http://<IP of jenkins instance>:8080'


def jenkins_instance(jenkins):

    requests.packages.urllib3.disable_warnings()
    return Jenkins(jenkins, requester=Requester(USERNAME, PASSWORD, baseurl=jenkins, ssl_verify=False, timeout=20))


def _get_config_given_job(server, job_name):

    config = server.get_job(job_name).get_config().encode('utf-8')
    return config


def _upload_new_job_config(job_name, config):

    url = '{0}/job/{1}/config.xml'.format(JK, job_name)
    r = requests.post(url, data=config, auth=(USERNAME, PASSWORD))
    if str(r.status_code).startswith('2'):
        print 'Successfully updated config for:' + job_name


def main():

    job_name = '<YOUR JOB NAME>'
    server = jenkins_instance(JK)
    config = _get_config_given_job(server, job_name)
    shell_build_step = '<hudson.tasks.Shell><command>echo hello</command></hudson.tasks.Shell>'
    new_config = '{0}{1}{2}{3}'.format(
        config.split('<builders>')[0],
        '<builders>',
        shell_build_step,
        config.split('<builders>')[1]
    )
    _upload_new_job_config(job_name, new_config)


if __name__ == '__main__':
    main()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29959940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档