微软团队在TFS上发布了webhook

时间:2016-12-23 09:04:40

标签: tfs microsoft-teams

我发现了Microsoft Teams,我喜欢它。 我现在正试图触发从TFS到Microsoft Teams的pullrequest消息。 我有一个团队组织的webhook网址,可以很好地卷曲。 但是当我使用TFS(Service Hooks - > Web Hooks)测试它时,我只会得到错误的请求。 你们中的任何人都知道为什么会这样吗?

2 个答案:

答案 0 :(得分:4)

如果您使用的是VSTS,则可以直接使用Microsoft团队中的连接器来实现您的需求。

  1. 从Teams-General打开连接器。
  2. 添加Visual Studio Team Service

  3. 添加吹像等相关配置 enter image description here

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

  5. enter image description here

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

    对于Incoming Webhook,它只支持帖子卡。有关如何构建该卡的更多详细信息,请参阅此链接:Actionable Messages Reference

    但是,对于Web Hooks in TFS,发送的JSON表示不使用"卡类型"。示例JSON如下所示:

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

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

答案 1 :(得分:2)

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

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