# README
Go API client for openapi
This API is intended to be used in conjunction with the Unity Cloud Build service. A tool for building your Unity projects in the Cloud. See https://developer.cloud.unity3d.com for more information. ## Making requests This website is built to allow requests to be made against the API. If you are currently logged into Cloud Build you should be able to make requests without entering an API key. You can find your API key in the Unity Cloud Services portal by clicking on 'Cloud Build Preferences' in the sidebar. Copy the API Key and paste it into the upper left corner of this website. It will be used in all subsequent requests. ## Clients The Unity Cloud Build API is based upon Swagger. Client libraries to integrate with your projects can easily be generated with the Swagger Code Generator. The JSON schema required to generate a client for this API version is located here: [API_URL][BASE_PATH]/api.json
## Authorization The Unity Cloud Build API requires an access token from your Unity Cloud Build account, which can be found at https://build.cloud.unity3d.com/login/me To authenticate requests, include a Basic Authentication header with your API key as the value. e.g. Authorization: Basic [YOUR API KEY]
## Pagination Paged results will take two parameters. A page number that is calculated based upon the per_page amount. For instance if there are 40 results and you specify page 2 with per_page set to 10 you will receive records 11-20. Paged results will also return a Content-Range header. For the example above the content range header would look like this: Content-Range: items 11-20/40
## Versioning The API version is indicated in the request URL. Upgrading to a newer API version can be done by changing the path. The API will receive a new version in the following cases: * removal of a path or request type * addition of a required field * removal of a required field The following changes are considered backwards compatible and will not trigger a new API version: * addition of an endpoint or request type * addition of an optional field * removal of an optional field * changes to the format of ids ## Rate Limiting Requests against the Cloud Build API are limited to a rate of 100 per minute. To preserve the quality of service throughout Cloud Build, additional rate limits may apply to some actions. For example, polling aggressively instead of using webhooks or making API calls with a high concurrency may result in rate limiting. It is not intended for these rate limits to interfere with any legitimate use of the API. Please contact support at [email protected] if your use is affected by this rate limit. You can check the returned HTTP headers for any API request to see your current rate limit status. * X-RateLimit-Limit: maximum number of requests per minute * X-RateLimit-Remaining: remaining number of requests in the current window * X-RateLimit-Reset: time at which the current window will reset (UTC epoch seconds) Once you go over the rate limit you will receive an error response: HTTP Status: 429 { \"error\": \"Rate limit exceeded, retry in XX seconds\" }
Overview
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: 1.0.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Installation
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
go get github.com/antihax/optional
Put the package under your project folder and add the following in import:
import "./openapi"
Documentation for API Endpoints
All URIs are relative to http://localhost/api/v1
Class | Method | HTTP request | Description |
---|---|---|---|
BuildsApi | BatchDeleteBuildArtifacts | Post /orgs/{orgid}/projects/{projectid}/artifacts/delete | Delete artifacts for a batch of builds |
BuildsApi | CancelAllBuilds | Delete /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds | Cancel all builds |
BuildsApi | CancelBuild | Delete /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number} | Cancel build |
BuildsApi | CancelBuildsForOrg | Delete /orgs/{orgid}/builds | Cancel builds for org |
BuildsApi | CreateShare | Post /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share | Create a new link to share a project |
BuildsApi | DeleteAllBuildArtifacts | Delete /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/artifacts | Delete all artifacts associated with all non-favorited builds for a specified buildtargetid (_all is allowed). |
BuildsApi | DeleteBuildArtifacts | Delete /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/artifacts | Delete all artifacts associated with a specific build |
BuildsApi | GetBuild | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number} | Build Status |
BuildsApi | GetBuildLog | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/log | Get build log |
BuildsApi | GetBuildSteps | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/steps | Get the build steps for a given build |
BuildsApi | GetBuilds | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds | List all builds |
BuildsApi | GetBuildsForOrg | Get /orgs/{orgid}/builds | List all builds for org |
BuildsApi | GetProjectsBuildTargetsAuditLog | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/auditlog | Get audit log |
BuildsApi | GetProjectsBuildTargetsBuildsAuditLog | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/auditlog | Get audit log |
BuildsApi | GetShare | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share | Get the share link |
BuildsApi | ResignBuildArtifact | Post /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/resign | Re-sign a build artifact |
BuildsApi | RevokeShare | Delete /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share | Revoke a shared link |
BuildsApi | StartBuilds | Post /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds | Create new build |
BuildsApi | UpdateBuild | Put /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number} | Update build information |
BuildtargetsApi | GetBuildTargetsForOrg | Get /orgs/{orgid}/buildtargets | List all build targets for an org |
BuildtargetsApi | GetProjectsBuildTargetsStats | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/stats | Get build target statistics |
BuildtargetsApi | OrgsOrgidProjectsProjectidBuildtargetsBuildtargetidDelete | Delete /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid} | Delete build target |
BuildtargetsApi | OrgsOrgidProjectsProjectidBuildtargetsBuildtargetidEnvvarsGet | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/envvars | Get environment variables |
BuildtargetsApi | OrgsOrgidProjectsProjectidBuildtargetsBuildtargetidEnvvarsPut | Put /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/envvars | Set environment variables |
BuildtargetsApi | OrgsOrgidProjectsProjectidBuildtargetsBuildtargetidGet | Get /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid} | Get a build target |
BuildtargetsApi | OrgsOrgidProjectsProjectidBuildtargetsBuildtargetidPut | Put /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid} | Update build target details |
BuildtargetsApi | OrgsOrgidProjectsProjectidBuildtargetsGet | Get /orgs/{orgid}/projects/{projectid}/buildtargets | List all build targets for a project |
BuildtargetsApi | OrgsOrgidProjectsProjectidBuildtargetsPost | Post /orgs/{orgid}/projects/{projectid}/buildtargets | Create build target for a project |
ConfigApi | ListScmsSupportingVersionAutoDetect | Get /versions/auto_detect_supported_scms | List all SCM types supporting auto detecting the project Unity version |
ConfigApi | ListUnityVersions | Get /versions/unity | List all unity versions |
ConfigApi | ListXcodeVersions | Get /versions/xcode | List all xcode versions |
CredentialsApi | AddCredentialsAndroid | Post /orgs/{orgid}/projects/{projectid}/credentials/signing/android | Upload Android Credentials |
CredentialsApi | AddCredentialsAndroidForOrg | Post /orgs/{orgid}/credentials/signing/android | Upload Android Credentials |
CredentialsApi | AddCredentialsIos | Post /orgs/{orgid}/projects/{projectid}/credentials/signing/ios | Upload iOS Credentials |
CredentialsApi | AddCredentialsIosForOrg | Post /orgs/{orgid}/credentials/signing/ios | Upload iOS Credentials for organization |
CredentialsApi | DeleteAndroid | Delete /orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid} | Delete Android Credentials |
CredentialsApi | DeleteAndroidForOrg | Delete /orgs/{orgid}/credentials/signing/android/{credentialid} | Delete Android Credentials for organization |
CredentialsApi | DeleteIos | Delete /orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid} | Delete iOS Credentials |
CredentialsApi | DeleteIosForOrg | Delete /orgs/{orgid}/credentials/signing/ios/{credentialid} | Delete iOS Credentials for organization |
CredentialsApi | GetAllAndroid | Get /orgs/{orgid}/projects/{projectid}/credentials/signing/android | Get All Android Credentials |
CredentialsApi | GetAllAndroidForOrg | Get /orgs/{orgid}/credentials/signing/android | Get All Android Credentials for an organization |
CredentialsApi | GetAllIos | Get /orgs/{orgid}/projects/{projectid}/credentials/signing/ios | Get All iOS Credentials |
CredentialsApi | GetAllIosForOrg | Get /orgs/{orgid}/credentials/signing/ios | Get All iOS Credentials for an oganization |
CredentialsApi | GetOneAndroid | Get /orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid} | Get Android Credential Details |
CredentialsApi | GetOneAndroidForOrg | Get /orgs/{orgid}/credentials/signing/android/{credentialid} | Get Android Credential Details for organization |
CredentialsApi | GetOneIos | Get /orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid} | Get iOS Credential Details |
CredentialsApi | GetOneIosForOrg | Get /orgs/{orgid}/credentials/signing/ios/{credentialid} | Get iOS Credential Details for organization |
CredentialsApi | UpdateAndroid | Put /orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid} | Update Android Credentials |
CredentialsApi | UpdateAndroidForOrg | Put /orgs/{orgid}/credentials/signing/android/{credentialid} | Update Android Credentials for organization |
CredentialsApi | UpdateIos | Put /orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid} | Update iOS Credentials |
CredentialsApi | UpdateIosForOrg | Put /orgs/{orgid}/credentials/signing/ios/{credentialid} | Update iOS Credentials for organization |
OrgsApi | GetBillingPlans | Get /orgs/{orgid}/billingplan | Get billing plan |
OrgsApi | GetSSHKey | Get /orgs/{orgid}/sshkey | Get SSH Key |
OrgsApi | RegenerateSSHKey | Post /orgs/{orgid}/sshkey | Regenerate SSH Key |
ProjectsApi | AddProject | Post /orgs/{orgid}/projects | Create project |
ProjectsApi | ArchiveProject | Delete /orgs/{orgid}/projects/{projectid} | Archive project |
ProjectsApi | GetAuditLog | Get /orgs/{orgid}/projects/{projectid}/auditlog | Get audit log |
ProjectsApi | GetProject | Get /orgs/{orgid}/projects/{projectid} | Get project details |
ProjectsApi | GetProjectByUpid | Get /projects/{projectupid} | Get project details |
ProjectsApi | GetProjectsBillingPlans | Get /orgs/{orgid}/projects/{projectid}/billingplan | Get billing plan |
ProjectsApi | GetProjectsSSHKey | Get /orgs/{orgid}/projects/{projectid}/sshkey | Get SSH Key |
ProjectsApi | GetStats | Get /orgs/{orgid}/projects/{projectid}/stats | Get project statistics |
ProjectsApi | ListProjectsForOrg | Get /orgs/{orgid}/projects | List all projects (org) |
ProjectsApi | ListProjectsForUser | Get /projects | List all projects (user) |
ProjectsApi | OrgsOrgidProjectsProjectidEnvvarsGet | Get /orgs/{orgid}/projects/{projectid}/envvars | Get environment variables |
ProjectsApi | OrgsOrgidProjectsProjectidEnvvarsPut | Put /orgs/{orgid}/projects/{projectid}/envvars | Set environment variables |
ProjectsApi | UpdateProject | Put /orgs/{orgid}/projects/{projectid} | Update project details |
SharesApi | GetShareMetadata | Get /shares/{shareid} | Get details on shared build including download link |
StatusApi | GetStatus | Get /status | Get Cloud Build Status |
UserdevicesApi | CreateDevice | Post /users/me/devices | Create iOS device profile |
UserdevicesApi | ListDevicesForUser | Get /users/me/devices | List iOS device profiles |
UsersApi | GetUserApiKey | Get /users/me/apikey | Get current user's API key |
UsersApi | GetUserSelf | Get /users/me | Get current user |
UsersApi | RegenApiKey | Post /users/me/apikey | Regenerate API Key |
UsersApi | UpdateUserSelf | Put /users/me | Update current user |
WebhooksApi | AddHookForOrg | Post /orgs/{orgid}/hooks | Add hook for organization |
WebhooksApi | AddHookForProject | Post /orgs/{orgid}/projects/{projectid}/hooks | Add hook for project |
WebhooksApi | DeleteHook | Delete /orgs/{orgid}/hooks/{id} | Delete organization hook |
WebhooksApi | GetHook | Get /orgs/{orgid}/hooks/{id} | Get organization hook details |
WebhooksApi | GetProjectsHook | Get /orgs/{orgid}/projects/{projectid}/hooks/{id} | Get project hook details |
WebhooksApi | ListHooksForOrg | Get /orgs/{orgid}/hooks | List hooks for organization |
WebhooksApi | ListHooksForProject | Get /orgs/{orgid}/projects/{projectid}/hooks | List hooks for project |
WebhooksApi | OrgsOrgidProjectsProjectidHooksIdDelete | Delete /orgs/{orgid}/projects/{projectid}/hooks/{id} | Delete project hook |
WebhooksApi | OrgsOrgidProjectsProjectidHooksIdPingPost | Post /orgs/{orgid}/projects/{projectid}/hooks/{id}/ping | Ping a project hook |
WebhooksApi | OrgsOrgidProjectsProjectidHooksIdPut | Put /orgs/{orgid}/projects/{projectid}/hooks/{id} | Update hook for project |
WebhooksApi | PingHook | Post /orgs/{orgid}/hooks/{id}/ping | Ping an org hook |
WebhooksApi | UpdateHook | Put /orgs/{orgid}/hooks/{id} | Update hook for organization |
Documentation For Models
- InlineObject
- InlineObject1
- InlineObject10
- InlineObject2
- InlineObject3
- InlineObject4
- InlineObject5
- InlineObject6
- InlineObject7
- InlineObject8
- InlineObject9
- InlineResponse200
- InlineResponse2001
- InlineResponse20010
- InlineResponse2002
- InlineResponse2003
- InlineResponse2004
- InlineResponse2005
- InlineResponse2006
- InlineResponse2007
- InlineResponse2008
- InlineResponse2009
- OrgsOrgidCredentialsSigningAndroidKeystore
- OrgsOrgidCredentialsSigningIosProvisioningProfile
- OrgsOrgidProjectsProjectidArtifactsDeleteBuilds
- OrgsOrgidProjectsProjectidAuditlogLines
- OrgsOrgidProjectsProjectidBuildtargetsBuildReport
- OrgsOrgidProjectsProjectidBuildtargetsBuilds
- OrgsOrgidProjectsProjectidBuildtargetsBuildtargetidBuildsNumberStepsMessages
- OrgsOrgidProjectsProjectidBuildtargetsCredentials
- OrgsOrgidProjectsProjectidBuildtargetsCredentials1
- OrgsOrgidProjectsProjectidBuildtargetsCredentials1Signing
- OrgsOrgidProjectsProjectidBuildtargetsCredentialsSigning
- OrgsOrgidProjectsProjectidBuildtargetsCredentialsSigningCredentialResourceRef
- OrgsOrgidProjectsProjectidBuildtargetsCredentialsSigningCredentialResourceRefCertificate
- OrgsOrgidProjectsProjectidBuildtargetsCredentialsSigningCredentialResourceRefKeystore
- OrgsOrgidProjectsProjectidBuildtargetsCredentialsSigningCredentialResourceRefProvisioningProfile
- OrgsOrgidProjectsProjectidBuildtargetsFailureDetails
- OrgsOrgidProjectsProjectidBuildtargetsLastBuilt
- OrgsOrgidProjectsProjectidBuildtargetsLinks
- OrgsOrgidProjectsProjectidBuildtargetsProjectVersion
- OrgsOrgidProjectsProjectidBuildtargetsSettings
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvanced
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedAndroid
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedUnity
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedUnityAddressables
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedUnityAssetBundles
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedUnityEditorUserBuildSettings
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedUnityPlayerExporter
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedUnityPlayerSettings
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedUnityPlayerSettingsAndroid
- OrgsOrgidProjectsProjectidBuildtargetsSettingsAdvancedXcode
- OrgsOrgidProjectsProjectidBuildtargetsSettingsPlatform
- OrgsOrgidProjectsProjectidBuildtargetsSettingsScm
- OrgsOrgidProjectsProjectidBuildtargetsTestResults
Documentation For Authorization
apikey
- Type: HTTP basic authentication
Example
auth := context.WithValue(context.Background(), sw.ContextBasicAuth, sw.BasicAuth{
UserName: "username",
Password: "password",
})
r, err := client.Service.Operation(auth, args)
filetoken
- Type: HTTP basic authentication
Example
auth := context.WithValue(context.Background(), sw.ContextBasicAuth, sw.BasicAuth{
UserName: "username",
Password: "password",
})
r, err := client.Service.Operation(auth, args)
permissions
- Type: OAuth
- Flow: implicit
- Authorization URL: https://build.cloud.unity3d.com/login/
- Scopes:
- org:user: must have at least user permissions in the organization
- org:manager: must have at least manager permissions in the organization
- project:user: must have at least user permissions in the project
- project:manager: must have at least manager permissions in the project
- admin: administrative privileges
- admin_readstats: administrative read stats privileges
Example
auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)
Or via OAuth2 module to automatically refresh tokens and perform user authentication.
import "golang.org/x/oauth2"
/* Perform OAuth2 round trip request and obtain a token */
tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)