PHP から Slack の Incoming WebHooks を叩く

  • 21
    Like
  • 1
    Comment
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 を投げつければいいんです。