钉钉群机器人发送消息

1 项目添加淘宝sdk依赖

<dependency>
    <groupId>taobao-sdk-java</groupId>
    <artifactId>taobao-sdk-java-auto</artifactId>
    <version>1.0</version>
</dependency>

若添加依赖有问题,可参考Maven使用第三方Jar文件这篇文章里面方法一进行添加:

<dependency>
    <groupId>taobao-sdk-java</groupId>
    <artifactId>taobao-sdk-java-auto</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/taobao-sdk-java-auto-1.0.jar</systemPath>
 </dependency>

2 发送Markdown格式消息

复制代码
public class MarkdownTest {

public void sendMessage() throws Exception {

             String WEBHOOK_TOKEN = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxx";
             String DING = "";
             String MARK_DOWN_ATX2 = "## ";
             String MARK_DOWN_ATX3 = "### ";
             String MARK_DOWN_ATX4 = "#### ";
             String MARK_DOWN_COLON = " : ";
             String MARK_DOWN_LINEFEED = " \n ";
             String MARK_DOWN_IS_RED = "<font color=#FF33FF size=8 face=\"黑体\">%s</font>";
             String MARK_DOWN_EMAIL1 = "> ";

       
            //通知钉钉群
             StringBuilder resultText = new StringBuilder();
             resultText.append(MARK_DOWN_ATX2).append("项目名").append(MARK_DOWN_COLON).append(projectappid).append(MARK_DOWN_LINEFEED);
             resultText.append(MARK_DOWN_ATX4).append("单元测试覆盖率").append(MARK_DOWN_COLON).append(String.format(MARK_DOWN_IS_RED, total_covered_instructions)).append(MARK_DOWN_LINEFEED);               
             String DING_URL = WEBHOOK_TOKEN;
             DingTalkClient client = new DefaultDingTalkClient(DING_URL);
             OapiRobotSendRequest request = new OapiRobotSendRequest();
             request.setMsgtype("markdown");
             OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown();
             markdown.setTitle("jacoco代码扫描");
             markdown.setText(resultText.toString());
             request.setMarkdown(markdown);
             try {
                 OapiRobotSendResponse response = client.execute(request);
                 if (response.isSuccess()) {
                     LOGGER.info(String.format("### 钉钉通知已发送成功, msg:%s", msgText));
                  //System.out.println("send message ok");
                 } else {
                     LOGGER.error(response.getErrmsg());
                 }
             } catch (com.taobao.api.ApiException e) {
                 String errorMsg = "### 发送钉钉通知异常";
                 LOGGER.error(errorMsg, e);
                 throw new ApiException(errorMsg);
             }

         }                

         }catch(NumberFormatException e) {
             e.printStackTrace();
         }

}

}
复制代码

3 官方参考文档

自定义机器人

posted @   ycyzharry  阅读(6925)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示

目录