строка — PHP отправляет слабые сообщения с вложениями и значениями переменных

Пытаясь send messages to slackканалы с incoming webhooks установлен на них. Attachments необходимо отправить вместе с сообщением, а переменные PHP содержат эти URL. Similary, я хочу отправить некоторые ID's которые снова сохраняются в некоторых переменных PHP. Вот мой server side PHP код:

<?php

$testplan_name = $_POST[plan]; //test plan name coming from the client
$url1 = $_POST[run_url]; //run url coming from the client
$url2 = $_POST[plan_url]; //plan url coming from the client
$room = "random";
$icon_url = ":ghost:";
$username = "Test";
$attachments = array([
'fallback' => 'Hey! See this message',
'pretext'  => 'Here is the plan name ${testplan_name}',
'color'    => '#ff6600',
'fields'   => array(
[
'title' => 'Run URL',
'value' => 'url1',
'short' => true
],
[
'title' => 'Build URL',
'value' => 'url2',
'short' => true
]
)
]);

$data = "payload=" . json_encode(array(
"channel"       =>  "#{$room}",
"icon_emoji"    =>  $icon_url,
"username"      =>  $username,
"attachments"   =>  $attachments

));

$url = "https://hooks.slack.com/services/XXXX/XXX/XXXXXXXXXXXXX"; //got from slack as a webhook URL

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
echo var_dump($result);
if($result === false)
{
echo 'Curl error: ' . curl_error($ch);
}

curl_close($ch);

Если вы видите в attachments Переменная выше, есть переменная внутри pretext который пытается напечатать значение ${testplan_name} объявлено наверху. Тем не менее, это не похоже на работу, и программа не может отправлять сообщения на свободные каналы. Точно так же я хочу напечатать значения url1 а также url2 в attachments -> fields значения, как можно видеть выше (как я пытаюсь напечатать). Программа просто отлично работает, если я не пытаюсь использовать какие-либо переменные и получать их значения при публикации сообщений. Как напечатать значения этих переменных в сообщениях?

(slack is a messaging platform for teams, if you don't know)

0

Решение

Попробуйте это вместо>

    $attachments = array([
'fallback' => 'Hey! See this message',
'pretext'  => 'Here is the plan name '.$testplan_name,
'color'    => '#ff6600',
'fields'   => array(
[
'title' => 'Run URL',
'value' => $url1,
'short' => true
],
[
'title' => 'Build URL',
'value' => $url2,
'short' => true
]
)
]);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]