LoginSignup
3
4

More than 5 years have passed since last update.

Qiita:Teamの投稿などをメール通知する

Posted at

概要

Qiita:Teamで投稿などを通知してくれる機能がないので、メール通知機能を作りました。

動作方法

  1. 適当なPHPが動くサーバに下記phpをホスティング
  2. Qiita:TeamのWebHookに以下のようなURLを設定

例)[host]/qiita.php?mailto=[mailaddress]

コード

qiita.php
if ($to = $_GET['mailto']) {
    $payload = json_decode(file_get_contents('php://input'));
    $action = "{$payload->model}_{$payload->action}";
    if (is_callable($action)) {
        list($subject, $body) = $action($payload);
        mb_send_mail($to, $subject, $body);
    }
}

function item_created($payload) {
    $item = $payload->item;
    $user = $payload->user;
    $body = <<<BODY
{$user->url_name}さんが「{$item->title}」を投稿しました
{$item->url}
BODY;
    return array("Qiita:Teamに記事が投稿されました", $body);
}

function comment_created($payload) {
    $item = $payload->item;
    $comment = $payload->comment;
    $user = $comment->user;
    $body = <<<BODY
{$user->url_name}さんが「{$item->title}」にコメントしました
{$item->url}
{$comment->raw_body}
BODY;
    return array("Qiita:Teamにコメントが投稿されました", $body);
}

対応機能

新規記事の投稿とコメントの投稿のみ対応しています。
その他機能は、上記コードとQiita Webhook documentを参考に、追加すれば動くかと思います。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4