文/明道CTO 金可伟

明道是一款较为通用的协作软件,目前尚未针对IT行业做特殊定制化的开发。研发团队在使用明道的过程中,除了常规的项目管理、即时沟通与文件管理以外,似乎找不到更多的整合点。实则不然,明道作为SaaS软件厂商的代表,本身也是深耕于互联网软件的开发,研发团队也是深度使用明道各个模块的代表,也希望一体化在一个平台内解决所有IT管理需求,下面就以我们的角度来聊下常规的研发类工具怎么跟明道做整合,看看是否适用于大家。

不少国内外的协作类软件都会提供与代码管理类平台的整合能力,比如Slack专门提供了Github的集成插件,在Github有commits、issues时可以在Slack及时的收到消息通知,当然也有不少的聊天机器人,可以被利用起来用于各式各样的通知、应答,或者作为运维机器人,如Hubot 等。

明道虽然没有插件、聊天机器人的集成机制,但是明道于2017年7月份与Zapier做了整合,Zapier整合了上游将近1000个SaaS应用,因此打开了很多使用场景。举个例子,我们需要将Github里面的一个repo的某个分支的commits通知到明道,让团队知晓,操作步骤如下:

a. 登陆Zapier,选择 MAKE A ZAP,找到并选择Github,开始设置Trigger。

b. 选择New Commit,并登陆你的Github账号,选择有权限的repo项目和branch分支。

c. 设置完Trigger之后,开始设置Action。搜索mingdao,选择Send Message,并登陆你的明道账号,选择一个接收通知的群组(建议你事先在明道创建一个待通知的群组),并撰写接收的内容。

d. 给这个Zap命名,并做一个测试,看看明道是否收到消息。

这里有个建议,在明道中可以创建一个非真实账号,Zap明道账号用此账号登陆授权,示例中就创建了一个名叫“明道大秘书”的账号,这样群组内所有人都可以收到通知。

以上只是其中一个示例,通过这种界面配置的整合方式你可以构想出非常多的代码管理集成场景,比如提交了一个ISSUE可以在明道创建一个任务,提交了一个新的pull request可以在明道收到通知,提交了一个新的commit comment可以在明道收到通知。

  • 持续集成类工具,如Jenkins

持续集成是快速迭代型研发组织的必备基础设施,他们采用每日构建或者代码提交触发式的自动化构建方式进行持续集成。其实这也是DevOps推崇的理念与文化,DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。

在CI的这个环节里面,构建完成通知是比较重要的一环,拿Jenkins来说,那么怎么在明道收到Jenkins的通知呢?一般来说有两种方式。

a. 一般来说CI工具都会自带邮件通知体系,Jenkins里面配置自己的SMTP地址,将运行的job结果发送邮件通知给到大家。如果要通知到明道,还是需要依赖Zapier的Gmail的插件,可以将运行的job通知结果发到Gmail特定邮箱,同时如上操作类似配置一个Zap,Trigger选择Gmail,Action选择明道即可。

b. 通过webhook机制将jenkins的job运行结果发送到Zapier,再通过Zapier将结果发送到明道。同时如上操作类似配置一个Zap,Trigger选择Jenkins,这个时候会出来一个通知地址复制保存下来,Action选择明道即可。同时Jenkins需要安装Notification 通知插件,将jenkins的notification插件的通知地址设置为刚保存下来的通知地址即可,这样在明道就可以收到运行结果通知了。

  • 监控报警类工具,如Zabbix

监控告警是运维体系里面非常核心重要的一环,常用的监控软件基本都自带传统的提醒方式,如邮件、SMS等。如果需要将监控告警内容通知到明道,我们还是可以通过Zapier的Webhooks插件作为Trigger,明道作为Action,这里会得到Webhook的地址,操作步骤如下:

a. 在Zabbix管理的报警媒介类型管理里面新增脚本类型的报警媒介类型,并指定脚本参数。

b. 创建通知到Zapier Webhook的脚本,脚本完成的工作主要是接收参数组织格式并发送POST请求到Zapier的Webhook地址,并将这个脚本放到Zabbix的服务器对应脚本目录下。

c. 在Zabbix的用户管理里面新增用户,并且配置它的报警媒介为a步骤设置的报警媒介,并设置何种严重性等级的提醒。

d. 在Zabbix的动作中创建新的动作或编辑已存在的动作,指定触发条件,并选择发送到刚刚新增的用户。

以上均是利用Zapier来完成IT工具类的集成,当然你还可以利用明道开放平台的API来完成更多业务数据上的整合,目前大部分的明道模块都已经提供了API接口。

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注