python--将jenkins配置的任务导出到Excel
Posted 小陆同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘"‘, ‘"‘, shellStr) # 双引号乱码替换 shellstr = re.sub(r‘'‘,"‘",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的主要内容,如果未能解决你的问题,请参考以下文章