swagger: '2.0' info: title: Microsoft Azure Visual Studio Projects Resource Provider Client version: 2018-08-01-preview description: >- Use these APIs to manage Visual Studio Team Services resources through the Azure Resource Manager. All task operations conform to the HTTP/1.1 protocol specification and each operation returns an x-ms-request-id header that can be used to obtain information about the request. You must make sure that requests made to these resources are secure. For more information, see https://docs.microsoft.com/en-us/rest/api/index. host: management.azure.com schemes: - https consumes: - application/json produces: - application/json securityDefinitions: azure_auth: type: oauth2 description: Azure Active Directory OAuth2 Flow flow: implicit authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize scopes: user_impersonation: impersonate your user account security: - azure_auth: - user_impersonation paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project : get: deprecated: true tags: - Projects summary: Microsoft Azure Projects Listbyaccountresource description: >- Gets all Visual Studio Team Services project resources created in the specified Team Services account. operationId: microsoftAzureProjectsListbyaccountresource parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: rootResourceName description: Name of the Team Services account. required: true type: string responses: '200': description: >- The operation succeeded. The response contains the details of the Visual Studio Team Services project resources created in the specified Team Services account. schema: $ref: '#/definitions/ProjectResourceListResult' x-ms-examples: Get a list of project resources in the Team Services account: $ref: ./examples/GetProjectResources_List.json ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName} : put: deprecated: true tags: - Projects summary: Microsoft Azure Projects Createorupdate description: >- Creates or updates a Team Services project in the collection with the specified name. 'VersionControlOption' and 'ProcessTemplateId' must be specified in the resource properties. Valid values for VersionControlOption: Git, Tfvc. Valid values for ProcessTemplateId: 6B724908-EF14-45CF-84F8-768B5384DA45, ADCC42AB-9882-485E-A3ED-7678F01F66BC, 27450541-8E31-4150-9947-DC59F998FC01 (these IDs correspond to Scrum, Agile, and CMMI process templates). operationId: microsoftAzureProjectsCreateorupdate parameters: - in: body name: body description: The request data. required: true schema: $ref: '#/definitions/ProjectResource' - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: rootResourceName description: Name of the Team Services account. required: true type: string - in: path name: resourceName description: Name of the Team Services project. required: true type: string - in: query name: validating description: This parameter is ignored and should be set to an empty string. required: false type: string responses: '200': description: >- The operation succeeded. The response contains the details of the created or updated team project resource. schema: $ref: '#/definitions/ProjectResource' '202': description: >- The operation succeeded. A job to create/update the team project resource has been queued. The URI to monitor the status of the job is provided in the 'location' header. x-ms-long-running-operation: true x-ms-examples: Create a project resource: $ref: ./examples/CreateProjectResource.json get: deprecated: true tags: - Projects summary: Microsoft Azure Projects Get description: Gets the details of a Team Services project resource. operationId: microsoftAzureProjectsGet parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: rootResourceName description: Name of the Team Services account. required: true type: string - in: path name: resourceName description: Name of the Team Services project. required: true type: string responses: '200': description: >- The operation succeeded. The response contains the details of the updated team project resource. schema: $ref: '#/definitions/ProjectResource' '404': description: The project or Azure subscription was not found. x-ms-examples: Get a project resource: $ref: ./examples/GetProjectResource.json patch: deprecated: true tags: - Projects summary: Microsoft Azure Projects Update description: Updates the tags of the specified Team Services project. operationId: microsoftAzureProjectsUpdate parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: body name: body description: The request data. required: true schema: $ref: '#/definitions/ProjectResourceUpdateParameters' - in: path name: rootResourceName description: Name of the Team Services account. required: true type: string - in: path name: resourceName description: Name of the Team Services project. required: true type: string responses: '200': description: >- The operation succeeded. The response contains the details of the updated team project resource. schema: $ref: '#/definitions/ProjectResource' x-ms-examples: Update a project resource: $ref: ./examples/UpdateProjectResource.json definitions: PipelineBootstrapConfiguration: description: Defines bootstrap configuration for a CI/CD pipeline. type: object properties: name: description: Name of the bootstrap configuration. type: string templateId: description: Identifier of the pipeline template used for configuring pipeline. type: string templateParameters: description: >- Dictionary of inputs used for configuring pipeline. The keys for inputs are defined by pipeline template. type: object additionalProperties: type: string repository: description: Code repository where the application source resides. $ref: '#/definitions/CodeRepository' required: - name - templateId Resource: description: A generic Azure Resource Manager resource. x-ms-azure-resource: true type: object properties: id: description: Unique identifier of the resource. readOnly: true type: string location: description: Resource location. readOnly: true type: string name: description: Resource name. readOnly: true type: string tags: description: Resource tags. type: object additionalProperties: type: string type: description: Resource type. readOnly: true type: string ProjectResource: description: A Visual Studio Team Services project resource. type: object allOf: - $ref: '#/definitions/Resource' properties: kind: description: >- Kind of project resource. A bootStrappedProject is a project which has additional bootstrap information to create a CI/CD pipeline in the project. type: string enum: - project - bootstrappedProject x-ms-enum: name: ProjectResourceKind modelAsString: true properties: description: Custom properties of project resource. $ref: '#/definitions/ProjectResourceProperties' x-ms-client-flatten: true ProjectResourceProperties: description: Defines the custom properties of project resource. type: object properties: processTemplateId: description: Process template to use in the project. type: string enum: - Scrum - Agile - Cmmi x-ms-enum: name: ProcessTemplate modelAsString: true versionControlOption: description: Version control to use for the default repo created in the project. type: string enum: - Git - Tfvc x-ms-enum: name: VersionControlOption modelAsString: true ownerUpn: description: >- Optional UPN of the owner, on-behalf-of whom the project is being created. type: string tfsUniqueIdentifier: description: Unique identifier of the VSTS project. readOnly: true type: string bootstrapPipelineTemplate: description: >- Template used to configure a bootstrap pipeline in the VSTS project. Note: this is being deprecated. Use pipelineConfigurationBootstrappers instead. $ref: '#/definitions/PipelineTemplateLegacy' pipelineBootstrapConfigurations: description: Bootstrap configuration for pipelines in Team Project. type: array items: $ref: '#/definitions/PipelineBootstrapConfiguration' PipelineTemplateLegacy: description: Defines a VSTS pipeline template. type: object properties: applicationSource: description: Source application for the VSTS pipeline. $ref: '#/definitions/ApplicationSource' applicationTarget: description: Target resources for the VSTS pipeline. $ref: '#/definitions/ApplicationTarget' authorizationDetails: description: >- Global dictionary of authorization details used by the pipeline, with a friendly name as key. Individual resource in the pipeline can reference to a specific authorization info using the friendly name. type: object additionalProperties: $ref: '#/definitions/Authorization' required: - applicationSource - applicationTarget - authorizationDetails ApplicationSource: description: Defines the source application for a VSTS pipeline. type: object discriminator: sourceType properties: sourceType: description: Type of application source. type: string enum: - CodeTemplate - CodeRepository x-ms-enum: name: ApplicationSourceType modelAsString: true applicationType: description: Type of application. type: string enum: - AspDotNet - AspDotNetCore - NodeJs x-ms-enum: name: ApplicationType modelAsString: true applicationConfiguration: description: Application specific properties. type: object additionalProperties: type: string required: - sourceType - applicationType CodeTemplateApplicationSource: x-ms-discriminator-value: CodeTemplate description: Defines the source application template. type: object allOf: - $ref: '#/definitions/ApplicationSource' CodeRepositoryApplicationSource: x-ms-discriminator-value: CodeRepository description: Defines the source application, when it resides in a code repository. type: object properties: repository: description: Code repository where the application source resides. $ref: '#/definitions/CodeRepositoryLegacy' allOf: - $ref: '#/definitions/ApplicationSource' required: - repository CodeRepository: description: Defines a code repository. type: object properties: repositoryType: description: Type of code repository. type: string enum: - gitHub - vstsGit x-ms-enum: name: CodeRepositoryType modelAsString: true id: description: Unique identifier of the code repository. type: string defaultBranch: description: >- Default branch for which continuous integration should be configured in the VSTS pipeline. type: string authorization: description: Authorization info to access code repository $ref: '#/definitions/Authorization' properties: description: Repository-specific properties. type: object additionalProperties: type: string required: - repositoryType - id - defaultBranch CodeRepositoryLegacy: description: Defines a code repository. type: object properties: repositoryType: description: Type of code repository. type: string enum: - gitHub - vstsGit x-ms-enum: name: CodeRepositoryType modelAsString: true id: description: Unique identifier of the code repository. type: string defaultBranch: description: >- Default branch for which continuous integration should be configured in the VSTS pipeline. type: string authorizationReference: description: >- Reference to the authorization info used to access the code repository. This value is used as a key into the global authorization details dictionary. type: string properties: description: Repository-specific properties. type: object additionalProperties: type: string required: - repositoryType - id - defaultBranch ApplicationTarget: description: Defines the target resources for a VSTS pipeline. type: object properties: targetType: description: Type of target. type: string enum: - WindowsAppService x-ms-enum: name: ApplicationTargetType modelAsString: true resources: description: List of target resources. type: array items: $ref: '#/definitions/TargetResource' required: - targetType - resources TargetResource: description: Defines a single resource used as target for a VSTS pipeline. type: object properties: id: description: Unique identifier of the target resource. type: string role: description: Role of the target resource. type: string authorizationReference: description: >- Reference to the authorization info used to access the target resource. This value is used as a key into the global authorization details dictionary. type: string required: - id - role Authorization: description: Defines the authorization type and its parameters. type: object properties: authorizationType: description: Type of authorization. type: string enum: - authorizationToken - personalAccessToken x-ms-enum: name: AuthorizationType modelAsString: true parameters: description: Authorization parameters corresponding to the authorization type. type: object additionalProperties: type: string required: - authorizationType ProjectResourceListResult: description: >- The response to a request to list Team Services project resources in a resource group/account. type: object properties: value: description: List of project resource details. type: array items: $ref: '#/definitions/ProjectResource' ProjectResourceUpdateParameters: description: The parameters to update a project resource. type: object properties: tags: description: The custom tags to be set on the resource. type: object additionalProperties: type: string properties: description: Custom properties of project resource. type: object properties: pipelineBootstrapConfigurations: description: Bootstrap configurations for pipelines in Team Project. type: array items: $ref: '#/definitions/PipelineBootstrapConfiguration' parameters: subscriptionIdParameter: name: subscriptionId in: path description: The Azure subscription identifier. required: true type: string resourceGroupNameParameter: name: resourceGroupName in: path required: true type: string x-ms-parameter-location: method description: Name of the resource group within the Azure subscription. apiVersionParameter: name: api-version in: query description: API Version required: true type: string tags: - name: Projects