Created
September 16, 2016 09:11
-
-
Save yokozawa/8a3c176ff73da3df2c1e0024e7afd9d7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
date_default_timezone_set('Asia/Tokyo'); | |
$url = "[webhookurl]"; | |
header('Content-type: application/json; charset=utf-8'); | |
function create_message($payload) { | |
$build_url = "https://magnum.travis-ci.com/" . $payload['repository']['owner_name'] | |
. "/" . $payload['repository']['name'] . "/builds/" . $payload['id']; | |
$commit_url = $payload['repository']['url'] . "/commit/" . $payload['commit']; | |
$compare_url = $payload['compare_url']; | |
$committer = $payload['committer_name']; | |
if ($payload['status'] === 0) { | |
$message = array( | |
"username" => "Eri Ayase", | |
"icon_emoji" => ":eri:", | |
"attachments" => array( | |
array( | |
"color" => "good", | |
"title" => "ハラショー!ビルド成功!", | |
"title_link" => $build_url, | |
"text" => "releaseにマージしてデプロイしてね♪" | |
) | |
) | |
); | |
} else { | |
$message = array( | |
"username" => "Umi Sonoda", | |
"icon_emoji" => ":umi:", | |
"attachments" => array( | |
array( | |
"color" => "danger", | |
"title" => "ビルド失敗なんて破廉恥です!", | |
"title_link" => $build_url, | |
"text" => "ハッキリ言いますが、ビルド失敗は迷惑です!だからすぐに直してください!" | |
) | |
) | |
); | |
} | |
return $message; | |
} | |
if ('POST' === $_SERVER['REQUEST_METHOD']) { | |
if (!isset($_POST['payload'])) { | |
header('HTTP/1.1 400 Bad Request'); | |
exit; | |
} | |
$payload = json_decode($_POST['payload'], true); | |
$data = create_message($payload); | |
$ch = curl_init($url); | |
curl_setopt($ch, CURLOPT_POST, true); | |
curl_setopt($ch, CURLOPT_HTTPHEADER, 'Content-type: application/json'); | |
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); | |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
$response = curl_exec($ch); | |
curl_close($ch); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment