デプロイを記録する

New Relic の REST API v2 [英語] を使うと、デプロイの記録、デプロイ履歴のリストの取得、過去のデプロイ記録の削除が行えます。エージェントによっては、独自のメソッドを使って、自動的にデプロイを記録することもできます。

デプロイを記録すると、Deployments ページや Overview ページの Recent Events から記録内容を確認できます。

この機能が利用できるかは、お使いのサブスクリプションレベルにより異なります。

REST API の使い方

New Relic REST API v2 を使って、デプロイの記録、履歴の取得、削除を行う手順は以下の通りです。

コマンドラインから、cURL を使って、以下の例を実行できます。REST リクエストが利用できればどんな方法でも構いません。API Explorer からも、デプロイ記録、表示、削除が行えます。
POST を利用したデプロイの記録
デプロイを記録するには、REST API キーを含めた POST リクエストをデプロイ用エンドポイントへ送信します。JSON 形式でペイロードをアタッチします(文字制限と JSON パラメーター参照)。revision 以外のペイロードのパラメーターはオプションです。

以下が例です。

curl -X POST 'https://api.newrelic.com/v2/applications/${APP_ID}/deployments.json' \
     -H 'X-Api-Key:${API_KEY}' -i \
     -H 'Content-Type: application/json' \
     -d \
'{
  "deployment": {
    "revision": "REVISION",
    "changelog": "Added: /v2/deployments.rb, Removed: None",
    "description": "Added a deployments resource to the v2 API",
    "user": "datanerd@example.com"
  }
}' 
PowerShell を使ってデプロイを記録するには、REST API キーを含めた POST リクエストをデプロイのエンドポイントへ送ります。JSON フォーマットにペイロードを付けてください (文字制限と JSON パラメーター参照)。revision 以外のペイロードのパラメーターはオプションです。

PowerShell バージョン3 以上を利用した場合の例:

Invoke-WebRequest -Uri http://api.newrelic.com/v2/applications/APP_ID/deployments.json -Method POST -Headers @{'X-Api-Key'='API_KEY'} -ContentType 'application/json' -Body '{
    "deployment": {
    "revision": "REVISION",
    "changelog": "Added: /v2/deployments.rb, Removed: None",
    "description": "Added a deployments resource to the v2 API",
    "user": "datanerd@example.com"
}
}'

PowerShell バージョン2 の例 (.NET フレームワーク 3.5 以上必須):

$encoding = [System.Text.Encoding]::GetEncoding("ASCII")
$data ='{
"deployment": {
    "revision": "REVISION",
    "changelog": "Added: /v2/deployments.rb, Removed: None",
    "description": "Added a deployments resource to the v2 API",
    "user": "datanerd@example.com"
}
}'
$postData = $encoding.GetBytes($data)
$request = [System.Net.WebRequest]::Create('https://api.newrelic.com/v2/applications/APP_ID/deployments.json')
$request.Method = 'POST'
$request.Headers.add('X-Api-Key','API_KEY')
$request.ContentType='application/json' 
$stream = $request.GetRequestStream()
$stream.Write($postData,0,$postData.Length)
$request.GetResponse()
アプリのデプロイに関する全履歴を取得するには、REST API キーを含めた GET リクエストをデプロイのエンドポイントへ送ります。GET リクエストでは、JSON ペイロードは使いません。

例:

curl -X GET 'https://api.newrelic.com/v2/applications/${APP_ID}/deployments.json' \
    -H 'X-Api-Key:${API_KEY}' \
    -i
GET の利用例
以下は、アプリID 9999999 のデプロイ一覧を取得する例:

curl -X GET 'https://api.newrelic.com/v2/applications/9999999/deployments.json'  -H 'X-Api-Key:ABCDEFGHIJKLMNOPQRSTUVWXabcdefghijklmnopqrstuvwx'  -i

API は、デプロイ一覧を返します。

HTTP/1.1 200 OK
ETag: "ABCDEFGHIJKabcdefghijk0123456789"
Cache-Control: max-age=0, private, must-revalidate
Content-Type: application/json
{
  "deployments": [
    {
      "id": 1234567,
      "revision": "1234123412341234123412341234123412341234",
      "changelog": "Fixed the bugs for real this time",
      "description": "Example description two",
      "user": "Data Nerd",
      "timestamp": "2016-02-24T10:09:27-08:00",
      "links": {
        "application": 9999999
      }
    },
    {
      "id": 2345678,
      "revision": "7890789078907890789078907890789078907890",
      "changelog": "Think I fixed all the bugs",
      "description": null,
      "user": "Dren Atad",
      "timestamp": "2014-10-22T12:23:47-07:00",
      "links": {
        "application": 9999999
      }
    }
  ],
  "links": {
    "deployment.agent": "/v2/applications/{application_id}"
  }
}
デプロイを削除するには、管理者ユーザーの API key を含めて、DELETE リクエストをデプロイのエンドポイントに対して送信します。DELETE リクエスでは、JSON ペイロードは使いませんが、削除対象のデプロイ ID の指定が必要です。デプロイ ID を確認するには、GET リクエスト を利用します。

例:

curl -X DELETE 'https://api.newrelic.com/v2/applications/${APP_ID}/deployments/DEPLOYMENT_ID.json' \
     -H 'X-Api-Key:${ADMIN_USERS_KEY}' \
     -i
文字制限と JSON パラメーター
JSON ペイロードは以下のパラメーターを含んでいます。

パラメーター データ型 説明
revision String。最大 127 文字。 必須。デプロイを示す一意の ID。Overview ページや Deployments ページに表示されます。文字列ですが、通常バージョン番号や Git のチェックサムを表す数字となります。
changelog String。最大 65535 文字。 オプション。このデプロイで変わった内容についての概要。Deployments ページで、(選択したデプロイ) > Change log を選択した際に表示されます。
description String。最大 65535 文字。 オプション。デプロイについての詳細な変更履歴。ここのデプロイを選択した際に、Overview ページや Deployments ページに表示されます。
user String。最大 31 文字。 オプション。デプロイに関係するユーザー名。Overview ページや Deployments ページに表示されます。

エージェントでの手順

デプロイの記録方法を複数もつエージェントもあります。

パートナーアカウントの手続き

New Relic パートナー越しのアカウントを利用している場合は、追加の制限や手順が必要となる場合があります。詳しくは、パートナー用の手順を参照してください。

関連情報

関連する情報は以下のとおりです。