4

我发现了 Microsoft Teams,我喜欢它。我现在正试图触发从 TFS 到 Microsoft Teams 的 pullrequest 消息。我有一个与 curl 配合使用的 Teams Group webhook url。但是当我用 TFS (Service Hooks -> Web Hooks) 测试它时,我只会收到错误的请求。你们中有人知道为什么会这样吗?

4

2 回答 2

4

如果您使用的是 VSTS,您可以直接使用 Microsoft Teams 中的连接器来实​​现您所需要的。

  1. 从 Teams-General 打开连接器。
  2. 添加 Visual Studio 团队服务

  3. 添加吹图等相关配置 在此处输入图像描述

  4. 在相关的 VSTS 项目中创建拉取请求,将在 Microsoft Teams 中收到消息

在此处输入图像描述

如果您使用的是 TFS,则暂时没有相关的加载项。似乎您正在使用 Incoming Webhook connector

对于 Incoming Webhook,它只支持明信片。有关该卡如何构建的更多详细信息,请参阅此链接:可操作消息参考

但是,对于TFS 中的 Web Hook,发送的 JSON 表示不使用“卡片类型”。示例 JSON 如下所示:

{
    "event.type": "git.push",
    ...
    "messsages": {
        "text": "...",
        "html": "...",
        "markdown": "..."
    },
    "detailedMesssages": {
        "text": "...",
        "html": "...",
        "markdown": "..."
    },
    "resource": {
        "id": "...",
        "url": "https://...",
        "name": "...",
        "field1:": "..."
    }
}

因此,您将收到带有包请求(400)的失败消息。

于 2016-12-26T08:58:46.183 回答
2

也许您现在已经弄清楚了,因为显然这个问题是在 3 年前提出的,但我想发布我的答案以便将来帮助其他人。实际上有一种方法可以将 TFS 与 Microsoft Teams 挂钩! 从 TFS 转到 Service Hooks --> office 365而不是(Service Hooks -> Web Hooks),因为“Microsoft 团队”是套件 365 的一部分,并且就这么简单:)。

PS:当然你需要先在 Teams 上创建一个频道,然后点击 3 个点 --> 连接器 --> Incoming Webhooks(configure) --> 给你的钩子起个名字 --> 创建。你完成了;只需复制 Teams 生成的链接,并在您被要求时将其粘贴到 TFS 中;)

于 2020-05-28T15:40:02.667 回答