Python實現統計報告自動化並實現持續集成,極大提高工作效率

是什麼

統計報告是我做的一個自動統計缺陷並生成Excel的自動化程序,並且把這個自動化接入到持續集成,創建流水線,把耗時耗力的統計工作,只需要點擊幾個按鈕,一分鐘搞定

爲什麼

至於爲什想要做,是因爲統計缺陷數量的工作佔用太多時間,如果借用缺陷管理工具的API,實現自動統計,則可以大大節省時間,提高效率,實現完自動統計之後,接入持續集成,這樣可以解放自身勞動,任何想要看報告的人,都可以直接在持續集成環境中點擊幾個按鈕,等一分鐘左右,生成Excel報告

怎麼樣

我們的缺陷管理平臺是TAPD,於是基於TAPD開放的接口,實現的自動統計
,每個人可以基於自身公司使用的缺陷管理平臺的API去實現,個人覺得TAPD的接口設計不是很合理,調用不方便,文檔也不全不詳細等,且API不穩定,經常沒有改任何代碼的情況下,突然報錯,過一會又好了,但是,畢竟在用別人的產品,就只能接受別人的限制,不穩定只能儘量的捕獲異常,但是在穩定的情況下,還是能很好的幫助提高統計效率

使用的編程語言是Python,以前一直用Java,儘管也學了Python,但是沒有運用,在實現這個自動統計的時候,也算是小小的實踐了,對Python的瞭解進一步增強

使用的Excel庫是openpyxl,使用的集成工具是藍盾,也可以用行業內通用的jenkins(這個還沒看怎麼部署,有空研究下),使用的請求框架是requests

怎麼做

下面貼一些簡單的步驟代碼,記錄下實現過程

總共三步:
1.先獲取所有符合條件的數據
2.再按照表格需求,處理數據(傳入不同的參數,獲取不同的數據)
3.把數據寫入Excel並保存到指定目錄

Excel的需求是縱列顯示缺陷處理人,橫列顯示缺陷狀態,不同的狀態下細分每種狀態的滯留時間以及縱列顯示模塊,橫列顯示狀態,狀態下不需要再細分

調用獲取所有bug的接口,獲取所有數據
在這裏插入圖片描述
傳入bug_row_name是用於區分是處理人表還是模塊表
all_datas是調用接口返回的所有的數據,這些就是需要處理的數據,get_bug_data()函數是判斷是處理人還是模塊,按照bug_row_name傳的值去區分是處理人還是模塊,module爲模塊,owner是處理人

在這裏插入圖片描述
isOwner是自己封裝的一個判斷是否處理人的函數
在這裏插入圖片描述
如果是處理人,則返回處理人名字集合,處理人集合是通過get_bug_owner_list函數,傳入all_datas處理之後獲取的
在這裏插入圖片描述
如果是模塊,則返回模塊名的集合,模塊通過get_bug_module_list傳輸all_datas處理之後獲取的
在這裏插入圖片描述
接下來,再調用獲取bug數量的接口,按照處理人名和缺陷的狀態去查詢每個處理人名下有多少個不同狀態的缺陷
在這裏插入圖片描述
參數中create_time表示創建時間,因爲需求中有不同狀態需要按照滯留時間細分,所以需要傳入缺陷的創建時間,與當前統計的時間做一個減法,算出滯留時間,當create_time等於0的時候,不傳入create_time參數,表示獲取所有時間段的數據,傳入指定格式的時間,則獲取時間段內的,把數據存放在owner_num_list

模塊表中不需要按照時間段劃分,所以,不需要create_time參數,其他同理,數據存放在module_num_list
在這裏插入圖片描述

計算時間的方法,可以看到create_time的賦值
在這裏插入圖片描述
處理人名,處理人狀態數據,模塊名,模塊數據都有了,接下來第三步,寫入Excel,根據不同的sheet名寫入到不同的sheet中

在這裏插入圖片描述
寫入處理人數據

在這裏插入圖片描述
在這裏插入圖片描述
模塊同理

在這裏插入圖片描述

在這裏插入圖片描述
設置Excel樣式
在這裏插入圖片描述
樣式不僅僅這些,還有更多

main函數調用

在這裏插入圖片描述
整體是個面向過程的思路

附上全局信息
在這裏插入圖片描述

以上自動化就實現了,生成的文件名按照運行程序的時間生成,默認在當前的工作目錄下

最後生成的表格如下,添加了超鏈接和藍色,和一些重要數據標紅
在這裏插入圖片描述
最後接入持續集成工具

在這裏插入圖片描述
不同的集成工具,節點插件名稱可能會有所不同,不過應該都是大同小異
總結集成步驟爲:

1.配置手動觸發或定時觸發
2.選擇構建機:linux,win,mac均可,只要有python環境
3.代碼庫配置關聯代碼庫
4.配置一個拉取git代碼的插件節點
5.配置一個Bash插件節點:執行對應的Python腳本 需要提前安裝Python的依賴,json之類的。pip install json/python等
6.配置一個歸檔插件:把生成的excel文件歸檔

以上學習,共享

發佈了102 篇原創文章 · 獲贊 60 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章