Unity Gaming Services CLI
You can use the Unity Gaming Services CLI to interact with schedules. The CLI allows you to manage schedule configurations from the command line.
Prerequisites
For more comprehensive information on the CLI, follow the steps in the Unity Gaming Services CLI Get Started guide.
To follow this guide, you first need to complete the following actions:
Use the following to configure your Project ID and Environment:
ugs config set project-id <your-project-id>
ugs config set environment-name <your-environment-name>
Configure a service account with the required roles for Scheduler and environments management. For more information, refer to Get Authenticated.
Using the CLI
For a full reference of all commands and options, refer to the Schedules Command Line documentation.
Note: The ugs scheduler
command is also available as ugs sched
.
Deploy schedules
Run the new-file
command to create a schedule configuration locally:
ugs scheduler new-file <file-name>
The configuration file contents can look like the following:
{
"$schema": "https://ugs-config-schemas.unity3d.com/v1/schedules.schema.json",
"Configs": {
"Schedule1": {
"EventName": "EventType1",
"Type": "recurring",
"Schedule": "0 * * * *",
"PayloadVersion": 1,
"Payload": "{}"
},
"Schedule2": {
"EventName": "EventType2",
"Type": "one-time",
"Schedule": "2024-03-08T13:06:32.311+00:00",
"PayloadVersion": 1,
"Payload": "{ \"message\": \"Hello, world!\"}"
}
}
}
You can also separate the schedule configurations into multiple files if you need to.
{
"$schema": "https://ugs-config-schemas.unity3d.com/v1/schedules.schema.json",
"Configs": {
"Schedule1": {
"EventName": "EventType1",
"Type": "recurring",
"Schedule": "0 * * * *",
"PayloadVersion": 1,
"Payload": "{}"
}
}
}
{
"$schema": "https://ugs-config-schemas.unity3d.com/v1/schedules.schema.json",
"Configs": {
"Schedule2": {
"EventName": "EventType2",
"Type": "one-time",
"Schedule": "2024-03-08T13:06:32.311+00:00",
"PayloadVersion": 1,
"Payload": "{ \"message\": \"Hello, world!\"}"
}
}
}
You can use the Deploy
command to promote your local schedule configuration files to the remote environment.
You need to deploy the configuration files for them to become active schedules.
ugs deploy <path-to-schedules-file> <path-to-schedules-file>
ugs deploy <path-to-directory>
Retrieve schedules
To list all currently active schedules, run the following command:
ugs scheduler list
You can use the Fetch
command to retrieve multiple schedules from remote at once.
The provided path is the directory that schedules are saved to:
ugs fetch <path>
Delete schedules
You can delete a schedule by running the deploy
command with a --reconcile
flag.
Warning: Reconcile is a destructive operation. It deletes all schedules that are not present in the provided path.
You can check the output of the command with the --dry-run
flag before running the command without it.
ugs deploy --services scheduler <path-to-config-file> --reconcile