python -- 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".*? ", conf)
for match in url:
gitUrl = match.group()
ws.write(i+1, 5, gitUrl.lstrip(' ').rstrip(''))
comm = re.finditer(r"[\s\S]*? ", conf)
for match in comm:
shellComm = match.group()
shellStr = shellComm.lstrip(' ').rstrip('') #
shellstr = re.sub(r'"', '"', shellStr) #
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()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.