in src/configure/configure.ts [111:159]
private async createPreRequisites(): Promise<void> {
if (this.inputs.isNewOrganization) {
this.inputs.project = {
id: "",
name: AzureDevOpsHelper.generateDevOpsProjectName(this.inputs.sourceRepository.repositoryName)
};
await vscode.window.withProgress(
{
location: vscode.ProgressLocation.Notification,
title: Messages.creatingAzureDevOpsOrganization
},
async () => {
try {
await this.organizationsClient.createOrganization(this.inputs.organizationName);
this.organizationsClient.listOrganizations(true);
const azureDevOpsClient = await this.getAzureDevOpsClient();
const coreApi = await azureDevOpsClient.getCoreApi();
const operation = await coreApi.queueCreateProject({
name: this.inputs.project.name,
visibility: ProjectVisibility.Private,
capabilities: {
versionControl: {
sourceControlType: "Git"
},
processTemplate: {
templateTypeId: "adcc42ab-9882-485e-a3ed-7678f01f66bc" // Agile
}
},
});
const operationsClient = new OperationsClient(this.inputs.organizationName, azureDevOpsClient);
await operationsClient.waitForOperationSuccess(operation.id);
this.inputs.project = await coreApi.getProject(this.inputs.project.name);
} catch (error) {
telemetryHelper.logError(Layer, TracePoints.CreateNewOrganizationAndProjectFailure, error);
throw error;
}
});
}
if (this.inputs.sourceRepository.repositoryProvider === RepositoryProvider.Github) {
await this.createGithubServiceConnection();
}
if(this.inputs.pipelineParameters.pipelineTemplate.targetType != TargetResourceType.None) {
await this.createAzureRMServiceConnection();
}
}