読者です 読者をやめる 読者になる 読者になる

Bash on Ubuntu on Windows に PHP をインストールして Slack API を送信する

【スポンサーリンク】

Windows 10 Insider Preview Build 14316 で提供されている Bash on Ubuntu on Windows では、デフォルトで PerlPython が利用できます。デフォルトで PHP は利用できませんが、apt-getでインストールすることができます。今回は Bash on Ubuntu on WindowsPHP をインストールし、Slack API (Incoming Webhooks) を送信してみます。

なお、Bash on Ubuntu on Windows 自体のインストール方法は以下の記事を参照してください。 docs.hatenablog.jp

まず、Bash on Ubuntu on Windows を起動して次のコマンドを実行し、PHP をインストールします。

apt-get install php5-cli php5-curl

Bash on Ubuntu on Windows では、WindowsのCドライブは/mnt/c/ディレクトリとして参照できます。今回はCドライブの下にonUbuntuフォルダを作成し、そこにslack.phpというファイルを作成して以下のようなコードを書いて保存します。このファイルは vi で作成しても構いませんし、Windows 付属のメモ帳や使い慣れたテキストエディタで作成できるのも Bash on Ubuntu on Windows のメリットです。

<?php
// Slackの[Webhook URL]欄に表示されているURL
$webhook_url = 'https://hooks.slack.com/services/xxxxx';

// Slackに投稿するメッセージ
$msg = array(
    'username' => 'Slackテスト', 
    'text' => 'Hello, Slack Incoming WebHooks.'
);
$msg = json_encode($msg);
$msg = 'payload=' . urlencode($msg);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $webhook_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $msg);
curl_exec($ch);
curl_close($ch);

ファイルを作成したら次のコマンドを実行することで Slack にメッセージが投稿されます。

php /mnt/c/onUbuntu/slack.php

なお、Slack API について(特に「Webhook URL」の取得方法)は以下の記事を参照してください。 docs.hatenablog.jp

パーフェクトPHP

パーフェクトPHP