zoukankan      html  css  js  c++  java
  • python--将jenkins配置的任务导出到Excel

    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>[sS]*?</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)          # 单引号乱码替换
                shellstr = re.sub(r'&amp;',"&",shellstr)       # &乱码替换
    ws.write(i + 1, 6, shellstr) except Exception as e: print(e) # 保存excel文件 wb.save('./test.xls') if __name__ == '__main__': export_excel()
  • 相关阅读:
    自制对焦测试卡
    RHEL AS4上配置snmpd遇到问题及解决办法笔记
    一个OID资料集中网站
    mrtg配置小问题
    sybase 优化总结[zt]
    [ZT] solarwinds 2002工程师版本(带注册机)
    推荐四个网盘资源搜索工具
    Hadoop 集群搭建
    分布式文件系统 HDFS 简介
    HDFS Shell 命令实操
  • 原文地址:https://www.cnblogs.com/lutt/p/12207834.html
Copyright © 2011-2022 走看看