デプロイメントを記録する

New Relic REST API v2を使用すると、APMアプリケーションで新しいデプロイメントの記録、過去のデプロイメントリストの取得、過去のデプロイメントの削除が可能になります。一部のエージェントには、デプロイメントを自動的に記録するエージェント独自の方法が備わっています。記録されたデプロイメントは、APMのデプロイメントページおよび概要ページのイベントログリストに表示されます。

デプロイメントマーカーは現在、ブラウザアプリケーションで使用できません。

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

REST APIプロシージャ

New Relic REST API v2を使用してデプロイメントの記録、過去のデプロイメントリストの取得、デプロイメントの削除ができます。デプロイメントマーカーは現在、ブラウザアプリケーションで使用できません。

  • このドキュメントの例では、コマンドラインツールのcURLを使用しています。ただし、RESTリクエストには、あらゆる方法を使用できます。デプロイメントの作成、表示、削除はAPIエクスプローラーで行うこともできます。
  • JSONは、要素名とコンテンツにダブルクォート"を使用します。シングルクォート'の使用はエラーの原因になります。
POSTでデプロイメントを記録する

新規デプロイメントを記録するには、デプロイメントエンドポイントにREST APIキーを含むPOSTリクエストを送信します。ペイロードをJSON形式で添付します(文字制限とJSONパラメーターをご覧ください)。ペイロードパラメーターは、revisionを除いてすべてオプションです。

例えば:

curl -X POST 'https://api.newrelic.com/v2/applications/${APP_ID}/deployments.json' \
     -H 'X-Api-Key:${APIKEY}' -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 https://api.newrelic.com/v2/applications/APP_ID/deployments.json -Method POST -Headers @{'X-Api-Key'='APIKEY'} -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','APIKEY')
$request.ContentType='application/json' 
$stream = $request.GetRequestStream()
$stream.Write($postData,0,$postData.Length)
$request.GetResponse()

過去に行われたアプリケーション用デプロイメントすべてのリストを取得するには、デプロイメントエンドポイントにREST API キーを含むPOSTリクエストを送信します。GETリクエストにはJSONペイロードを使用しません。

例えば:

curl -X GET 'https://api.newrelic.com/v2/applications/${APP_ID}/deployments.json' \
    -H 'X-Api-Key:${APIKEY}' \
    -i
GETからの出力の例

この例は、アプリケーションID9999999のためのデプロイメントのリストをリクエストします:

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キーを含む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ペイロードには、次のパラメーターを含めることができます。

パラメーター データタイプ 説明
revision 文字列(最大127文字) 必須:このデプロイメントのユニークID。概要ページとデプロイメントページに表示されます。任意の文字列を指定できますが、通常はバージョン番号あるいはGitのチェックサムです。
changelog 文字列(最大65535文字) オプション。このデプロイメント内の変更。(選択したデプロイメント)> Change logを選択した場合、デプロイメントページに表示されます。
description 文字列(最大65535文字) オプション。このデプロイメントの大まかな説明。個々のデプロイメントを選択した場合、概要ページとデプロイメントページに表示されます。
user 文字列(最大31文字) オプション。デプロイメントと関連付けるユーザー名。概要ページとデプロイメントページに表示されます。

UTF-8で4バイトになる文字(例:絵文字や非ラテン言語のグリフ)は、デプロイメントテキストでは使用できません。

エージェントプロシージャ

一部のエージェントには、デプロイメントを記録する追加メソッドが備わっています。

その他のヘルプ

推奨する詳細情報: