private async createPreRequisites()

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();
        }
    }