ドキュメント

サポート

Cloud Code

HTTP API

Create and manage schedule configurations that emit events at set or recurring moments using the REST API.
読み終わるまでの所要時間 2 分最終更新 23日前

Raw HTTP API を使用して、スケジュール設定を管理できます。スケジュール設定をデプロイすることにより、設定した時刻または反復的な瞬間にイベントを発行するスケジュールを作成します。

API の使用

Scheduler Admin API のドキュメントには、スケジュールの作成、読み取り、削除などの管理操作の詳細な説明が記載されています。 ドキュメントには、認証、エンドポイント、およびリクエストとレスポンスの形式に関する情報が、例とともに記載されています。これらを OpenAPI 形式でダウンロードし、独自の自動化を設定するために使用できます。 API を使用するには、サービスアカウント を使用して認証します。

Authorization ヘッダー

リクエストを認証するには、Basic 認証 を使用します。サービスアカウントと base64 エンコード
<KEY_ID>:<SECRET_KEY>
を作成し、それを
Authorization
ヘッダーの値として使用します。
--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>' \

スケジュールのデプロイ

以下のリクエストを送信することで、反復的なスケジュール設定をリモート環境にデプロイできます。
curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs' \--header 'Content-Type: application/json' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>' \--data '{ "name": "Example Recurring every hour", "eventName": "example-event", "type": "recurring", "schedule": "0 * * * *", "payloadVersion": 1, "payload": "{}"}'
正常なレスポンスにはスケジュール ID が含まれます。例を次に示します。
{ "id": "f58a376c-2d4d-50a9-a231-61477fdaf5da"}
この ID を使用して、スケジュール設定を取得するか、それを削除できます。 スケジュール設定をデプロイすると、指定した時刻に自動的にトリガーされ、Triggers サービスにイベントが送信されます。

スケジュールの取得

以下のリクエストを送信することで、デプロイしたスケジュールを調べることができます。
curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs/<CONFIG_ID>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
レスポンスは以下のようになります:
{ "id": "string", "name": "Example Recurring every hour", "eventName": "example-event", "type": "recurring", "schedule": "0 * * * *", "payloadVersion": 1, "payload": "{}"}
レスポンスには以下のフィールドが含まれます。
  • id
    : スケジュール設定 ID。
  • name
    : スケジュール設定名。
  • eventName
    : スケジュールがトリガーされるときに発行されるイベントの名前。
  • type
    : スケジュール設定のタイプ。
    recurring
    または
    one-time
    にすることができます。
  • schedule
    :
    type
    フィールドに応じて cron 形式または RFC3339 タイムスタンプでのスケジュール設定。
  • payloadVersion
    : ペイロードのバージョン。
  • payload
    : パラメーターを Cloud Code スクリプトまたはモジュールに転送するためにイベントペイロードとして使用される
    JSON
    オブジェクト。
デプロイしたすべてのスケジュールをプレビューするには、以下のリクエストを送信します。
curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
レスポンスは以下のようになります:
{ "configs": [ { "id": "a0fa56fd-9763-5590-9452-769be3e6c5bb", "name": "Example One Time 2", "eventName": "example-event", "type": "one-time", "schedule": "2024-01-14T07:20:50Z", "payloadVersion": 1, "payload": "{}" }, { "id": "f58a376c-2d4d-50a9-a231-61477fdaf5da", "name": "Example Recurring every hour", "eventName": "example-event", "type": "recurring", "schedule": "0 * * * *", "payloadVersion": 1, "payload": "{}" }, { "id": "fb3e6636-1a99-5a82-97b4-74b5f6678bb2", "name": "Example One Time", "eventName": "example-event", "type": "one-time", "schedule": "2024-01-12T07:20:50Z", "payloadVersion": 1, "payload": "{}" } ], "after": ""}
クエリパラメーターを設定してページ処理を使用することもできます。例えば、最初の 2 つの設定を取得するには、以下のリクエストを送信します。
curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs?limit=2' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
レスポンスは以下のようになります。
{ "configs": [ { "id": "f58a376c-2d4d-50a9-a231-61477fdaf5da", "name": "Example Recurring every hour", "eventName": "example-event", "type": "recurring", "schedule": "0 * * * *", "payloadVersion": 1, "payload": "{}" }, { "id": "a0fa56fd-9763-5590-9452-769be3e6c5bb", "name": "Example One Time 2", "eventName": "example-event", "type": "one-time", "schedule": "2024-01-14T07:20:50Z", "payloadVersion": 1, "payload": "{}" } ], "after": "<TOKEN>"}
after
トークンを使用して、次の結果ページを取得できます。例を次に示します。
curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs?limit=2&after=<TOKEN>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
最後のスケジュールが返されます。
{ "configs": [ { "id": "fb3e6636-1a99-5a82-97b4-74b5f6678bb2", "name": "Example One Time", "eventName": "example-event", "type": "one-time", "schedule": "2024-01-12T07:20:50Z", "payloadVersion": 1, "payload": "{}" } ], "after": ""}

スケジュールの削除

以下のリクエストを送信することで、スケジュール設定を削除できます。
curl --request DELETE 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs/<CONFIG_ID>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
空のレスポンスは削除に成功したことを示します。