集成 Jira 与钉钉和企业微信通知
如果覺得這篇文章不錯,請記得點贊、收藏和分享,也歡迎加我個人微信交流:craigyoung1985,請備注:姓名/城市/工作崗位。
每每看到別人家公司將聊天機器人與項目管理有效結合的實踐,我都甚是羨慕。自己只使用過釘釘自帶的 Jira 機器人,也曾嘗試使用 Script Runner 插件寫點 Groovy 腳本,來實現項目管理過程中的任務提醒功能,但是由于技術水平有限,所以一直沒有產生什么結果。
正好前兩天在摸索 Automation for jira 插件時,竟然跑通了一個關鍵流程:通過釘釘自定義機器人將 Jira 更新的消息成功推送到了釘釘群,心里甚是欣喜。我周末花了一天多時間,仔細研究了下,最終完成了”如何將每天定點獲取的逾期任務自動推送到釘釘和企業微信兩個群“的 Demo,下面是具體的實踐步驟,希望對大家有所幫助。
一、新建自動化規則
我們首先找到需要配置任務逾期提醒的 Jira 項目,到項目配置的 Project automation 中,選擇 Project rules 創建新規則:
選擇規則的觸發器為計劃(Scheduled),按指定計劃執行規則,比如:每天將 JQL 查詢結果自動推送消息。
使用 Cron 表達式,輸入:0 30 9 * * ? ,表示:每天早晨 9:30 準時執行計劃。在 JQL 輸入如下語句,表示:查詢未解決的逾期用戶故事。點擊保存,即可完成計劃的設定。
issuetype = Story AND resolution = Unresolved AND duedate < startOfDay()二、配置自定義機器人
添加組件:在 New action 中選擇發送網絡請求,我們將創建兩個網絡請求,分別對應企業微信和釘釘群機器人,用來將定時計劃的消息推動到群里。
添加企業微信群機器人,獲取到網絡鉤子 URL,將其輸入到 Webhook URL 中。選擇網絡鉤子主體為自定義數據(Custom data),按照企業微信群機器人配置規范進行配置,我們使用 markdown 類型消息體(參考代碼如下),點擊保存,繼續添加釘釘機器人網絡請求:
{"msgtype": "markdown","markdown":{"content": " 【小蜜提醒】\n截至當前,共<font size=\"4\" color=\"#dd0000\">{{issues.size}}</font>個任務已逾期,請相關同學及時處理!\n{{#issues}}>問題編號:[{{key}}]({{url}})\n>問題類型:{{issueType.name}}\n>問題概述:{{summary}}\n>到期日:<font color=\"#dd0000\">{{duedate}}</font>\n>處理人:{{assignee.displayName}}\n>-----------------------------------------------\n{{/}}"} }添加釘釘群機器人,選擇自定義機器人(而非自帶的 Jira 機器人),在安全設置-自定義關鍵字中輸入【小蜜提醒】,獲取到網絡鉤子 URL,將其輸入到 Webhook URL 中。選擇網絡鉤子主體為自定義數據(Custom data),按照釘釘群機器人配置規范進行配置,我們使用 markdown 類型消息體(參考代碼如下),點擊保存,給自動化規則命名后打開,此時自動化狀態為可用的(ENABLED)。
{"msgtype": "markdown","markdown":{ "title":"【逾期提醒】", "text":"【小蜜提醒】\n截至當前,共<font size=\"4\" color=\"#dd0000\">{{issues.size}}</font>個任務已逾期,請相關同學及時處理!\n{{#issues}}>問題編號:[{{key}}]({{url}})\n>問題類型:{{issueType.name}}\n>問題概述:{{summary}}\n>到期日:<font color=\"#dd0000\">{{duedate}}</font>\n>處理人:{{assignee.displayName}}\n>-----------------------------------------------\n{{/}}"} }三、測試自動化規則
對上述自動化規則進行測試,即使配置了每天早晨 9:30 自動執行,但是我們仍可以通過手工執行規則進行測試。
點擊右上角”運行規則“,查看已配置自定義機器人的兩個群消息是否完全符合預期。如果接收不到消息或消息內容有缺失,那么需要仔細檢查網絡鉤子 markdown 格式內容。
注意:如果你在群里接收到的消息分成了 2 條,那么需要在"When: Scheduled"的更多選項中勾選:批量處理該觸發器產生的所有 Issues。
四、寫在最后
關于如何高效寫出網絡鉤子主體的自定義語句,Jira 官網有關于"smart values"非常詳盡的說明文檔。同時,官網還提供了在線Automation沙箱環境,里面有非常多案例供學習和參考(本文相關材料鏈接,如果找不到,可以單獨跟我溝通)。
最后,歡迎加我個人微信交流 craigyoung1985,一起學習和交流。請備注:姓名/城市/工作崗位,我可以拉到Jira和Confluence中國社區群。
總結
以上是生活随笔為你收集整理的集成 Jira 与钉钉和企业微信通知的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 16.04 LTS + C
- 下一篇: 深度学习新手入门课