Pipeline Automation
Pipeline Automation service v0.0.79, it provides endpoints for managing and running pipelines and automations.
Download OpenAPI specification:
List all Apps
Description: Returns all accessible apps (latest version) (private and public) to the organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List all Apps":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ]}
Create an app
Description: Creates a new app, returns the first app version of that app.
Required Role: Automation Developer
Required Feature Flag: automation_organization_creator_access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Create an app":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "version": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "metadata": {}, "id": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps"
Response example
{ "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": null, "description": null } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}, "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ "string" ], "description": "string" } ]}
Update an app
Description: Updates an app, returns the updated app.
Required Role: Automation Developer
Required Feature Flag: automation_organization_creator_access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Update an app":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "metadata": {}}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}"
Response example
{ "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {}}
Get all versions from App
Description: Returns all versions of an App that is accessible to your organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get all versions from App":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ]}
Create App Version
Description: Creates a new App version. Can only be called from the organization the app belongs to.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Create App Version":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "version": "string", "metadata": {}, "requiredEntitlements": [ { "entitlementIds": [ "string" ], "description": "string" } ], "baseVersion": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions"
Response example
{ "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": null, "description": null } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}, "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ "string" ], "description": "string" } ]}
Get App Version
Description: Returns the details of the app version that is accessible to your organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get App Version":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}"
Response example
{ "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": null, "description": null } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}, "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ "string" ], "description": "string" } ]}
Update App Version
Description: Updates an App version. Can only be called from the organization the app belongs to.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Update App Version":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "metadata": {}, "requiredEntitlements": [ { "entitlementIds": [ "string" ], "description": "string" } ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}"
Response example
{ "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": null, "description": null } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}, "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ "string" ], "description": "string" } ]}
Delete Draft App Version
Description: Deletes an app version. Can only be called from the organization the app belongs to, and for an unused app version that is in Draft state.
Required Role: Automation Developer
Required Feature Flag: automation_organization_creator_access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete Draft App Version":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Get App Version Config
Description: Returns the config of the app version from your organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get App Version Config":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/config"
Response example
{ "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "action": { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": null, "name": null, "type": null, "description": null, "required": null, "acceptedValues": null, "regexPattern": null, "defaultValue": null, "metadata": null, "isList": null, "minItems": null, "maxItems": null, "masked": null } ], "outputParameters": [ { "displayName": null, "name": null, "type": null, "description": null } ], "secrets": [ { "secretName": null, "displayName": null, "description": null, "required": null } ], "requirements": { "configurationIds": [ null ], "entitlements": [ null ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": null, "description": null, "required": null } ] }, "definition": { "type": "string", "outputMapping": { "actionOutputs": [ null ] }, "environmentMapping": [ { "name": null, "value": null } ], "internalStorages": [ { "type": null, "name": null, "sizeLimit": null } ], "semaphores": [ "string" ], "impersonationContext": { "projectId": "string", "environmentName": "string" }, "imageName": "string", "imagePath": "string", "command": [ "string" ], "args": [ "string" ], "artifacts": [ { "name": null, "path": null, "data": null } ], "errorCodes": [ { "exitCode": null, "message": null } ], "embeddedSecrets": [ { "secretName": null, "source": null } ], "daemon": true, "readinessProbe": { "execCommand": [ null ], "httpGet": { "path": null, "port": null }, "initialDelaySeconds": 0, "periodSeconds": 0, "failureThreshold": 0 }, "ports": [ { "containerPort": null, "name": null } ] } } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}, "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ "string" ], "description": "string" } ]}
Change App State
Description: An app status can go from Draft to Available or Archived, from Available to Deprecated (with an optional ArchivingDate in UTC format passed in the body), Deprecated to Deprecated (specifying ArchivingDate in the body) and from Deprecated to Archived. Can only be called from the organization the app belongs to.
Required Role: Automation Developer
Required Feature Flag: automation_organization_creator_access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Change App State":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "archivingDate": "2024-01-01T00:00:00Z"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/status/{targetStatus}"
Response example
{ "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z"}
Make an App public
Description: Moves the app version visibility from private to public. Can only be called from the organization the app belongs to.
Required Role: Automation Developer
Required Feature Flag: automation_organization_creator_access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Make an App public":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/publish"
Response example
{ "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z"}
Create new App Action
Description: Creates a new app action. Can only be called from the organization the app belongs to. App version needs to be in a draft status.
Required Role: Automation Developer
Required Feature Flag: automation_organization_creator_access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Create new App Action"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsCode samples for "Create new App Action":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "action": { "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": [ null ], "description": "string" } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] }, "definition": { "type": "string", "outputMapping": { "actionOutputs": [ { "type": "string", "name": "string", "file": "string" } ] }, "environmentMapping": [ { "name": "string", "value": "string" } ], "internalStorages": [ { "type": "string", "name": "string", "sizeLimit": "string" } ], "semaphores": [ "string" ], "impersonationContext": { "projectId": "string", "environmentName": "string" }, "imageName": "string", "imagePath": "string", "command": [ "string" ], "args": [ "string" ], "artifacts": [ { "name": "string", "path": "string", "data": "string" } ], "errorCodes": [ { "exitCode": 0, "message": "string" } ], "embeddedSecrets": [ { "secretName": "string", "source": { "type": "None" } } ], "daemon": true, "readinessProbe": { "execCommand": [ "string" ], "httpGet": { "path": "string", "port": "string" }, "initialDelaySeconds": 0, "periodSeconds": 0, "failureThreshold": 0 }, "ports": [ { "containerPort": 0, "name": "string" } ] }}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/actions"
Response example
{ "action": { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": [ null ], "description": "string" } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] }, "definition": { "type": "string", "outputMapping": { "actionOutputs": [ { "type": "string", "name": "string", "file": "string" } ] }, "environmentMapping": [ { "name": "string", "value": "string" } ], "internalStorages": [ { "type": "string", "name": "string", "sizeLimit": "string" } ], "semaphores": [ "string" ], "impersonationContext": { "projectId": "string", "environmentName": "string" }, "imageName": "string", "imagePath": "string", "command": [ "string" ], "args": [ "string" ], "artifacts": [ { "name": "string", "path": "string", "data": "string" } ], "errorCodes": [ { "exitCode": 0, "message": "string" } ], "embeddedSecrets": [ { "secretName": "string", "source": { "type": "None" } } ], "daemon": true, "readinessProbe": { "execCommand": [ "string" ], "httpGet": { "path": "string", "port": "string" }, "initialDelaySeconds": 0, "periodSeconds": 0, "failureThreshold": 0 }, "ports": [ { "containerPort": 0, "name": "string" } ] }}
Get App Action
Description: Get the details on an app action. Can only be called from the organization the app belongs to.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get App Action":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/actions/{actionId}"
Response example
{ "action": { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": [ null ], "description": "string" } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] }, "definition": { "type": "string", "outputMapping": { "actionOutputs": [ { "type": "string", "name": "string", "file": "string" } ] }, "environmentMapping": [ { "name": "string", "value": "string" } ], "internalStorages": [ { "type": "string", "name": "string", "sizeLimit": "string" } ], "semaphores": [ "string" ], "impersonationContext": { "projectId": "string", "environmentName": "string" }, "imageName": "string", "imagePath": "string", "command": [ "string" ], "args": [ "string" ], "artifacts": [ { "name": "string", "path": "string", "data": "string" } ], "errorCodes": [ { "exitCode": 0, "message": "string" } ], "embeddedSecrets": [ { "secretName": "string", "source": { "type": "None" } } ], "daemon": true, "readinessProbe": { "execCommand": [ "string" ], "httpGet": { "path": "string", "port": "string" }, "initialDelaySeconds": 0, "periodSeconds": 0, "failureThreshold": 0 }, "ports": [ { "containerPort": 0, "name": "string" } ] }}
Update App Action
Description: Updates an app action. Can only be called from the organization the app belongs to. App version needs to be in a draft status.
Required Role: Automation Developer
Required Feature Flag: automation_organization_creator_access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Update App Action"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsCode samples for "Update App Action":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "action": { "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": [ null ], "description": "string" } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] }, "definition": { "type": "string", "outputMapping": { "actionOutputs": [ { "type": "string", "name": "string", "file": "string" } ] }, "environmentMapping": [ { "name": "string", "value": "string" } ], "internalStorages": [ { "type": "string", "name": "string", "sizeLimit": "string" } ], "semaphores": [ "string" ], "impersonationContext": { "projectId": "string", "environmentName": "string" }, "imageName": "string", "imagePath": "string", "command": [ "string" ], "args": [ "string" ], "artifacts": [ { "name": "string", "path": "string", "data": "string" } ], "errorCodes": [ { "exitCode": 0, "message": "string" } ], "embeddedSecrets": [ { "secretName": "string", "source": { "type": "None" } } ], "daemon": true, "readinessProbe": { "execCommand": [ "string" ], "httpGet": { "path": "string", "port": "string" }, "initialDelaySeconds": 0, "periodSeconds": 0, "failureThreshold": 0 }, "ports": [ { "containerPort": 0, "name": "string" } ] }}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/actions/{actionId}"
Response example
{ "action": { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": { "configurationIds": [ "string" ], "entitlements": [ { "entitlementIds": [ null ], "description": "string" } ] }, "metadata": {}, "timeout": { "defaultValue": 0, "minValue": 0, "maxValue": 0 }, "storages": [ { "name": "string", "description": "string", "required": true } ] }, "definition": { "type": "string", "outputMapping": { "actionOutputs": [ { "type": "string", "name": "string", "file": "string" } ] }, "environmentMapping": [ { "name": "string", "value": "string" } ], "internalStorages": [ { "type": "string", "name": "string", "sizeLimit": "string" } ], "semaphores": [ "string" ], "impersonationContext": { "projectId": "string", "environmentName": "string" }, "imageName": "string", "imagePath": "string", "command": [ "string" ], "args": [ "string" ], "artifacts": [ { "name": "string", "path": "string", "data": "string" } ], "errorCodes": [ { "exitCode": 0, "message": "string" } ], "embeddedSecrets": [ { "secretName": "string", "source": { "type": "None" } } ], "daemon": true, "readinessProbe": { "execCommand": [ "string" ], "httpGet": { "path": "string", "port": "string" }, "initialDelaySeconds": 0, "periodSeconds": 0, "failureThreshold": 0 }, "ports": [ { "containerPort": 0, "name": "string" } ] }}
Delete App Action
Description: Deletes an app action. Can only be called from the organization the app belongs to. App version needs to be in a draft status.
Required Role: Automation Developer
Required Feature Flag: automation_organization_creator_access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete App Action":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/actions/{actionId}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Create new App Event
Description: Creates a new event. Can only be called from the organization the app belongs to. App version needs to be in a draft status.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Create new App Event"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsCode samples for "Create new App Event":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/events"
Response example
{ "id": "string", "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}, "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }}
Get App Event
Description: Get the details on an app event. Can only be called from the organization the app belongs to.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get App Event":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/events/{eventId}"
Response example
{ "id": "string", "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}, "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }}
Update App Event
Description: Updates an event. Can only be called from the organization the app belongs to. App version needs to be in a draft status.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Update App Event"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsCode samples for "Update App Event":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/events/{eventId}"
Response example
{ "id": "string", "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "definition": { "type": "string", "url": "string", "headers": {}, "body": {}, "deleteUrl": "string", "deleteBody": {}, "eventFilter": {}, "outputParameterMapping": {}, "signature": { "algo": "HMACSHA256", "verifyHeader": "string" } }, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "requirements": {}, "metadata": {}, "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }}
Delete App Event
Description: Deletes an event. Can only be called from the organization the app belongs to. App version needs to be in a draft status.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete App Event":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/events/{eventId}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
List all Automations
Description: Returns all automations from this organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List all Automations":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/automations"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "automationId": "string", "name": "string", "description": "string", "enabled": true, "triggerCount": 0, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string", "bot": { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" }, "systemMetadata": {} } ]}
Create a new Automation
Description: Creates a new automation for this organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Create a new Automation":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/automations"
Response example
{ "automationId": "string", "name": "string", "description": "string", "enabled": true, "triggerCount": 0, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string", "bot": { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" }, "systemMetadata": {}}
Get Automation
Description: Returns a specific automation.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get Automation":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/automations/{automationId}"
Response example
{ "automationId": "string", "name": "string", "description": "string", "enabled": true, "triggerCount": 0, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string", "bot": { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" }, "systemMetadata": {}}
Update Automation
Description: Updates an automation.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Update Automation":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "enabled": true, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/automations/{automationId}"
Response example
{ "automationId": "string", "name": "string", "description": "string", "enabled": true, "triggerCount": 0, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string", "bot": { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" }, "systemMetadata": {}}
Delete Automation
Description: Deletes an automation.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete Automation":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/automations/{automationId}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Trigger Webhook Event
Description: Trigger a webhook event.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Trigger Webhook Event":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/automations/{automationId}/webhook"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
List all Project Automations
Description: Returns all automations from this project.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List all Project Automations":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/automations"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "automationId": "string", "name": "string", "description": "string", "enabled": true, "triggerCount": 0, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string", "bot": { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" }, "systemMetadata": {} } ]}
Create a new Project Automation
Description: Creates a new automation for this project.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Create a new Project Automation":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/automations"
Response example
{ "automationId": "string", "name": "string", "description": "string", "enabled": true, "triggerCount": 0, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string", "bot": { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" }, "systemMetadata": {}}
Get Project Automation
Description: Returns a specific automation.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get Project Automation":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/automations/{automationId}"
Response example
{ "automationId": "string", "name": "string", "description": "string", "enabled": true, "triggerCount": 0, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string", "bot": { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" }, "systemMetadata": {}}
Update Project Automation
Description: Updates a project automation.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Update Project Automation":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "enabled": true, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/automations/{automationId}"
Response example
{ "automationId": "string", "name": "string", "description": "string", "enabled": true, "triggerCount": 0, "pipelineId": "string", "version": "string", "inputs": {}, "secrets": {}, "trigger": { "triggerType": "Schedule", "schedule": { "cron": "string" }, "event": { "eventId": "string", "inputParameters": {}, "secrets": {}, "eventSecretToken": "string" } }, "botId": "string", "bot": { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" }, "systemMetadata": {}}
Delete Project Automation
Description: Deletes a project automation.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete Project Automation":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/automations/{automationId}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Trigger Webhook Event
Description: Trigger a webhook event.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Trigger Webhook Event":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/automations/{automationId}/webhook"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
List all automation bots
Description: Returns all automation bots from this organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List all automation bots":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/bots"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" } ]}
Create a new automation bot
Description: Creates a new automation bot for this organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Create a new automation bot":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/bots"
Response example
{ "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available"}
Get an automation bot
Description: Returns a specific bot. Can only be called from the organization the bot belongs to.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get an automation bot":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/bots/{botId}"
Response example
{ "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available"}
Update an automation bot
Description: Updates an automation bot. Can only be called from the organization the bot belongs to.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Update an automation bot":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "description": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/bots/{botId}"
Response example
{ "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available"}
Delete an automation bot
Description: Deletes an automation bot. Can only be called from the organization the bot belongs to and for an unused bot.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete an automation bot":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/bots/{botId}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
List all project automation bots
Description: Returns all automation bots from this project.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List all project automation bots":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/bots"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available" } ]}
Create a new project automation bot
Description: Creates a new automation bot for this project.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Create a new project automation bot":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/bots"
Response example
{ "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available"}
Get a project automation bot
Description: Returns a specific bot. Can only be called from the organization and project the bot belongs to.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get a project automation bot":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/bots/{botId}"
Response example
{ "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available"}
Update a project automation bot
Description: Updates a project automation bot. Can only be called from the organization and project the bot belongs to.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Update a project automation bot":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "description": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/bots/{botId}"
Response example
{ "id": "string", "name": "string", "description": "string", "organizationId": "string", "projectId": "string", "serviceAccountId": "string", "serviceAccountKeyId": "string", "status": "Available"}
Delete a project automation bot
Description: Deletes a project automation bot. Can only be called from the project the bot belongs to and for an unused bot.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete a project automation bot":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/bots/{botId}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Get all configuration profiles for organization
Description: Get the list of configuration profiles available to use.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get all configuration profiles for organization":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/configurations/profiles"
Response example
{ "configurationProfiles": [ { "id": "string", "name": "string", "description": "string", "hardware": { "sku": "string", "cpuLimit": 0, "cpuRequest": 0, "memoryLimit": "string", "memoryRequest": "string", "gpu": "string", "storage": "string", "uom": "string" }, "software": [ { "name": "string", "sku": "string", "uom": "string" } ], "exclusiveToOrg": [ "string" ], "exclusiveToApp": [ "string" ], "tolerationOverride": [ { "key": "string", "operator": "string", "value": "string", "effect": "string" } ], "affinityOverride": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": [ null ], "preferredDuringSchedulingIgnoredDuringExecution": [ null ] } } } ]}
Get configuration profile
Description: Get a specific configuration profile information.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get configuration profile":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/configurations/profiles/{profileId}"
Response example
{ "configurationProfiles": [ { "id": "string", "name": "string", "description": "string", "hardware": { "sku": "string", "cpuLimit": 0, "cpuRequest": 0, "memoryLimit": "string", "memoryRequest": "string", "gpu": "string", "storage": "string", "uom": "string" }, "software": [ { "name": "string", "sku": "string", "uom": "string" } ], "exclusiveToOrg": [ "string" ], "exclusiveToApp": [ "string" ], "tolerationOverride": [ { "key": "string", "operator": "string", "value": "string", "effect": "string" } ], "affinityOverride": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": [ null ], "preferredDuringSchedulingIgnoredDuringExecution": [ null ] } } } ]}
List all jobs
Description: List all jobs created in this organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List all jobs":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/jobs"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {} } ]}
Get job
Description: Gets a job from a job id.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get job":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/jobs/{jobId}"
Response example
{ "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "steps": [ { "pipelineStepId": "string", "name": "string", "condition": { "statement": "string", "result": true }, "inputParameters": {}, "outputParameters": {}, "dependencies": [ "string" ], "status": "Pending", "error": "string", "retryCount": 0, "progress": 0, "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "configurationId": "string", "timeout": 0, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "actionId": "string", "jobPipelineUid": "string", "depth": 0, "retryOfStepId": "string", "retryAttempt": 0 } ], "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {}, "jobPipelineUids": {}}
Get job stream with updates
Description: Gets a stream with job updates from a job id.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get job stream with updates":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/jobs/{jobId}/stream"
Response example
[ { "data": { "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "steps": [ { "pipelineStepId": "string", "name": "string", "condition": { "statement": null, "result": null }, "inputParameters": {}, "outputParameters": {}, "dependencies": [ null ], "status": "Pending", "error": "string", "retryCount": 0, "progress": 0, "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "configurationId": "string", "timeout": 0, "suspend": { "type": null, "description": null, "permissions": null, "duration": null, "allowUserToResume": null }, "actionId": "string", "jobPipelineUid": "string", "depth": 0, "retryOfStepId": "string", "retryAttempt": 0 } ], "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {}, "jobPipelineUids": {} }, "eventType": "string", "eventId": "string", "reconnectionInterval": "string" }]
Terminate job
Description: Terminate a job.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Stop job
Description: Stop a job.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Resume a job
Description: Resumes a job. A Job can be intentionally suspended to wait for a manual resume action.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Resume a job":
Request example
curl -X PUT \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "parameters": {}}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/jobs/{jobId}/steps/{stepId}/resume"
Response example
{ "status": "Queued"}
Approve a job
Description: Approves a job. A Job can be intentionally suspended to wait for a manual approval action.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Approve a job":
Request example
curl -X PUT \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "approved": true, "comment": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/jobs/{jobId}/steps/{stepId}/approve"
Response example
{ "status": "Queued"}
List all project jobs
Description: List all jobs created in this project.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List all project jobs":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {} } ]}
Get project job
Description: Gets a project job from a job id.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get project job":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}"
Response example
{ "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "steps": [ { "pipelineStepId": "string", "name": "string", "condition": { "statement": "string", "result": true }, "inputParameters": {}, "outputParameters": {}, "dependencies": [ "string" ], "status": "Pending", "error": "string", "retryCount": 0, "progress": 0, "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "configurationId": "string", "timeout": 0, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "actionId": "string", "jobPipelineUid": "string", "depth": 0, "retryOfStepId": "string", "retryAttempt": 0 } ], "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {}, "jobPipelineUids": {}}
Get project job stream with updates
Description: Gets a stream with project job updates from a job id.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get project job stream with updates":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/stream"
Response example
[ { "data": { "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "steps": [ { "pipelineStepId": "string", "name": "string", "condition": { "statement": null, "result": null }, "inputParameters": {}, "outputParameters": {}, "dependencies": [ null ], "status": "Pending", "error": "string", "retryCount": 0, "progress": 0, "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "configurationId": "string", "timeout": 0, "suspend": { "type": null, "description": null, "permissions": null, "duration": null, "allowUserToResume": null }, "actionId": "string", "jobPipelineUid": "string", "depth": 0, "retryOfStepId": "string", "retryAttempt": 0 } ], "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {}, "jobPipelineUids": {} }, "eventType": "string", "eventId": "string", "reconnectionInterval": "string" }]
Terminate project job
Description: Terminate a project job.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Terminate project job":
Request example
curl -X PUT \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/terminate"
Response example
{ "status": "Queued"}
Stop project job
Description: Stop a project job.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Stop project job":
Request example
curl -X PUT \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/stop"
Response example
{ "status": "Queued"}
Resume a project job
Description: Resumes a project job. A Job can be intentionally suspended to wait for a manual resume action.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Resume a project job":
Request example
curl -X PUT \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "parameters": {}}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/steps/{stepId}/resume"
Response example
{ "status": "Queued"}
Approve a project job
Description: Approves a project job. A Job can be intentionally suspended to wait for a manual resume action.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Approve a project job":
Request example
curl -X PUT \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "approved": true, "comment": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/steps/{stepId}/approve"
Response example
{ "status": "Queued"}
Get organization job stats (includes organization project jobs)
Description: List job stats from this organization and its projects.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get organization job stats (includes organization project jobs)":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/job-stats"
Response example
{ "runningJobs": 0, "queuedJobs": 0, "concurrencyLimit": 0}
Get logs for a pipeline job step
Description: Get logs for single step in a job.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get logs for a pipeline job step":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/jobs/{jobId}/steps/{stepId}/logs"
Response example
[ "string"]
Get logs for a pipeline job step
Description: Get logs for single step in a job.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get logs for a pipeline job step":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/jobs/{jobId}/steps/{stepId}/logs/sse"
Response example
[ { "data": "string", "eventType": "string", "eventId": "string", "reconnectionInterval": "string" }]
Get logs for a steps in a job
Description: Get logs for a job.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get logs for a steps in a job":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/jobs/{jobId}/logs"
Response example
{ "stepLogs": [ { "stepId": "string", "log": "string" } ]}
Get logs for a project pipeline job step
Description: Get logs for single step in a project job.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get logs for a project pipeline job step":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/steps/{stepId}/logs"
Response example
[ "string"]
Get logs for a project pipeline job step
Description: Get logs for single step in a project job.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get logs for a project pipeline job step":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/steps/{stepId}/logs/sse"
Response example
[ { "data": "string", "eventType": "string", "eventId": "string", "reconnectionInterval": "string" }]
Get logs for a project job
Description: Get logs for a project job.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get logs for a project job":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/logs"
Response example
{ "stepLogs": [ { "stepId": "string", "log": "string" } ]}
List Pipelines
Description: Get all pipelines accessible by an organization, the latest version of the pipelines will be returned. Includes pipelines created by the organization and public pipelines.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List Pipelines":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": null, "inputParameters": null, "configurationId": null, "secrets": null, "storages": null }, "pipeline": { "id": null, "version": null, "inputParameters": null, "secrets": null, "storages": null }, "suspend": { "type": null, "description": null, "permissions": null, "duration": null, "allowUserToResume": null }, "fanOut": { "loopThroughList": null, "maximumParallelCount": null }, "continueOnFail": true, "timeout": 0, "retry": { "limit": null, "retryPolicy": null, "backoff": null, "expression": null, "configurationIds": null }, "dependencies": [ null ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": null, "updatedOn": null, "archivingDate": null }, "appVisibility": { "visibilityLevel": null, "updatedOn": null }, "actions": [ null ], "events": [ null ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ null ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ] } ]}
Create a new Pipeline
Description: Creates a new pipeline and returns its first version for editing.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Create a new Pipeline"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Create a new Pipeline":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "version": "string", "id": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "tags": [ "string" ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Update Pipeline
Description: Updates the basic pipeline information. Independent of status or visibility. Can only be called from the organization the pipeline belongs to.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Update Pipeline":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "tags": [ "string" ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}"
Response example
{ "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string"}
Get all Pipeline Versions
Description: Returns all versions of a pipeline. When the caller is not the pipeline's organization, only Public versions are returned.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get all Pipeline Versions":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}/versions"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": null, "inputParameters": null, "configurationId": null, "secrets": null, "storages": null }, "pipeline": { "id": null, "version": null, "inputParameters": null, "secrets": null, "storages": null }, "suspend": { "type": null, "description": null, "permissions": null, "duration": null, "allowUserToResume": null }, "fanOut": { "loopThroughList": null, "maximumParallelCount": null }, "continueOnFail": true, "timeout": 0, "retry": { "limit": null, "retryPolicy": null, "backoff": null, "expression": null, "configurationIds": null }, "dependencies": [ null ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": null, "updatedOn": null, "archivingDate": null }, "appVisibility": { "visibilityLevel": null, "updatedOn": null }, "actions": [ null ], "events": [ null ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ null ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ] } ]}
Create new Pipeline Version
Description: Creates a new pipeline version. Can only be called from the organization the pipeline belongs to.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Create new Pipeline Version"
Media Type:
application/jsonOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsCode samples for "Create new Pipeline Version":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "version": "string", "baseVersion": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "metadata": {}, "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}/versions"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Get Pipeline Version
Description: Get a specific pipeline version. Callable from the pipeline's organization for any version; callable from any organization for Public or Unlisted versions.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get Pipeline Version":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Update Pipeline Version
Description: Updates a pipeline version. Can only be called from the organization the pipeline belongs to. Can only be called if the pipeline version is in a draft status. Only some of the fields can be updated.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Update Pipeline Version"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Update Pipeline Version":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Delete Draft Pipeline Version
Description: Deletes a pipeline version. Can only be called from the organization the pipeline belongs to, and for an unused pipeline versions that is in Draft state.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete Draft Pipeline Version":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Trigger a Pipeline
Description: Trigger a pipeline, returning a job. The pipeline needs to be accessible to the organization triggering it.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Trigger a Pipeline":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "inputs": {}, "secrets": {}, "jobPriority": 0}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}/trigger"
Response example
{ "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "steps": [ { "pipelineStepId": "string", "name": "string", "condition": { "statement": "string", "result": true }, "inputParameters": {}, "outputParameters": {}, "dependencies": [ "string" ], "status": "Pending", "error": "string", "retryCount": 0, "progress": 0, "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "configurationId": "string", "timeout": 0, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "actionId": "string", "jobPipelineUid": "string", "depth": 0, "retryOfStepId": "string", "retryAttempt": 0 } ], "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {}, "jobPipelineUids": {}}
Make Pipeline Version Public
Description: Moves the pipeline version visibility from private to public. Can only be called from the organization the pipeline belongs to.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Make Pipeline Version Public":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}/publish/{targetVisibility}"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Change Pipeline Status
Description: "A pipeline status can go from Draft to Available or Archived, from Available to Deprecated (with an optional ArchivingDate in UTC format passed in the body), Deprecated to Deprecated (specifying ArchivingDate in the body) and from Deprecated to Archived. Can only be called from the organization the pipeline belongs to."
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Change Pipeline Status":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "archivingDate": "2024-01-01T00:00:00Z"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}/status/{targetStatus}"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
List Project Pipelines
Description: Get all project pipelines accessible by an organization and project, the latest version of the pipelines will be returned. Includes pipelines created by the organization and public pipelines.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "List Project Pipelines":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": null, "inputParameters": null, "configurationId": null, "secrets": null, "storages": null }, "pipeline": { "id": null, "version": null, "inputParameters": null, "secrets": null, "storages": null }, "suspend": { "type": null, "description": null, "permissions": null, "duration": null, "allowUserToResume": null }, "fanOut": { "loopThroughList": null, "maximumParallelCount": null }, "continueOnFail": true, "timeout": 0, "retry": { "limit": null, "retryPolicy": null, "backoff": null, "expression": null, "configurationIds": null }, "dependencies": [ null ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": null, "updatedOn": null, "archivingDate": null }, "appVisibility": { "visibilityLevel": null, "updatedOn": null }, "actions": [ null ], "events": [ null ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ null ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ] } ]}
Create a new Project Pipeline
Description: Creates a new project pipeline and returns its first version for editing.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Create a new Project Pipeline"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Create a new Project Pipeline":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "version": "string", "id": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "tags": [ "string" ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Get all Project Pipeline Versions
Description: Returns all versions of a project pipeline. When the caller is not the pipeline's organization, only Public versions are returned.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get all Project Pipeline Versions":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": null, "inputParameters": null, "configurationId": null, "secrets": null, "storages": null }, "pipeline": { "id": null, "version": null, "inputParameters": null, "secrets": null, "storages": null }, "suspend": { "type": null, "description": null, "permissions": null, "duration": null, "allowUserToResume": null }, "fanOut": { "loopThroughList": null, "maximumParallelCount": null }, "continueOnFail": true, "timeout": 0, "retry": { "limit": null, "retryPolicy": null, "backoff": null, "expression": null, "configurationIds": null }, "dependencies": [ null ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": null, "updatedOn": null, "archivingDate": null }, "appVisibility": { "visibilityLevel": null, "updatedOn": null }, "actions": [ null ], "events": [ null ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ null ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ] } ]}
Create new Project Pipeline Version
Description: Creates a new project pipeline version. Can only be called from the organization and project the pipeline belongs to.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Create new Project Pipeline Version"
Media Type:
application/jsonOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsCode samples for "Create new Project Pipeline Version":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "version": "string", "baseVersion": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "metadata": {}, "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Get Project Pipeline Version
Description: Get a specific project pipeline version. Callable from the pipeline's organization and project for any version; callable from any organization for Public or Unlisted versions.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get Project Pipeline Version":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions/{pipelineVersion}"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Update Project Pipeline Version
Description: Updates a project pipeline version. Can only be called from the organization and project the pipeline belongs to. Can only be called if the pipeline version is in a draft status. Only some of the fields can be updated.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Update Project Pipeline Version"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Update Project Pipeline Version":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions/{pipelineVersion}"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Delete Draft Project Pipeline Version
Description: Deletes a project pipeline version. Can only be called from the organization and project the pipeline belongs to, and for an unused pipeline versions that is in Draft state.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete Draft Project Pipeline Version":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions/{pipelineVersion}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Trigger a Project Pipeline
Description: Trigger a project pipeline, returning a job. The pipeline needs to be accessible to the organization triggering it.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Trigger a Project Pipeline":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "inputs": {}, "secrets": {}, "jobPriority": 0}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions/{pipelineVersion}/trigger"
Response example
{ "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "steps": [ { "pipelineStepId": "string", "name": "string", "condition": { "statement": "string", "result": true }, "inputParameters": {}, "outputParameters": {}, "dependencies": [ "string" ], "status": "Pending", "error": "string", "retryCount": 0, "progress": 0, "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "configurationId": "string", "timeout": 0, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "actionId": "string", "jobPipelineUid": "string", "depth": 0, "retryOfStepId": "string", "retryAttempt": 0 } ], "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {}, "jobPipelineUids": {}}
Change Project Pipeline Status
Description: "A project pipeline status can go from Draft to Available or Archived, from Available to Deprecated (with an optional ArchivingDate in UTC format passed in the body), Deprecated to Deprecated (specifying ArchivingDate in the body) and from Deprecated to Archived. Can only be called from the organization and project the pipeline belongs to."
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Change Project Pipeline Status":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "archivingDate": "2024-01-01T00:00:00Z"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions/{pipelineVersion}/status/{targetStatus}"
Response example
{ "pipeline": { "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string" }, "version": "string", "organizationId": "string", "certification": { "certified": true, "certifiedOn": "2024-01-01T00:00:00Z" }, "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "visibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "systemMetadata": {}, "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "usedAppVersions": [ { "app": { "id": "string", "name": "string", "description": "string", "logo": "string", "url": "https://example.com", "tags": [ "string" ], "systemMetadata": { "createdByUnity": true, "organizationId": "string" }, "metadata": {} }, "version": "string", "platformVersion": "string", "lifecycle": { "lifecycleStatus": "Draft", "updatedOn": "2024-01-01T00:00:00Z", "archivingDate": "2024-01-01T00:00:00Z" }, "appVisibility": { "visibilityLevel": "Private", "updatedOn": "2024-01-01T00:00:00Z" }, "actions": [ { "actionId": "string", "name": "string", "description": "string", "terminationGracePeriodSeconds": 0, "inputParameters": [ null ], "outputParameters": [ null ], "secrets": [ null ], "requirements": { "configurationIds": null, "entitlements": null }, "metadata": {}, "timeout": { "defaultValue": null, "minValue": null, "maxValue": null }, "storages": [ null ] } ], "events": [ { "id": "string", "name": "string", "description": "string", "inputParameters": [ null ], "outputParameters": [ null ], "definition": { "type": null, "url": null, "headers": null, "body": null, "deleteUrl": null, "deleteBody": null, "eventFilter": null, "outputParameterMapping": null, "signature": null }, "secrets": [ null ], "requirements": {}, "metadata": {}, "app": { "id": null, "name": null, "description": null, "logo": null, "url": null, "tags": null, "systemMetadata": null, "metadata": null } } ], "metadata": {}, "systemMetadata": {}, "requiredEntitlements": [ { "entitlementIds": [ null ], "description": "string" } ] } ], "storages": [ { "type": "string", "name": "string", "cache": "None" } ]}
Trigger a pipeline Configuration
Description: Trigger a pipeline Configuration, returning a job. The pipeline needs to be accessible to the organization triggering it.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Trigger a pipeline Configuration"
Media Type:
application/jsonOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Trigger a pipeline Configuration":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "tags": [ "string" ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "jobPriority": 0}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/trigger"
Response example
{ "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "steps": [ { "pipelineStepId": "string", "name": "string", "condition": { "statement": "string", "result": true }, "inputParameters": {}, "outputParameters": {}, "dependencies": [ "string" ], "status": "Pending", "error": "string", "retryCount": 0, "progress": 0, "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "configurationId": "string", "timeout": 0, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "actionId": "string", "jobPipelineUid": "string", "depth": 0, "retryOfStepId": "string", "retryAttempt": 0 } ], "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {}, "jobPipelineUids": {}}
Validate a pipeline Configuration.
Description: Validate a pipeline Configuration. The pipeline needs to be accessible to the organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Validate a pipeline Configuration."
Media Type:
application/jsonOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Validate a pipeline Configuration.":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "tags": [ "string" ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "jobPriority": 0}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipelines/validate"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Trigger a project pipeline Configuration
Description: Trigger a project pipeline Configuration, returning a job. The pipeline needs to be accessible to the organization triggering it.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Trigger a project pipeline Configuration"
Media Type:
application/jsonOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Trigger a project pipeline Configuration":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "tags": [ "string" ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "jobPriority": 0}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/trigger"
Response example
{ "id": "string", "pipeline": { "id": "string", "name": "string", "version": "string" }, "status": "Queued", "inputs": {}, "outputs": {}, "secrets": {}, "errors": [ "string" ], "userId": "string", "serviceAccountId": "string", "organizationId": "string", "projectId": "string", "priority": 0, "automationId": "string", "createdAt": "2024-01-01T00:00:00Z", "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "queueTime": 0, "durationInSeconds": 0, "progress": 0, "steps": [ { "pipelineStepId": "string", "name": "string", "condition": { "statement": "string", "result": true }, "inputParameters": {}, "outputParameters": {}, "dependencies": [ "string" ], "status": "Pending", "error": "string", "retryCount": 0, "progress": 0, "startedAt": "2024-01-01T00:00:00Z", "finishedAt": "2024-01-01T00:00:00Z", "configurationId": "string", "timeout": 0, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "actionId": "string", "jobPipelineUid": "string", "depth": 0, "retryOfStepId": "string", "retryAttempt": 0 } ], "updatedAt": "2024-01-01T00:00:00Z", "systemMetadata": {}, "jobPipelineUids": {}}
Validate a pipeline Configuration by project
Description: Validate a pipeline Configuration by project. The pipeline needs to be accessible to the organization.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Validate a pipeline Configuration by project"
Media Type:
application/jsonOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Validate a pipeline Configuration by project":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "tags": [ "string" ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}, "jobPriority": 0}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/validate"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Update Project Pipeline
Description: Updates the basic pipeline information. Independent of status or visibility. Can only be called from the organization and project the pipeline belongs to.
Required Role: Automation Developer
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Update Project Pipeline":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "tags": [ "string" ]}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}"
Response example
{ "id": "string", "name": "string", "description": "string", "tags": [ "string" ], "isUnityMade": true, "organizationId": "string", "projectId": "string"}
Get all Pipeline templates associated to a specific app Id.
Description: Get all specific pipeline templates associated to a specific app Id.
Required Role: automation.pipeline_templates.read
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get all Pipeline templates associated to a specific app Id.":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/pipeline-templates"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "id": "string", "name": "string", "description": "string", "appId": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": null, "inputParameters": null, "configurationId": null, "secrets": null, "storages": null }, "pipeline": { "id": null, "version": null, "inputParameters": null, "secrets": null, "storages": null }, "suspend": { "type": null, "description": null, "permissions": null, "duration": null, "allowUserToResume": null }, "fanOut": { "loopThroughList": null, "maximumParallelCount": null }, "continueOnFail": true, "timeout": 0, "retry": { "limit": null, "retryPolicy": null, "backoff": null, "expression": null, "configurationIds": null }, "dependencies": [ null ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "tags": [ "string" ], "metadata": {}, "systemMetadata": {} } ]}
Creates a new template for this organization
Description: Creates a new pipeline template.
Required Role: automation.apps_pipeline_templates.create
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Creates a new template for this organization"
Media Type:
application/jsonOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsCode samples for "Creates a new template for this organization":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "tags": [ "string" ], "metadata": {}}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/pipeline-templates"
Response example
{ "id": "string", "name": "string", "description": "string", "appId": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "tags": [ "string" ], "metadata": {}, "systemMetadata": {}}
Get a specific Pipeline template with a specific appId.
Description: Get a specific pipeline template with an appId and a template Id.
Required Role: automation.pipeline_templates.read
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get a specific Pipeline template with a specific appId.":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/pipeline-templates/{pipelineTemplateId}"
Response example
{ "id": "string", "name": "string", "description": "string", "appId": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "tags": [ "string" ], "metadata": {}, "systemMetadata": {}}
Update Pipeline template
Description: Updates a pipeline template information. Can only be called from the organization and an app Id the pipeline template belongs to.
Required Role: automation.apps_pipeline_templates.update
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Update Pipeline template"
Media Type:
application/jsonParameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,
and must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.
Parameter type. Each value constrains what an input value must be:
Type | Accepted value |
|---|---|
| JSON boolean ( |
| JSON integer within the 32-bit signed range. |
| JSON number with single precision. Integers are accepted. |
| JSON string, including one that holds a UUID or URL. |
| Absolute |
| UUID, as a string (for example |
| JSON string. The service applies no further checks. |
A value can reference another value with , for example . For , , and the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.
{{...}}{{inputParameters.name}}BoolIntFloatUUIDAfter the type check, is matched against the value's string form and must contain the value. When is true the value is a JSON array, each item is checked as above, and and bound the item count.
regexPatternacceptedValuesisListminItemsmaxItemsOptional condition evaluated after each failed attempt; the step is retried only when it is true.
It is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never
retried. Uses Argo's expression syntax and can read the last attempt through
, , and
, e.g. . Values are strings, so
convert them with or before comparing numerically.
Input parameters can be injected with .
lastRetry.exitCodelastRetry.statuslastRetry.durationlastRetry.messageasInt(lastRetry.exitCode) == 137asIntasFloat{{inputParameters.name}}Optional configuration profiles for the retries, in order: the first retry runs on the first
profile, the second retry on the second, and the last one is reused for any further retry. The
first attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile
may differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity
and software must be the same. Each must be one of the action's configuration ids, and there
cannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.
Code samples for "Update Pipeline template":
Request example
curl -X PATCH \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "string", "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "value": "string" } ], "tags": [ "string" ], "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "metadata": {}}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/pipeline-templates/{pipelineTemplateId}"
Response example
{ "id": "string", "name": "string", "description": "string", "appId": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "tags": [ "string" ], "metadata": {}, "systemMetadata": {}}
Delete Pipeline Template
Description: Deletes a pipeline template. Can only be called from the organization and an app Id the pipeline template belongs to.
Required Role: automation.apps_pipeline_templates.delete
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Delete Pipeline Template":
Request example
curl -X DELETE \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/apps/{appId}/pipeline-templates/{pipelineTemplateId}"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Get all Pipeline templates and filter out by parameters.
Description: Get all pipeline templates filter out by parameters.
Required Role: automation.pipeline_templates.search
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get all Pipeline templates and filter out by parameters.":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipeline-templates"
Response example
{ "offset": 0, "limit": 0, "total": 0, "results": [ { "id": "string", "name": "string", "description": "string", "appId": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": null, "inputParameters": null, "configurationId": null, "secrets": null, "storages": null }, "pipeline": { "id": null, "version": null, "inputParameters": null, "secrets": null, "storages": null }, "suspend": { "type": null, "description": null, "permissions": null, "duration": null, "allowUserToResume": null }, "fanOut": { "loopThroughList": null, "maximumParallelCount": null }, "continueOnFail": true, "timeout": 0, "retry": { "limit": null, "retryPolicy": null, "backoff": null, "expression": null, "configurationIds": null }, "dependencies": [ null ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "tags": [ "string" ], "metadata": {}, "systemMetadata": {} } ]}
Get a specific Pipeline template.
Description: Get a specific pipeline template with a template Id.
Required Role: automation.pipeline_templates.read
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Get a specific Pipeline template.":
Request example
curl -X GET \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/pipeline-templates/{pipelineTemplateId}"
Response example
{ "id": "string", "name": "string", "description": "string", "appId": "string", "steps": [ { "id": "string", "name": "string", "condition": "string", "action": { "actionId": "string", "inputParameters": {}, "configurationId": "string", "secrets": {}, "storages": {} }, "pipeline": { "id": "string", "version": "string", "inputParameters": {}, "secrets": {}, "storages": {} }, "suspend": { "type": "string", "description": "string", "permissions": { "allowedUsers": [ null ], "allowedGroups": [ null ] }, "duration": "string", "allowUserToResume": true }, "fanOut": { "loopThroughList": "string", "maximumParallelCount": 0 }, "continueOnFail": true, "timeout": 0, "retry": { "limit": 0, "retryPolicy": "OnFailure", "backoff": { "durationSeconds": 0, "factor": 0, "maxDurationSeconds": 0 }, "expression": "string", "configurationIds": [ "string" ] }, "dependencies": [ "string" ], "depends": "string" } ], "inputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string", "required": true, "acceptedValues": [ null ], "regexPattern": "string", "defaultValue": null, "metadata": {}, "isList": true, "minItems": 0, "maxItems": 0, "masked": true } ], "secrets": [ { "secretName": "string", "displayName": "string", "description": "string", "required": true } ], "outputParameters": [ { "displayName": "string", "name": "string", "type": "Bool", "description": "string" } ], "tags": [ "string" ], "metadata": {}, "systemMetadata": {}}
Send commands to a running Project Service instance
Description: Sends one or more commands to the ps-core instance in the specified namespace.
Temporary — will be removed once the real Pipeline Broker service is available.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Send commands to a running Project Service instance"
Media Type:
application/jsonCommands to dispatch to ps-core, each formatted as .
Supported commands: preview, import, createworkbench, createenvironment, editorstart, job, environments,
workbenches, workbenchhead, projects.
The revision-scoped commands (preview, import, editorstart) need an exact numeric changeset id;
is what reports it.
command:<name>;arg:<value>workbenchheadCode samples for "Send commands to a running Project Service instance":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "namespace": "string", "commands": [ "string" ], "headers": {}}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/projectservice/send-command"
Response example
{ "results": [ { "command": "string", "isSuccess": true, "message": "string" } ]}
Create a worker
Description: Create a worker.
Required Role: Automation Admin Access
Answers 202: acceptance means the worker's job was created and queued, not that the worker is serving —
callers discover that from the worker itself.
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Request body for "Create a worker"
Media Type:
application/jsonThe project service namespace. Used to form the Kubernetes namespace , which must be a valid
RFC 1123 label (lowercase alphanumeric + '-', starting and ending with alphanumeric, total ≤63 chars).
Reserving 3 chars for the prefix leaves 60 chars for the user-supplied value.
ps-{ProjectServiceNamespace}ps-Optional, override the default pipeline id to run. Typed as a string rather than so a cleared
field (empty or whitespace) can be sent without rejecting it at deserialization —
the request-model validator never sees a JSON error. A blank value falls back to the configured default; any
other value must be a Guid in the standard 8-4-4-4-12 hex format, otherwise the request is rejected with 400.
Guid?System.Text.JsonOptional caller-supplied worker identifier (e.g. Project Service's own worker name). Stamped on the job as
system metadata so the caller can correlate its own worker record with the UPA job; the automation service does
not interpret it. When omitted, only the returned Unity.Cloud.Automation.Models.ProjectService.WorkerDto.JobId correlates the two.
Optional. The Project Service WebSocket address the worker must dial back to, forwarded to the worker pipeline
unmodified as the input so the pipeline can set it as the worker's PS endpoint. The worker
appends its own path and query, so the value is passed through exactly as supplied. When omitted, no endpoint is
forwarded and the worker takes whatever its image is configured with.
apiEndpointOptional exact version of the Project Service bootstrap tool to fetch for this launch, bypassing the pointer
lookup — set it to pin or roll back a single worker. The version is always passed explicitly to
, whether pinned here or resolved from the pointer: SemVer orders the
prerelease suffixes alphabetically, so the feed's notion of "latest" is meaningless. When
omitted the container resolves the version from the repository's pointer file, which is
how every launch behaves by default.
dotnet tool install-g{shortsha}artifactory-initCode samples for "Create a worker":
Request example
curl -X POST \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "projectServiceNamespace": "string", "workerPipelineId": "string", "workerPipelineVersion": "string", "editorVersion": "string", "editorSubVersion": "string", "targetPlatform": "string", "workerId": "string", "apiEndpoint": "string", "ottoVersion": "string"}' \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/worker/start"
Response example
{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string"}
Stop a project service
Description: Stop a Project Service instance, addressed by its namespace rather than by a job id —
projectservice/start returns no job id, and at most one instance is live per namespace.
Cascades to the workers linked to the instance before stopping it; an instance that already reached a
terminal state reports that state.
Required Role: Automation Admin Access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Stop a project service":
Request example
curl -X PUT \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/projectservice/{namespaceName}/stop"
Response example
{ "jobId": "string", "jobStatus": "Queued", "workers": [ { "jobId": "string", "jobStatus": "Queued", "error": "string" } ]}
Stop a worker
Description: Stop a worker, addressed by the job id returned by worker/start.
Terminates the worker's job; a worker that already reached a terminal state reports that state.
Required Role: Automation Admin Access
Authorizations
Client (Client)
HTTP: Client
HTTP Authorization Scheme: bearer
Required scopes: Client
ServiceAccount (ServiceAccount)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: ServiceAccount
Code samples for "Stop a worker":
Request example
curl -X PUT \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://automation.services.api.unity.com/v1/organizations/{organizationId}/projects/{projectId}/worker/{jobId}/stop"
Response example
{ "status": "Queued"}