PHP
Slack

PHP から Slack の Incoming WebHooks を叩く

More than 1 year has passed since last update.

ググッて出てくる情報が古かったり間違っていたり curl 使わなきゃいけなかったりして試行錯誤したのでメモ。

<?php

function send_to_slack($message) {
$webhook_url = 'https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX';
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/json',
'content' => json_encode($message),
)
);
$response = file_get_contents($webhook_url, false, stream_context_create($options));
return $response === 'ok';
}

$message = array(
'username' => 'Bot',
'text' => 'fooooo!!!',
);

send_to_slack($message);

素直に POST で JSON を投げつければいいんです。