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