php

【php】チャットワークAPIを使って報告

更新日:

エラーが起こった場合、すぐにお知らせが欲しい場合があると思います。その際、チャットワークAPIにて、報告する様にしてみました。

チャットワーク表示例

前提条件

1.チャットワークAPIを使えるようにしておく
2.今回はグループチャットをあらかじめ作成しておく

phpコード

<?php
function Create_PDO() {
	$db['host'] = "DBのサーバ入力";  // DBサーバのURL
	$db['user'] = "ユーザー名入力";  // ユーザー名
	$db['pass'] = "パスワード入力";  // ユーザー名のパスワード
	$db['dbname'] = "データベース名入力";  // データベース名
	$db['port'] = "3306";
	//データベース情報を格納
	$dsn = sprintf('mysql:host=%s; dbname=%s; port=%s; charset=utf8', $db['host'], $db['dbname'], $db['port']);

	//try-catchの例外を受ける為に必要
	$option = array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION);

 	//インスタンス生成
	$pdo = new PDO($dsn, $db['user'], $db['pass'], $option);
	return $pdo;
}
<?php
require './function.php';   // DB 接続用の共通ファンクション用
$errorMessage = "";//メッセージリセット

try {
   //何かしら処理実施

   if(条件) {
      throw new RuntimeException('○○にてエラーが発生しました。');
   }

} catch (RuntimeException $e) {
   $errorMessage = $e->getMessage();
}
?>

チャットワークAPIを使って、phpで自動投稿

1.チャットワークAPIトークン場所は右上プルダウンから「サービス連携」>「API Token」から確認と発行ができます。

2.グループチャットのルームIDは「グループチャットを選択」>右上の「歯車」を押下 > 「グループチャットの設定」 > タブ「チャット情報」内の下部に記載されています。

<?php
//エラーをチャットワークへ送信-----------------------------------------------------------------
if (!empty($errorMessage)) {
	$id = 'test12345';

	$token = "ここにAPIトークンを記載";//例:767576sdfs8a6df8xxxxxxxxx
	$room_id = "ここにグループチャットのルームIDを入力";//例:198768xxxxx
	$url = "https://api.chatwork.com/v2/rooms/$room_id/messages";

	$data = array(
	  'body' => "エラー報告があります。確認願います。" . "\n\n■エラーID:" . $id . "\n■内容:" . $errorMessage,
	  'self_unread' => '1'
	);

	$header = array(
	  'X-ChatWorkToken:' .  $token
	);

	$options = array(
	  'http' => array(
	    'method' => 'POST',
	    'header' => implode("\r\n", $header),
	    'content' => http_build_query($data,'','&')
	  )
	);
  file_get_contents($url, false, stream_context_create($options));
}
?>

-php

Copyright© Code Custom , 2022 All Rights Reserved.