クラウドランナーテストユーザー REST API

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:18分
  • 自動テストフレームワーク (ATF) のクラウドランナーで実行されるテストユーザージョブを管理します。

    クラウドランナーテストユーザー API には、ATF Test Generator and Cloud Runner (sn_atf_tg) プラグインが必要です。この API で使用できるメソッドは Now 名前空間で実行され、REST API エクスプローラーで API 名、 ATF のワンクリック回帰テストを使用して呼び出すことができます。この API にアクセスするには、admin ロールが必要です。

    この API は、次のタスクに使用できます。
    • ユーザーテストジョブを開始します。
    • クラウドユーザーを設定します。
    • 指定されたユーザーが有効かどうかを確認します。
    • ユーザーテストジョブの進行状況を確認します。
    • テストジョブをキャンセルします。

    クラウドランナーテストランナー API は、クラウドランナーテスト生成 REST APIおよび クラウドランナーテストユーザー REST API と連携して使用できます。たとえば、テスト (Cloud Runner Test Generation API) を生成し、ブラウザーオーケストレーションキュー (Cloud Runner TEST Generation API) でテストの進行状況を取得し、合格または不合格になったテストの数を確認できます。

    この API のサーバー API リファレンスドキュメントを表示するには、「 クラウドランナー TestUserApi:スコープ指定、グローバル」を参照してください。

    クラウドランナーテストユーザー:GET /now/sn_atf_tg/test_user_progress

    指定されたブラウザオーケストレーションキュー (BOQ) レコードのテストユーザージョブのステータスを提供します。

    URL 形式

    デフォルト URL:GET /api/now/sn_atf_tg/test_user_progress

    サポートされている要求パラメーター

    表 : 1. パスパラメーター
    名前 説明
    なし
    表 : 2. クエリパラメーター
    名前 説明
    snboqId 必須。進行状況を取得するテストユーザージョブの BOQ レコードsys_id。

    データタイプ:文字列

    テーブル:BOQ [sn_atf_tg_sn_boq]

    表 : 3. 要求本文パラメーター (XML または JSON)
    名前 説明
    なし

    ヘッダー

    次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 4. 要求ヘッダー
    ヘッダー 説明
    受容 応答本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    表 : 5. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 6. ステータスコード
    ステータスコード 説明
    200 テストユーザージョブの進捗状況が正常に取得されました。
    400 BOQ レコードステータスの取得中にエラーが発生しました。次のいずれかのメッセージを返します。
    • BOQ ID が渡されませんでした:BOQ ID が指定されていません。BOQ ID を要求本文に追加します。
    • BOQ レコードが見つかりません:無効な Sys ID。BOQ レコードのsys_idが有効であり、レコードが存在することを確認します。
    403 エンドポイントへのユーザーアクセスの許可中にエラーが発生しました。ユーザーに admin ロールがあることを確認します。

    応答本文のパラメーター (JSON または XML)

    名前 説明
    結果 テストランナージョブの進行状況の結果、または要求が失敗した理由を説明するメッセージを含むオブジェクト。
    "result": { 
        "progress": 100, 
        "state": "completed" 
      }

    または:

    "result": { 
        "message": "String"
    }

    データタイプ:オブジェクト

    result.message テストランナーの進捗状況を取得できない理由を詳述したエラーメッセージ。message パラメーターは、正常な応答では返されません。

    データタイプ:文字列

    result.progress 実行中ステータスでのテストの完了にどの程度近づいているかを示すパーセンテージ。

    データタイプ:数値

    result.state BOQ レコードの現在のステータス。

    可能な値:

    • ブラウザーが要求されました:テスト生成またはテスト実行のためにブラウザーを起動するための要求がクラウドインフラストラクチャに送信されました。
    • 完了:テストタスクが完了しました。
    • 失敗ステータス:テストタスクが失敗しました。
    • 処理待ち:要求されたテストアクティビティが作成され、実行を待機しています。
    • 処理中:インスタンスはレコードをスキャンして、要求がクラウドインフラストラクチャに送信される前に、実行トラッカーがクラウドランナー用にマークされていることを確認します。
    • 実行中:クラウドインフラストラクチャブラウザーは、保留中のテストを検索して実行します。

    データタイプ:文字列

    cURL 要求

    次の要求例は、テストユーザージョブの進行状況を確認する方法を示しています。

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_user_progress?snboqId=<sys_id of SNBOQ record>" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username:password"

    応答本文:

    { 
      "result": { 
        "progress": 100, 
        "state": "completed" 
      } 
    }

    クラウドランナーテストユーザー:GET /now/sn_atf_tg/is_valid_cloud_user

    指定されたユーザーが有効なクラウドユーザーであるかどうかを確認します。

    このメソッドは、ユーザーが次の基準を満たしているかどうかを確認します。
    • 存在する、
    • アクティブである。
    • ロックアウトされていない。
    • パスワードリセットが必要です。
    • アドミンであり、
    • 読み取り専用です。
    • Web サービスのみ

    URL 形式

    デフォルト URL:GET /api/now/sn_atf_tg/is_valid_cloud_user

    サポートされている要求パラメーター

    表 : 7. パスパラメーター
    名前 説明
    なし
    表 : 8. クエリパラメーター
    名前 説明
    ユーザー名 必須。ユーザーが次のベースライン基準を満たしているかどうかを確認するsys_userのユーザー名。
    • 存在する、
    • アクティブである。
    • ロックアウトされていない。
    • パスワードリセットが必要です。
    • アドミンであり、
    • 読み取り専用です。
    • Web サービスのみ

    これらの条件のいずれかが満たされない場合、API はどの条件が失敗したかに関するメッセージとともに false ブールを返します。

    データタイプ:文字列

    表 : 9. 要求本文パラメーター (XML または JSON)
    名前 説明
    なし

    ヘッダー

    次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 10. 要求ヘッダー
    ヘッダー 説明
    受容 応答本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    表 : 11. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 12. ステータスコード
    ステータスコード 説明
    200 ユーザーが有効でクラウドユーザー基準を満たしている場合、true または false を返します。
    403 エンドポイントへのユーザーアクセスの許可中にエラーが発生しました。ユーザーに admin ロールがあることを確認します。

    応答本文のパラメーター (JSON または XML)

    名前 説明
    結果 要求の結果を含むオブジェクト。
    
      "result": { 
        "validUser": Boolean 
      }

    データタイプ:オブジェクト

    result.validUser ユーザーがクラウドユーザー基準を満たしているかどうかを示すフラグ。true の場合、ユーザーは基準を満たしています。

    データタイプ:ブール

    cURL 要求

    次の要求では、指定されたsys_userがクラウド機能を使用するための基準を満たしているかどうかを確認します。

    curl "http://instance.service-now.com/api/now/sn_atf_tg/is_valid_cloud_user?username=<username of sys_user to check>" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username:password"

    応答本文:

    { 
      "result": { 
        "validUser": <Boolean value indicating whether user is valid cloud user> 
      } 
    }

    クラウドランナーテストユーザー:POST /now/sn_atf_tg/test_user

    指定されたユーザー名の BOQ [sn_atf_tg_sn_boq] テーブルにテストユーザージョブを挿入します。このジョブはクラウドランナーで実行されます。

    URL 形式

    デフォルト URL:POST /api/now/sn_atf_tg/test_user

    サポートされている要求パラメーター

    表 : 13. パスパラメーター
    名前 説明
    なし
    表 : 14. クエリパラメーター
    名前 説明
    なし
    表 : 15. 要求本文パラメーター (XML または JSON)
    名前 説明
    ユーザー名 必須。クラウドランナーのエンドツーエンドインフラストラクチャをテストするsys_userのユーザー名。

    データタイプ:文字列

    ヘッダー

    次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 16. 要求ヘッダー
    ヘッダー 説明
    受容 応答本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    Content-Type 要求本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    表 : 17. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 18. ステータスコード
    ステータスコード 説明
    200 テストユーザー BOQ ジョブが正常に挿入されました。
    400 テストユーザージョブの開始中にエラーが発生しました。

    空のユーザー名が指定された場合、またはテーブルにユーザーが見つからない場合sys_userサーバーはエラーをスローします。

    403 エンドポイントへのユーザーアクセスの許可中にエラーが発生しました。ユーザーに admin ロールがあることを確認します。

    応答本文のパラメーター (JSON または XML)

    名前 説明
    結果 要求の結果を含むオブジェクト。
    
      "result": { 
        "snboqId": String
      }

    または:

    "result": { 
        "message": "String"
    }

    データタイプ:オブジェクト

    result.message ユーザー名にテスト機能をアサインできない理由を詳述したエラーメッセージ。message パラメーターは、正常な応答では返されません。

    データタイプ:文字列

    result.snboqId テストユーザージョブが正常に開始されたときに挿入される BOQ レコードのSys_id。

    データタイプ:文字列

    テーブル:BOQ [sn_atf_tg_sn_boq]

    cURL 要求

    次の要求例は、特定のユーザー名の BOQ [sn_atf_tg_sn_boq] テーブルにテストユーザージョブを挿入する方法を示しています。

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_user" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"username\":\"<username of sys_user to test cloud infrastructure>\"}" \ 
    --user "username:password"

    応答は、テストユーザージョブの開始時に挿入される BOQ レコードのsys_idを返します。

    { 
      "result": { 
        "snboqId": "<sys_id of newly inserted BOQ record>" 
      } 
    }

    次の例では、ユーザー名が渡されなかったり無効なユーザー名が渡されたりした場合に、400 エラーメッセージが返されます。

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_user" \
    --request POST \
    --header "Accept:application/json" \
    --user "username:password"

    応答:

    {
      "result": {
        "message": "Unable to set cloud user as cloud user not valid"
      }
    }

    クラウドランナーテストユーザー:POST /now/sn_atf_tg/cancel_test_user

    ブラウザオーケストレーションキュー (BOQ) [sn_atf_tg_sn_boq] テーブルのテストユーザージョブステータスを完了に設定します。

    URL 形式

    デフォルト URL:POST /api/now/sn_atf_tg/cancel_test_user

    サポートされている要求パラメーター

    表 : 19. パスパラメーター
    名前 説明
    なし
    表 : 20. クエリパラメーター
    名前 説明
    なし
    表 : 21. 要求本文パラメーター (XML または JSON)
    名前 説明
    snboqId 必須。テストユーザージョブに関連付けられたキャンセルする BOQ レコードのSys_id。

    データタイプ:文字列

    テーブル:SNBOQ [sn_atf_tg_sn_boq]

    ヘッダー

    次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 22. 要求ヘッダー
    ヘッダー 説明
    受容 応答本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    Content-Type 要求本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    表 : 23. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 24. ステータスコード
    ステータスコード 説明
    200 BOQ ジョブが正常にキャンセルされました。
    400 ジョブのキャンセル中にエラーが発生しました。次のいずれかのメッセージを返します。
    • BOQ ID が渡されませんでした:BOQ ID が指定されていません。BOQ ID を要求本文に追加します。
    • BOQ レコードが見つかりません:無効な Sys ID。BOQ レコードのsys_idが有効であり、レコードが存在することを確認します。
    403 エンドポイントへのユーザーアクセスの許可中にエラーが発生しました。ユーザーに admin ロールがあることを確認します。

    応答本文のパラメーター (JSON または XML)

    名前 説明
    結果 要求の結果を含むオブジェクト。
    
      "result": { 
        "message": String
      }

    データタイプ:オブジェクト

    result.message テストユーザーのキャンセルが成功したかどうかを詳述するメッセージ。

    データタイプ:文字列

    cURL 要求

    次の要求は、ブラウザオーケストレーションキュー [sn_atf_tg_sn_boq] テーブルのテストユーザージョブをキャンセルする方法を示しています。

    curl "https://instance.service-now.com/api/now/sn_atf_tg/cancel_test_user" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"snboqId\":\"<sys_id of BOQ record>\"}" \ 
    --user "username:password"

    成功応答本文:

    { 
      "result": { 
        "message": "success" 
      } 
    }

    クラウドランナーテストユーザー:POST /now/sn_atf_tg/select_cloud_user

    クラウドランナーでエンドツーエンドのテストユーザージョブを開始します。ユーザーが admin ロールでログインできる場合、今後のテスト実行とテスト生成では、クラウドユーザープロパティはデフォルトでこのユーザーに設定されます。

    URL 形式

    デフォルト URL:POST /api/now/sn_atf_tg/select_cloud_user

    サポートされている要求パラメーター

    表 : 25. パスパラメーター
    名前 説明
    なし
    表 : 26. クエリパラメーター
    名前 説明
    なし
    表 : 27. 要求本文パラメーター (XML または JSON)
    名前 説明
    ユーザー名 必須。将来のテストランナーおよびテスト生成ジョブ用にクラウドユーザーをテストおよび設定するsys_userのユーザー名。

    データタイプ:文字列

    ヘッダー

    次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 28. 要求ヘッダー
    ヘッダー 説明
    受容 応答本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    Content-Type 要求本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    表 : 29. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 30. ステータスコード
    ステータスコード 説明
    200 エンドツーエンドのクラウドランナーインフラストラクチャのテストに成功し、将来のテスト実行およびテスト生成ジョブ用にクラウドユーザーを設定しました。
    400 完全なエンドツーエンドのクラウドランナーインフラストラクチャのテストとクラウドユーザーの設定中にエラーが発生しました。ユーザー名が空でないこと、または指定されたユーザー名のsys_userテーブルにユーザーが存在することを確認します。
    403 エンドポイントへのユーザーアクセスの許可中にエラーが発生しました。ユーザーに admin ロールがあることを確認します。

    応答本文のパラメーター (JSON または XML)

    名前 説明
    結果 要求の結果を含むオブジェクト。
    
      "result": { 
        "message": "String"
      }

    データタイプ:オブジェクト

    result.message クラウドランナーインフラストラクチャでの今後のテスト実行およびテスト生成にユーザーが正常に選択されたかどうかを詳述するメッセージ。

    データタイプ:文字列

    cURL 要求

    次の例は、Cloud Runner インフラストラクチャでの今後のテスト実行およびテスト生成のために特定のユーザーを選択するように要求する方法を示しています。

    curl "https://instance.service-now.com/api/now/sn_atf_tg/select_cloud_user" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"username\":\"<username of sys_user to set as cloud user>\"}" \ 
    --user "username:password"

    応答本文は、クラウドユーザーがテストの実行と生成に正常に選択されたことを示す成功メッセージを返します。

    { 
      "result": { 
        "message": "success" 
      } 
    }