从那里的信息量来看,这似乎不是执行mattermost webhook 的常用方法。我们有一个最重要的安装,我们有一个用于查找库存的旧 Web 应用程序,我们希望能够通过 webhook 向团队发送包含与零件搜索请求相关的一些信息的消息。
我几乎认为我可以通过将“有效负载”设置为参数来向 webhook URL 发出 ajax 发布请求,但这会返回 400“无法解析传入数据”,我认为无论出于何种原因,ajax 请求都是问题所以我创建了一个 PHP 脚本来执行 curl 请求,这就是我所拥有的;
<?php
$payload = json_encode($_REQUEST['payload']);
$ch = curl_init('http://dev2:8065/hooks/6isjcohwyibsf8kp5g9p6bcgoa');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, "$payload");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo $result;
在这一点上的任何建议都是值得的。无论出于何种原因,这都无法完成,或者它太微不足道了,我想太多了。
有效载荷样本,
正在发送的有效载荷:
'payload={"text": "| Component | Tests Run | Tests Failed |
|:-----------|:------------|:-----------------------------------------------|
| Server | 948 | :white_check_mark: 0|
| Web Client | 123 | :warning: [2 (see details)(http://linktologs) |
| iOS Client | 78 | :warning: [3 (see details)](http://linktologs) |"}'
整个字符串都在请求中发送。
与此一起工作,
如果我像这样分解 php 中的有效负载:
$body = '| Component | Tests Run | Tests Failed |\n|:-----------|:------------|:---------------------------------------------|\n| Server | 948 | :white_check_mark: 0 |\n| Web Client | 123 | :warning: [2 (see details)](http://linktologs) |\n| iOS Client | 78 | :warning: [3 (see details)](http://linktologs) |\n';
$payload = 'payload={"text": "';
$payload .= $body;
$payload .= '"}';
它按预期工作。