DevOps コンフィグ API
DevOps コンフィグ API は、アプリケーションを管理するためのエンドポイントを提供します。
この API には DevOps コンフィグ アプリケーションが必要であり、 sn_devops_config 名前空間内で提供されます。
DELETE、PATCH、および POST 操作の場合、呼び出し元ユーザーは sn_devops_config.admin ロールを持っている必要があります。GET 操作の場合、呼び出し元ユーザーは sn_devops_config.viewer または sn_devops_config.admin ロールを持っている必要があります。
アプリケーションライフサイクル管理に DevOps コンフィグ API を使用します。DevOps コンフィグを使用したアプリケーションの管理の詳細については、「DevOps コンフィグの構成」を参照してください。
DevOps 構成:/devops_config/application/{appid} を削除
アプリケーションを削除します。
URL 形式
バージョニングされた URL: /api/sn_devops_config/{api_version}/devops_config/application/{appid}
デフォルト URL: /api/sn_devops_config/devops_config/application/{appid}
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| appid | 削除するアプリケーションのSys_id。 データタイプ:文字列 テーブル:CDM アプリケーション [sn_cdm_application] |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。アプリケーション ID が無効です。 |
| 403 | 禁止されました。ユーザーには API にアクセスする権限がありません。 |
応答本文のパラメーター (JSON)
| 名前 | 説明 |
|---|---|
| エラー | エラー情報。このパラメーターは、要求が失敗した場合にのみ返されます。 データタイプ: オブジェクト |
| error.detail | 要求が失敗した理由に関するその他の詳細。 データタイプ:文字列 |
| error.message | 要求が失敗した理由を含むエラーメッセージ。 データタイプ:文字列 |
| 結果 | 要求に関する情報を含む結果オブジェクト。 データタイプ: オブジェクト |
| result.errors | 要求からのエラーのアレイ。要求が成功した場合、アレイは空です。 データタイプ:アレイ |
| result.success | 要求の成功メッセージ。失敗した要求のアレイは空です。 データタイプ:アレイ |
| status | 要求のステータス。このパラメーターは、要求が失敗した場合にのみ返されます。 可能な値:failure データタイプ:文字列 |
cURL 要求
この例では、アプリケーションを削除します。
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \
--request DELETE \
--header "Accept:application/json" \
--user 'username':'password'
応答本文。
{
"result": {
"errors": [],
"success": [
"CDM Application Demo Application 1234 has been deleted successfully."
]
}
}
cURL 要求
この例は、ユーザーが API にアクセスする権限を持っていない場合のエラー応答を示しています。
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \
--request DELETE \
--header "Accept:application/json" \
--user 'username':'password'
エラー応答。
{
"error": {
"message": "User Not Authorized",
"detail": "Failed API level ACL Validation"
},
"status": "failure"
}
DevOps 構成:GET /devops_config/application/{appid}
アプリケーションを取得します。
URL 形式
バージョニングされた URL: /api/sn_devops_config/{api_version}/devops_config/application/{appid}
デフォルト URL: /api/sn_devops_config/devops_config/application/{appid}
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| appid | 取得するアプリケーションのSys_id。 データタイプ:文字列 テーブル:CDM アプリケーション [sn_cdm_application] |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。アプリケーション ID が無効です。 |
| 403 | 禁止されました。ユーザーには API にアクセスする権限がありません。 |
応答本文のパラメーター (JSON)
| 名前 | 説明 |
|---|---|
| エラー | エラー情報。このパラメーターは、要求が失敗した場合にのみ返されます。 データタイプ: オブジェクト |
| error.detail | 要求が失敗した理由に関するその他の詳細。 データタイプ:文字列 |
| error.message | 要求が失敗した理由を含むエラーメッセージ。 データタイプ:文字列 |
| 結果 | 要求に関する情報を含む結果オブジェクト。 データタイプ: オブジェクト |
| result.data | アプリケーションのデータ。 データタイプ: オブジェクト |
| result.data.appDescription | アプリケーションの説明 データタイプ:文字列 |
| result.data.appId | アプリケーションのSys_id。 データタイプ:文字列 テーブル:CDM アプリケーション [sn_cdm_application] |
| result.data.appManagedByGroups | アプリケーションを管理するグループのsys_idsのカンマ区切りリスト。 データタイプ:文字列 テーブル: Group [sys_user_group] |
| result.data.appManufacturerId | メーカーのSys_id。 データタイプ:文字列 テーブル:会社 [core_company] |
| result.data.appManufacturerName | メーカーの名前。 データタイプ:文字列 |
| result.data.appModelId | アプリケーションモデルのSys_id。 データタイプ:文字列 テーブル:アプリケーションモデル [cmdb_application_product_model] |
| result.data.appModelName | アプリケーション モデルの名前。 データタイプ:文字列 テーブル:アプリケーションモデル [cmdb_application_product_model] |
| result.data.appModelOwnerId | アプリケーションモデルオーナーのSys_id。 データタイプ:文字列 テーブル:ユーザー [sys_user] |
| result.data.appModelOwnerName | アプリケーションモデルオーナーの名前。 データタイプ:文字列 |
| result.data.appName | アプリケーションの名前。 データタイプ:文字列 |
| result.data.error | エラー情報。このパラメーターは、要求が失敗した場合にのみ返されます。 データタイプ:文字列 |
| result.data.sdlcType | アプリケーションのタイプ。 可能な値:
データタイプ:文字列 |
| result.message | 要求の成功または失敗の結果に関する情報。 データタイプ:文字列 |
| result.status | 要求のステータスコード。 可能な値:
データタイプ:数値 |
| status | 要求のステータス。このパラメーターは、要求が失敗した場合にのみ返されます。 可能な値:failure データタイプ:文字列 |
cURL 要求
この例では、アプリケーションを取得します。
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
応答本文。
{
"result": {
"status": 200,
"message": "Success",
"data": {
"appName": "Demo Application 1234",
"appId": "38e17dc3473d111072566862736d43c7",
"appDescription": "Updated description of Demo Application created from REST API",
"sdlcType": "application",
"appModelId": "a4e13dc3473d111072566862736d4307",
"appModelName": "Demo Application 1234",
"appManufacturerId": "262702654725d950a34a3085d36d435e",
"appManufacturerName": "",
"appModelOwnerId": "6816f79cc0a8016401c5a33be04be441",
"appModelOwnerName": "System Administrator",
"appManagedByGroups": []
}
}
}
cURL 要求
この例は、ユーザーが無効なアプリケーション ID を入力したときのエラー応答を示しています。
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/18a17de3283d15107256686277777777" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
エラー応答。
{
"result": {
"status": 400,
"message": "No valid Application",
"data": {
"error": "No valid Application"
}
}
}
DevOps 構成:PATCH /devops_config/application/{appid}
アプリケーションを更新します。
URL 形式
バージョニングされた URL: /api/sn_devops_config/{api_version}/devops_config/application/{appid}
デフォルト URL: /api/sn_devops_config/devops_config/application/{appid}
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| appid | 更新するアプリケーションのSys_id。 データタイプ:文字列 テーブル:CDM アプリケーション [sn_cdm_application] |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| appDescription | アプリケーションの説明 データタイプ:文字列 |
| appManagedByGroup | アプリケーションを管理するグループのsys_idsのカンマ区切りリスト。呼び出し元ユーザーは、これらのグループに属している必要があります。データタイプ:文字列 テーブル: Group [sys_user_group] |
| appManufacturerId | メーカーのSys_id。 データタイプ:文字列 テーブル:会社 [core_company] |
| appModelOwnerId | アプリケーションモデルオーナーのSys_id。 データタイプ:文字列 テーブル:ユーザー [sys_user] |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | アプリケーションが正常に更新されました。 |
| 403 | 禁止されました。ユーザーには API にアクセスする権限がありません。 |
| 404 | アプリケーションが更新されていません。result オブジェクトの message プロパティには、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON)
| 名前 | 説明 |
|---|---|
| エラー | エラー情報。このパラメーターは、要求が失敗した場合にのみ返されます。 データタイプ: オブジェクト |
| error.detail | 要求が失敗した理由に関するその他の詳細。 データタイプ:文字列 |
| error.message | 要求が失敗した理由を含むエラーメッセージ。 データタイプ:文字列 |
| 結果 | アプリケーションに関する情報を含む結果オブジェクト。 データタイプ: オブジェクト |
| result.data | アプリケーションのSys_id。 データタイプ:文字列 テーブル:CDM アプリケーション [sn_cdm_application] |
| result.message | 要求の成功または失敗の結果に関する情報。 データタイプ:文字列 |
| status | 要求のステータス。このパラメーターは、要求が失敗した場合にのみ返されます。 可能な値:failure データタイプ:文字列 |
cURL 要求
この例では、既存のアプリケーションを更新します。
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \
--request PATCH \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"appDescription\": \"Updated description of Demo Application created from REST API\",
\"appManufacturerId\": \"262702654725d950a34a3085d36d435e\",
\"appModelOwnerId\": \"6816f79cc0a8016401c5a33be04be441\"
}" \
--user 'username':'password'
応答本文。
{
"result": {
"message": "Application with name Demo Application 1234 updated successfully.",
"data": "38e17dc3473d111072566862736d43c7"
}
}
DevOps 構成:POST /devops_config/アプリケーション
アプリケーションを作成します。
URL 形式
バージョニングされた URL: /api/sn_devops_config/{api_version}/devops_config/application
デフォルト URL: /api/sn_devops_config/devops_config/application
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| appDescription | アプリケーションの説明 データタイプ:文字列 |
| appManagedByGroup | アプリケーションを管理するグループのsys_idsのカンマ区切りリスト。呼び出し元ユーザーは、これらのグループに属している必要があります。データタイプ:文字列 テーブル: Group [sys_user_group] |
| appManufacturerId | メーカーのSys_id。 データタイプ:文字列 テーブル:会社 [core_company] |
| appModelId | アプリケーションの作成に使用する既存のアプリケーションモデルのSys_id。 このパラメーターを指定する場合は、 appName、 appModelName、 appServiceName、 appServiceId、または technicalServiceId パラメーターを指定しないでください。 データタイプ:文字列 テーブル:アプリケーションモデル [cmdb_application_product_model] |
| アプリモデル名 | アプリケーションの作成に使用する既存のアプリケーションモデルの名前。 このパラメーターを指定する場合は、 appName、 appModelId、 appServiceName、 appServiceId、または technicalServiceId パラメーターを指定しないでください。 データタイプ:文字列 テーブル:アプリケーションモデル [cmdb_application_product_model] |
| appModelOwnerId | アプリケーションモデルオーナーのSys_id。 データタイプ:文字列 テーブル:ユーザー [sys_user] |
| appName | アプリケーションの名前。 既存のアプリケーションと同じ名前は使用しないでください。 このパラメーターを指定する場合は、 appModelName、 appModelId、 appServiceName、 appServiceId、または technicalServiceId パラメーターを指定しないでください。 データタイプ:文字列 |
| appServiceId | アプリケーションの作成に使用する既存のアプリケーションサービスのSys_id。 このパラメーターは、typeがアプリケーションである場合にのみ使用します。 このパラメーターを指定する場合は、 appName、 appModelName、 appModelId、 appServiceName、または technicalServiceId パラメーターを指定しないでください。 データタイプ:文字列 テーブル:サービスインスタンス [cmdb_ci_service_auto] |
| appServiceName | アプリケーションの作成に使用する既存のアプリケーションサービスの名前。 このパラメーターは、typeがアプリケーションである場合にのみ使用します。 このパラメーターを指定する場合は、 appName、 appModelName、 appModelId、 appServiceId、または technicalServiceId パラメーターを指定しないでください。 データタイプ:文字列 テーブル:サービスインスタンス [cmdb_ci_service_auto] |
| technicalServiceId | アプリケーションの作成に使用する既存の動的 CI グループのSys_id。 このパラメーターは、typeがインフラストラクチャである場合にのみ使用します。 このパラメーターを指定する場合は、 appName、 appModelName、 appModelId、 appServiceName、または appServiceId パラメーターを指定しないでください。 データタイプ:文字列 テーブル:ダイナミック CI グループ [cmdb_ci_query_based_service] |
| type | 必須。作成するアプリケーションのタイプ。 有効な値:
データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 201 | アプリケーションが正常に作成されました。 |
| 403 | 禁止されました。ユーザーには API にアクセスする権限がありません。 |
| 404 | アプリケーションは作成されませんでした。result オブジェクトの message プロパティには、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON)
| 名前 | 説明 |
|---|---|
| エラー | エラー情報。このパラメーターは、要求が失敗した場合にのみ返されます。 データタイプ: オブジェクト |
| error.detail | 要求が失敗した理由に関するその他の詳細。 データタイプ:文字列 |
| error.message | 要求が失敗した理由を含むエラーメッセージ。 データタイプ:文字列 |
| 結果 | アプリケーションに関する情報を含む結果オブジェクト。 データタイプ: オブジェクト |
| result.data | アプリケーションのSys_id。 データタイプ:文字列 テーブル:CDM アプリケーション [sn_cdm_application] |
| result.message | 要求の成功または失敗の結果に関する情報。 データタイプ:文字列 |
| status | 要求のステータス。このパラメーターは、要求が失敗した場合にのみ返されます。 可能な値:failure データタイプ:文字列 |
cURL 要求
この例では、新しいアプリケーションを作成する方法を示します。
curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"type\": \"application\",
\"appName\": \"Demo Application 1234\",
\"appDescription\": \"Description of Demo Application created from REST API\",
\"appManufacturerId\": \"262702654725d950a34a3085d36d435e\",
\"appModelOwnerId\": \"6816f79cc0a8016401c5a33be04be441\"
}" \
--user 'username':'password'
応答本文。
{
"result": {
"message": "Application with name Demo Application 1234 created successfully.",
"data": "38e17dc3473d111072566862736d43c7"
}
}