最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 統(tǒng)計(jì)Jira的bug 并發(fā)送郵件功能

 更新時(shí)間:2022年01月14日 16:23:02   作者:yappleorange  
這篇文章主要介紹了Python 統(tǒng)計(jì)Jira的bug 并發(fā)送郵件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.首先在pycharm上使用pip安裝

 pip install html-table
 pip install jira 

2.初始化發(fā)件人郵箱,賬號(hào),密碼

# 發(fā)件人郵箱賬號(hào)
my_sender = 'username@xxx.com.cn'
# user登錄郵箱的用戶名,password登錄郵箱的密碼(授權(quán)碼,即客戶端密碼,非網(wǎng)頁(yè)版登錄密碼),但用騰訊郵箱的登錄密碼也能登錄成功
my_pass = 'xxxxx'
# 收件人郵箱賬號(hào)
my_users=['username@xxx.com.cn']

3.登錄Jira

class JiraTool:
#初始化
    def __init__(self):
        self.server = 'http://ip:5500' //連接Jira的Ip地址
        self.basic_auth = ('username', 'password') //連接Jira的賬戶和密碼
        self.jiraClinet = None

4.登錄Jira

def login(self):
    self.jiraClinet = JIRA(server=self.server, basic_auth=self.basic_auth)
    if self.jiraClinet != None:
        print("登錄成功!")
        return True
    else:
        return False

5.獲取Jira問題列表

def get_issue_list_by_jql(self, jql):
    issue_list = []
    issue_key_list = self.jiraClinet.search_issues(jql_str=jql,startAt=0,maxResults=1000) //Jira默認(rèn)統(tǒng)計(jì)50條,maxResults設(shè)置大小
    for key_list in issue_key_list:
        issue = self.jiraClinet.issue(key_list.key)
        issue_list.append(issue)
        # print(issue.key) #關(guān)鍵字
        # print(issue.fields.summary) #bug描述
        # print(issue.fields.status) bug狀態(tài)
        # print(issue.fields.assignee) #經(jīng)辦人
        # print(issue.fields.components[0].name) #模塊 
        # print(issue.fields.priority) #優(yōu)先級(jí)
    return issue_list

6.創(chuàng)建一個(gè)表格

def gen_new_bug_caption_str(issue_list):
    dict = {}
    for issue in issue_list:
        dict[issue.fields.status.name] = dict.get(issue.fields.status.name, 0) + 1
        #dict[issue.key.split('-')[0]] = dict.get(issue.key.split('-')[0],0) + 1
    caption_str = '近一周共計(jì)新增bug' + str(len(issue_list)) + '個(gè)。 已關(guān)閉:' + str(dict.get('已關(guān)閉')) + '個(gè)。 已解決待關(guān)閉:' + str(dict.get('已解決')) + '個(gè)。 待處理:' +str(dict.get('待處理')) + '個(gè)'
    #print(caption_str)
    return caption_str

7.生成html

 #標(biāo)題樣式
    # table.caption.set_style({'font-size':'15px','align':'left'})
    table.caption.set_style({'font-size':'15px'})
    # 表格樣式,即<table>標(biāo)簽樣式
    table.set_style({
        'border-collapse':'collapse',
        'word-break':'keep-all',
        'white-space':'nowrap',
        'font-size':'14px'
    })
  
    #設(shè)置每個(gè)單元格的樣式,主要是規(guī)定邊框樣式:
    table.set_cell_style({
        'border-color':'#000',
        'border-width':'1px',
        'border-style':'solid',
        'padding':'5px',
    })
    #設(shè)置表頭單元格樣式,規(guī)定顏色,字體大小,以及填充大?。?
    #表頭樣式
    table.set_header_row_style({
        'color':'#fff',
        'background-color':'#696969',
        'font-size':'18px',
    })
    #覆蓋表單單元格字體樣式
    table.set_header_cell_style({
        'padding':'15px',
    })
    #遍歷數(shù)據(jù)行,根據(jù)不同狀態(tài)設(shè)置背景顏色
    for row in table.iter_data_rows():
        if row[1].value in "待處理":
            row[1].set_style({
                'background-color': '#FFB6C1',
            })
        if row[1].value in "已解決":
            row[1].set_style({
                'background-color': '#E1FFFF',
            })
        if row[1].value in "已關(guān)閉":
            row[1].set_style({
                'background-color': '#90EE99',
            })
        if row[1].value in "重新打開":
            row[1].set_style({
                'background-color': '#DC143C',
            })
        if row[1].value in "開發(fā)中":
            row[1].set_style({
                'background-color': '#f7d7a7',
            })
    #生成HTML文本:
    html = table.to_html()
    # print(html)
    return html

8.發(fā)送郵件

def sendmail(html):
    ret=True
    try:
        # 郵件內(nèi)容
        msg=MIMEText(html,'html','utf-8')
        # 括號(hào)里的對(duì)應(yīng)發(fā)件人郵箱昵稱、發(fā)件人郵箱賬號(hào)
        msg['From']=formataddr(["張三",my_sender])
        # 括號(hào)里的對(duì)應(yīng)收件人郵箱昵稱、收件人郵箱賬號(hào)
        #msg['To']=formataddr(["李四",my_user])
        # 郵件的主題
        msg['Subject']="bug情況統(tǒng)計(jì)"
        server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)
        # 登錄服務(wù)器,括號(hào)中對(duì)應(yīng)的是發(fā)件人郵箱賬號(hào)、郵箱密碼
        server.login(my_sender, my_pass)
        # 發(fā)送郵件,括號(hào)中對(duì)應(yīng)的是發(fā)件人郵箱賬號(hào)、收件人郵箱賬號(hào)、發(fā)送郵件
        server.sendmail(my_sender, my_users, msg.as_string())
        # 關(guān)閉連接
        server.quit()
        # 如果 try 中的語(yǔ)句沒有執(zhí)行,則會(huì)執(zhí)行下面的 ret=False
    except Exception:
        ret=False
    return ret

9.調(diào)試

new_bug_jql = "project in (AAA, BBB, CCC)  AND issuetype in (Bug, 缺陷) AND created >= -1w ORDER BY component ASC, assignee ASC, priority DESC, updated DESC"
old_bug_jql = "project in (AAA, BBB, CCC)  AND issuetype in (Bug, 缺陷) AND status in (待處理, 開發(fā)中, Reopened) AND created <= -1w ORDER BY component ASC, assignee ASC, priority DESC, updated DESC"
jiraTool = JiraTool()
jiraTool.login()
new_issue_list = jiraTool.get_issue_list_by_jql(new_bug_jql)
new_bug_caption_str = gen_new_bug_caption_str(new_issue_list)
new_bug_html = gen_html_table(new_issue_list,new_bug_caption_str)
# print(new_bug_html)
old_issue_list = jiraTool.get_issue_list_by_jql(old_bug_jql)
old_bug_html = gen_html_table(old_issue_list, "超過一周未關(guān)閉bug")
eamil_html = (new_bug_html + "<br/><br/><br/>" + old_bug_html).replace("&gt;", ">").replace("&quot;", "\"").replace("&lt;", "<")
# print(eamil_html)
ret=sendmail(eamil_html)
if ret:
    print("郵件發(fā)送成功")
else:
    print("郵件發(fā)送失敗")

到此這篇關(guān)于Python 統(tǒng)計(jì)Jira的bug 并發(fā)送郵件的文章就介紹到這了,更多相關(guān)Python 統(tǒng)計(jì)Jira的bug 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?四舍五入到最接近的十位(最新推薦)

    Python?四舍五入到最接近的十位(最新推薦)

    Python具有三個(gè)內(nèi)置函數(shù)round()、floor()和ceil(),可用于對(duì)數(shù)字進(jìn)行舍入,本篇文章將討論使用Python的ceil()函數(shù)將數(shù)字四舍五入到最接近的十,感興趣的朋友跟隨小編一起看看吧
    2022-04-04
  • Python/Django后端使用PIL Image生成頭像縮略圖

    Python/Django后端使用PIL Image生成頭像縮略圖

    這篇文章主要為大家詳細(xì)介紹了Python/Django后端使用PIL Image生成頭像縮略圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python增強(qiáng)賦值和共享引用注意事項(xiàng)小結(jié)

    Python增強(qiáng)賦值和共享引用注意事項(xiàng)小結(jié)

    這篇文章主要給大家介紹了關(guān)于Python增強(qiáng)賦值和共享引用注意事項(xiàng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python中str.join()簡(jiǎn)單用法示例

    Python中str.join()簡(jiǎn)單用法示例

    這篇文章主要介紹了Python中str.join()簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了Python中str.join()用于連接生成新字符串的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • django中日志模塊logging的配置和使用方式

    django中日志模塊logging的配置和使用方式

    文章主要介紹了如何在Django項(xiàng)目的`settings.py`文件中配置日志記錄,并使用日志模塊記錄不同級(jí)別的日志,日志級(jí)別包括DEBUG、INFO、WARNING、ERROR和CRITICAL,級(jí)別越高,記錄的日志越詳細(xì),通過配置和使用日志記錄器,可以更好地排查和監(jiān)控系統(tǒng)問題
    2025-01-01
  • Python3+RIDE+RobotFramework自動(dòng)化測(cè)試框架搭建過程詳解

    Python3+RIDE+RobotFramework自動(dòng)化測(cè)試框架搭建過程詳解

    這篇文章主要介紹了Python3+RIDE+RobotFramework自動(dòng)化測(cè)試框架搭建過程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • python在Windows8下獲取本機(jī)ip地址的方法

    python在Windows8下獲取本機(jī)ip地址的方法

    這篇文章主要介紹了python在Windows8下獲取本機(jī)ip地址的方法,涉及Python中socket包相關(guān)函數(shù)的使用技巧,需要的朋友可以參考下
    2015-03-03
  • PyTorch手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行多分類

    PyTorch手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行多分類

    這篇文章主要介紹了PyTorch手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行多分類,損失函數(shù)采用交叉熵,激活函數(shù)采用ReLU,優(yōu)化器采用帶有動(dòng)量的mini-batchSGD算法,需要的朋友可以參考一下
    2022-03-03
  • Python實(shí)現(xiàn)數(shù)值交換的四種方式

    Python實(shí)現(xiàn)數(shù)值交換的四種方式

    本文介紹了Python中四種實(shí)現(xiàn)數(shù)值交換的方法,包括使用臨時(shí)變量、元組解包、列表和異或運(yùn)算,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-01-01
  • python如何往列表頭部和尾部添加元素

    python如何往列表頭部和尾部添加元素

    這篇文章主要介紹了python如何往列表頭部和尾部添加元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評(píng)論

桂平市| 正蓝旗| 泗阳县| 区。| 彰化县| 宝丰县| 赤水市| 乌兰浩特市| 塔城市| 定陶县| 雷州市| 定结县| 格尔木市| 长宁县| 肃北| 屯留县| 金堂县| 阿尔山市| 焦作市| 泊头市| 博野县| 江华| 从江县| 高唐县| 将乐县| 延边| 宝应县| 西丰县| 临高县| 赣榆县| 崇明县| 石阡县| 仁怀市| 富源县| 六枝特区| 墨江| 南华县| 阳西县| 同德县| 福州市| 平远县|