python數據統計之禪道bug統計
背景
通過定期輸出 每條產品的 BUG 情況,以此來回饋開發解決問題、測試跟進問題的情況;釘釘群推送提醒開發及時解決
以此我這邊開始著手準備編寫一個小工具,最終達到目的:自動定期發送統計報告,報告維度(數據 + html展示)。
技術選型
python + markdown + pymysql + html + jenkins + 釘釘機器人
實現思路
python主要用到sshtunnel,pysql庫跳板機連接mysql資料庫,loguru庫日誌記錄,yaml記錄項目參數,request調取釘釘介面
- 讀取禪道資料庫數據及狀態,封裝sql類,把各維度統計數據通過dic格式返回
- 禪道bug匯總數據進行進行拼接,生成模板寫入markdown文件。(釘釘會支援簡單markdown格式,表格等等不支援)
- 禪道bug明細數據,生成html頁面(沒找到合適的三方庫只能手動擼)
- 調取釘釘自定義介面,進行數據請求。
- jenkins實現定期推送+html頁面展示
主要程式碼
1、禪道sql封裝
ps.公司服務國外的所以時區+8H
2、釘釘介面推送
3、bug明細轉html文件
另外功能基類以及調用發送程式碼比較簡單就不展示了。
業務統計
按周統計(月份統計同理):
新增,新增日期為本周內的(包括本周內被解決或關閉的 BUG)
已解決,解決日期為本周內的。被開發設定為已解決的。其中可能有部分是上周遺留下來的,體現了開發在本周的變化情況(包括設計如此、重複 BUG、外部原因、無法重現、不予解決、轉為需求),不包含延期處理
已關閉,關閉日期為本周內的。是測試驗證過,確實已經解決的,包括其中有的是上周遺留下來的
未解決,當前顯示 BUG 狀態為未解決的。包含當前還沒被解決的、之前遺留的未解決、以及 reopen 的 BUG(累計數據)
延期解決,當前顯示 BUG 狀態為 延期處理的。BUG 狀態中新增一個延期解決 (累計數據)
應用截圖
釘釘通知
明細數據展示