I encounter a problem like this:
As you know, we config html format email in Jenkins.
I need to insert several images in the HTML.But I am sure about how many images there will be, as it is determined by the actual situation.
So , i write a For Loop using JavaScript in the html to create <img src=""></img> dynamically. But Outlook cannot execute JavaScript.
I think if i can convert the html with JavaScript to actual HTML, it will work.
So, I think out write python code to generate the HTML and save it to the Jenkins WorkSpace.
Divide the original HTML to 2 parts. The second part will only contain the images and generated by python.
fp = open("report.html","w+b") #打开一个文本文件
for i in range(1,imgCount+1):
fp.write('<img src="report'+str(i)+'.png"></img>') #写入数据
fp.close() #关闭文件
Above code will be added under the original python script which is used to take screenshots and divide one image to several images, of course the original python code also need to change, as the image count was hard coded before.
imgCount = h/2000+1
size=h/imgCount
left = 0
shang = 0
index = 0
for i in range(imgCount):
i=i+1
shang += 1
a = size * left
b = size *(i-1)
c = w
d = size * i
region = im.crop((a, b, c, d))
region.save("report%s.png" %i)
And then, append ${FILE,path="report.html"} in the end of Default Content under Editable Email Notification in Jenkins.
Don't forget to change the Attachments to use Regular Expression : Report*.png
At Last, delete below content in Default Content under Editable Email Notification in Jenkins.
<tr>
<td align="center"><img src="result1.png" /><img src="result2.png" /><img src="result3.png" /><img src="result4.png" /><img src="result5.png" />
<hr size="1" width="100%" align="center" /></td>
</tr>
原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/14736035.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。