jenkins钉钉插件自定义

有时我们根据业务的需要,可能要在jenkins集成项目之后,在钉钉通知消息的时候,能区分是测试环境还是正式环境打包

1、下载钉钉源码:https://github.com/jenkinsci/dingding-notifications-plugin

本地克隆之后,用Idea打开

2、目录结构:

a、修改config.jelly,增加如下代码到:

<f:entry title="打包类型" field="envType" description="自动获取参数化构建,表示打包环境.">
    <f:textbox  />
</f:entry>

b、DingdingNotifier类,增加:

public String envType;

c、DingdingServiceImpl类,

private String envType;
private EnvVars env;

@Override
public void success() throws IOException, InterruptedException {
    String pic = "http://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/sign-check-icon.png";
    String title = String.format("%s%s构建成功,本次打包环境:%s", build.getProject().getDisplayName(), build.getDisplayName(),getEnvType());
    String content = String.format("项目[%s%s]构建成功, summary:%s, duration:%s", build.getProject().getDisplayName(), build.getDisplayName(), build.getBuildStatusSummary().message, build.getDurationString());

    String link = getBuildUrl();
    logger.info(link);
    if (onSuccess) {
        logger.info("send link msg from " + listener.toString());
        sendLinkMessage(link, content, title, pic);
    }
}

public String getEnvType() throws IOException, InterruptedException {
    env = build.getEnvironment(listener);
    return env.expand(envType);
}

其实就是把DingdingServiceImpl类中,实现接口的函数中的title内容改写

d、JobListener类,try-catch一下,刚抛出的异常

3、打包

首先确保,maven已经添加到环境变量中,切换到项目路径,cmd窗口运行,执行:mvn package

会在编译文件夹下生成:

4、切换到jenkins页面,清除钉钉之前的插件,

 

上传自定义插件,找到刚打包好的文件夹

上传成功之后需要重启jenkins才能生效,关闭窗口,切换到jenkins目录执行:java -jar jenkins.war --httpPort=8080

5、jenkins构建:

打包类型根据实际情况填入测试环境,还是正式环境,打包成功之后如下图:

参考:

https://blog.csdn.net/u011541946/article/details/78634786

https://blog.csdn.net/u011541946/article/details/78779921

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值