Судя по количеству доступной информации, это не похоже на распространенный способ выполнения наиболее важных веб-хуков. У нас самая важная установка, у нас есть старое веб-приложение, используемое для поиска запасов, мы хотели бы иметь возможность через веб-перехватчик отправлять сообщение команде, содержащее некоторую информацию, касающуюся запроса на поиск детали.
Я почти думал, что смогу уйти с отправкой ajax-запроса на URL-адрес веб-перехватчика с «полезной нагрузкой», установленной в качестве параметра, но это возвращает 400 «Невозможно проанализировать входящие данные», я подумал, что по какой-то причине запрос ajax был проблемой поэтому я создал PHP-скрипт для выполнения запроса на завивание, вот что у меня есть;
<?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 .= '"}';
Он работает так, как ожидалось.