码迷,mamicode.com
首页 > 编程语言 > 详细

python--将jenkins配置的任务导出到Excel

时间:2020-01-18 01:18:40      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:add   拉取   from   com   list   __name__   ==   class   write   

jenkins任务全部导出到Excel,完整代码

from jenkins import Jenkins
import xlwt,re

jen = Jenkins(url="jenkins路由地址", username="用户名", password="密码")
all_jobs = jen.get_all_jobs()

def export_excel():
    wb = xlwt.Workbook(encoding=utf-8)
    ws = wb.add_sheet(test)
    style = xlwt.XFStyle()
    # 设置字体
    font = xlwt.Font()
    style.font = font
    # 单元格对齐
    alignment = xlwt.Alignment()
    # 水平对齐方式和垂直对齐方式
    alignment.horz = xlwt.Alignment.HORZ_CENTER
    alignment.vert = xlwt.Alignment.VERT_CENTER
    # 自动换行
    alignment.wrap = 1
    style.alignment = alignment
    ws.write(0, 0, _class)
    ws.write(0, 1, name)
    ws.write(0, 2, url)
    ws.write(0, 3, color)
    ws.write(0, 4, fullname)
    ws.write(0, 5, gitUrl)
    ws.write(0, 6, shell)
    try:
        for i in range(len(all_jobs)):
            ws.write(i+1,0,all_jobs[i].get(_class))
            ws.write(i+1,1,all_jobs[i].get(name))
            ws.write(i+1,2,all_jobs[i].get(url))
            ws.write(i+1,3,all_jobs[i].get(color))
            ws.write(i+1,4,all_jobs[i].get(fullname))
            print(all_jobs[i].get(name))
            name_list = [compile,               # name_list是我拉取到所有应用里请求git地址和shell脚本时报错的应用名knowledge,
                         database,
                         docker-images,python-runtime-build]
            if all_jobs[i].get(name) in name_list:
                pass
            else:
                conf = jen.get_job_config(name=all_jobs[i].get(name))
                url = re.finditer(r"<url>.*?</url>", conf)
                for match in url:
                    gitUrl = match.group()
                    ws.write(i+1, 5, gitUrl.lstrip(<url>).rstrip(</url>))
                comm = re.finditer(r"<command>[\s\S]*?</command>", conf)
                for match in comm:
                    shellComm = match.group()
                    shellStr = shellComm.lstrip(<command>).rstrip(</command>)   # 去除标签
                    shellstr = re.sub(r&quot;, ", shellStr)        # 双引号乱码替换
                    shellstr = re.sub(r&apos;,"",shellstr)          # 单引号乱码替换
                    ws.write(i + 1, 6, shellstr)

    except Exception as e:
        print(e)
    # 保存excel文件
    wb.save(./test.xls)

if __name__ == __main__:
    export_excel()

python--将jenkins配置的任务导出到Excel

标签:add   拉取   from   com   list   __name__   ==   class   write   

原文地址:https://www.cnblogs.com/lutt/p/12207834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!