2026-04-11 11:18:38 +0900
Hatchboxでデプロイが完了した時にNew RelicのReleaseを作成する方法
まず、Hatchboxのアプリに以下の環境変数を設定しておく。
NEW_RELIC_API_KEY: New RelicのUser API Key ("NRAK-*")NEW_RELIC_ENTITY_GUID: New Relicのアプリ毎の識別子 (アプリ名横のiアイコンを押して"Metadata"タブで確認できる)
そのうえで、Hatchboxのアプリ毎の"Settings - Deploy Scripts - Post-deploy script"にて以下のスクリプトを設定する。
NR_API_KEY="${NEW_RELIC_API_KEY}"
NR_ENTITY_GUID="${NEW_RELIC_ENTITY_GUID}"
# 1. バージョン情報の取得 (REVISIONファイルがあれば使用、なければ日時)
DEPLOY_VERSION=$(cat REVISION 2>/dev/null || date +%Y%m%d-%H%M%S)
# 2. GraphQLクエリの組み立て
read -r -d '' JSON_PAYLOAD <<EOF
{
"query": "mutation { changeTrackingCreateDeployment(deployment: {entityGuid: \"$NR_ENTITY_GUID\", version: \"$DEPLOY_VERSION\", user: \"Hatchbox\"}) { deploymentId } }"
}
EOF
# 3. New Relic APIへのリクエスト実行
curl -s -X POST 'https://api.newrelic.com/graphql' \
-H "Api-Key: $NR_API_KEY" \
-H "Content-Type: application/json" \
--data "$JSON_PAYLOAD"
デプロイを実施してみて、デプロイログのApps::Deployで以下のような出力があれば成功。
-----> Deploy complete
-----> Running post deploy script on サーバー名...
-----> Post deploy script finished.