日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android gradle自定义钉钉群提醒

發布時間:2024/9/30 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android gradle自定义钉钉群提醒 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/122970426
本文出自【趙彥軍的博客】

今天接到一個需求,寫一個 gradle 小插件,在執行完某個 gradle 任務后,向釘釘群聊機器人發送一條消息,并自動 @所有人。

首先在釘釘群中創建智能機器人,并獲取到 Webhook 鏈接

有了 Webhook 鏈接就可以給機器人發消息了。下面我們來自定義 gradle 工具。

在項目的跟目錄創建 dingding.gradle


dingding.gradle 代碼如下:

import groovy.json.JsonBuilder import groovy.json.JsonOutputdef dingDingUrl = "https://oapi.dingtalk.com/robot/send?access_token=14xxxxx"ext.postDingMsg = { String artifactId, String version, String userName, String tips ->String allTips = "#### 新版本發布提醒(${artifactId})\n" +'> 項目:' + userName + '發布了最新版本:' + version + '\n\n' +'> 更新說明:' + tips + '\n\n'//@所有人postAll(dingDingUrl, allTips) }//發送到群,@所有人 def postAll(url, tips) {JsonBuilder builder = new JsonBuilder()builder {msgtype 'markdown'markdown {title '二方庫發布提醒'text tips}at {isAtAll true}}String data = JsonOutput.prettyPrint(builder.toString())postDingDing(url, data) }//調用接口,發送消息 def postDingDing(urlString, msg) {if (msg == null) {return}HttpURLConnection conn = nullOutputStream outputStream = nulltry {if (conn == null) {URL url = new URL(urlString)conn = (HttpURLConnection) url.openConnection()}if (conn != null) {conn.setReadTimeout(15000)conn.setConnectTimeout(15000)conn.setDoOutput(true)conn.setUseCaches(false)conn.setRequestProperty("Content-Type", "application/json; charset=utf-8")}if (conn == null) {return null}if (msg != null && msg.length() > 0) {DataOutputStream dataOutputStream = new DataOutputStream(conn.getOutputStream())byte[] t = msg.getBytes("utf-8")dataOutputStream.write(t)dataOutputStream.flush()dataOutputStream.close()int res = conn.getResponseCode()println resif (res == 200) { //成功InputStream input = conn.getInputStream()StringBuffer sb = new StringBuffer()int sswhile ((ss = input.read()) != -1) {sb.append((char) ss)}} else {println("發送消息失敗----" + conn.getResponseCode())}}} catch (EOFException e) {e.printStackTrace()} catch (IOException e) {e.printStackTrace()} finally {if (outputStream != null) {try {outputStream.close()} catch (IOException e) {e.printStackTrace()}}if (conn != null) {conn.disconnect()}} }

在 app 的 build.gradle 下添加 gradle 依賴

apply from: '../dingding.gradle'//assembleRelease 任務后面插入 postDingDingTask 任務 afterEvaluate {// 1. 找到需要依賴自己 Task的構建流程的Taskdef mergeResourcesTask = tasks.findByName("assembleRelease")// 2. 通過 finalizedBy 方法,插入到指定Task之后mergeResourcesTask.finalizedBy(postDingDingTask) }//發送消息 task postDingDingTask {doLast {def artifactId = "release"def version = "1.2.0"def userName = "小張"def tip = "修復空指針bug https://www.baidu.com"postDingMsg(artifactId, version, userName, tip)} }

下面我們執行一下 assembleRelease 任務,就可以看到消息提醒了

好了,結束下班。

總結

以上是生活随笔為你收集整理的android gradle自定义钉钉群提醒的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。