1. 什么是连接器

连接器(connector)是Teams中频道的一个接受消息的功能,官方的解释如下:

简单来说就是Teams提供了一个接口, web服务可以通过这个接口推送消息给Teams的频道。

2. 为什么要用连接器接受来自Azure Devops的消息?

因为微软提供了就试试看,结果用起来感觉不错,统一在Teams中接收消息也很方便美观,还可以直接在通知下面进行交流。

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

使用前提是要拥有Office 365的帐号,配置好连接器后Azure Devops可以将项目里发生的消息推送给Teams,例如:

  • 工作项更新
  • 拉取请求
  • 代码提交
  • 生成
  • 发布部署和批准

在使用连接器以前我一致用邮箱接收Azure Devops的消息,于是这些消息把我邮箱塞爆了,用了Teams的连接器后,邮箱里Azure Devops的通知我就丢在那里不管了。

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

3. 在Microsoft Teams中配置连接器

要使用连接器,首先在Microsoft Teams中团队“频道”的“更多选项”菜单中选中“连接器”:

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

点“Azure DevOps Server”右边的“配置”按钮,然后输入连接器的名称点击“创建”:

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

创建连接器后需要复制它的Webhook URL

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

这样一个连接器就建立好了,接下来只需要使用刚刚复制的Webhook URL向这个连接器发布消息。

4. 在Azure Devops中配置连接器

打开Azure Devops的网站,打开“项目设置”里的“服务挂钩”(Service Hooks)配置页面,在配置页面中点击“创建新订阅…”:

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

在打开的窗口里选择要订阅的服务,好像“Microsoft Teams”和“Office 365”是一样的,我就选了Teams那个。

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

点击“下一步”然后选择发送通知的触发器,可以看到可选的配置有很多,这里就按自己和团队的需要配置。

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

最后将刚刚复制的Webhook URL粘贴到“Connector URL”,这样这个订阅就和刚刚在Teams里创建的连接器关联起来,以后每次触发这个订阅都会把信息发送到Teams的频道中。

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

在点击“完成”前还可以点击“测试”按钮,以便测试这个通知订阅是否能正确发送到Teams中,可以看到这个订阅已经测试通过。

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

最后点击“完成”按钮这个订阅旧配置完成了。

5. 成果

[Microsoft Teams]使用连接器接收Azure Devops的通知-LMLPHP

上图是我在用的订阅,可以见到最近一星期的触发次数,为免通知太多我就只用了这四种通知,具体的配置我就不贴出了,有需要可以自己多尝试。

6. 参考

什么是 webhook 和连接器? - Teams _ Microsoft Docs

Create a service hook Microsoft Teams - Azure DevOps Services, TFS 2017 _ Microsoft Docs

Microsoft Teams with Azure DevOps Services (Collaborate, Communicate and Celebrate) _ Azure DevOps Hands-on-Labs

Azure Pipelines with Microsoft Teams - Azure Pipelines _ Microsoft Docs

05-11 16:12