gpt4 book ai didi

json - 发布到 Microsoft Teams 连接器 Webhook 时,消息可以持续多长时间?

转载 作者:行者123 更新时间:2023-12-04 01:38:40 25 4
gpt4 key购买 nike

我将 CI/CD 系统的结果/日志发布到 Microsoft Teams。在处理一些具有较长结果的失败构建时,我偶然发现了 webhook URL https://outlook.office.com/webhook/bb6bfee7-1820-49fd-b9f9-f28f7cc679ff@<uuid1>/IncomingWebhook/<id>/<uuid2> 返回的以下错误:

Webhook message delivery failed with error: Microsoft Teams endpoint returned HTTP error 413 with ContextId tcid=3626521845697697778,server=DB3PEPF0000009A,cv=BmkbJ1NdTkv1EDoqr7n/rg.0..

据我观察,这是由于发布到 Teams webhook URL 的负载过长造成的。

当 JSON 负载超过 18000 个字符时,最初的复杂消息(部分、标题、副标题、格式化链接、 <pre> 格式化文本等)失败。

对有效负载进行一些测试,我发现我从原始 JSON 有效负载中删除的格式越多,Teams 消息的时间就越长。我可以发布的最长消息(根据 cu cURL): Content-Length: 20711 。此消息的 JSON 有效负载为:
{"themeColor":"ED4B35","text":"a....a"}

JSON 格式中的空格似乎不算数(即添加空格不会减少我可以发送到 Teams webhook 的最大消息长度)。

作为引用,最初的消息与此类似:
{
"themeColor": "ED4B35",
"summary": "iris-shared-libs - shared-library-updates - failure",
"sections": [
{
"activityTitle": "Job: [iris-shared-libs](https://my.concourse.net/teams/hsm/pipelines/iris-shared-libs) - [shared-library-updates #89](https://my.concourse.sccloudinfra.net/teams/hsm/pipelines/iris-shared-libs/jobs/shared-library-updates/builds/89) (FAILURE)",
"activityImage": "https://via.placeholder.com/200.png/ED4B35/FFFFFF?text=F",
"facts": [
{
"name": "Failed step",
"value": "update-shared-libraries"
}
]
},
{
"text": "Trying a new strategy with gated versioned releases",
"facts": [
{
"name": "Repository",
"value": "[iris-concourse-resources](https://my.git.com/projects/IRIS/repos/iris-concourse-resources)"
},
{
"name": "Commit",
"value": "[2272145ddf9285c9933df398d63cbe680a62f2b7](https://my.git.com/projects/IRIS/repos/iris-concourse-resources/commits/2272145ddf9285c9933df398d63cbe680a62f2b7)"
},
{
"name": "Author",
"value": "me@company.com"
}
]
},
{
"activityTitle": "Job failed step logs part 1",
"text": "<pre>...very long log text goes here ...</pre>"
}
]
}

Microsoft Teams 连接器 webhook 发布消息的实际最大长度是多少?

official page 没有提到它。在底部的“反馈”部分中,仍有一个关于“消息大小限制?”的悬而未决的问题。反馈:“我们目前正在调查此事。”

最佳答案

从我到目前为止所做的测试来看,观察到的一些限制(如果这与服务器无关)大致基于 JSON 消息有效负载(结构和格式) 18000 和 40000 之间 (长度低于 18000 从不断裂,高于 40000 总是断裂)。

  • 用例 18000:一个部分的长文本
  • 用例 40000:600 个具有非常短名称和空字符串作为值的事实

  • 删除 JSON 负载的片段并在另一个 JSON 值中添加相同数量的字符不会给您相同的最大值。

    我还观察到最大节数的软限制(消息被截断,但没有错误): 10 .从第 11 位开始的部分将被丢弃。

    关于json - 发布到 Microsoft Teams 连接器 Webhook 时,消息可以持续多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58474127/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com