UNPKG

azdev-automation

Version:

Azure DevOps automation framework enables access control automation of projects, pipelines and repositories configuration in Azure DevOps Services

62 lines (61 loc) 2.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApiFactory = void 0; const azure_devops_node_api_1 = require("azure-devops-node-api"); class ApiFactory { constructor(accountName, token, logger) { this.debugLogger = logger.extend(this.constructor.name); const auth = (0, azure_devops_node_api_1.getPersonalAccessTokenHandler)(token); // Use integrated retry mechanism to address // Intermittent Azure DevOps connectivity errors const options = { allowRetries: true, maxRetries: 100, socketTimeout: 30000, }; this.webApi = new azure_devops_node_api_1.WebApi(`https://dev.azure.com/${accountName}`, auth, options); } async createCoreApi() { const debug = this.debugLogger.extend(this.createCoreApi.name); const coreApi = await this.webApi.getCoreApi(); debug("Azure DevOps Core API initialized"); return coreApi; } async createReleaseApi() { const debug = this.debugLogger.extend(this.createReleaseApi.name); const releaseApi = await this.webApi.getReleaseApi(); debug("Azure DevOps Release API initialized"); return releaseApi; } async createBuildApi() { const debug = this.debugLogger.extend(this.createBuildApi.name); const buildApi = await this.webApi.getBuildApi(); debug("Azure DevOps Build API initialized"); return buildApi; } async createGitApi() { const debug = this.debugLogger.extend(this.createGitApi.name); const getApi = await this.webApi.getGitApi(); debug("Azure DevOps Git API initialized"); return getApi; } async createTaskAgentApi() { const debug = this.debugLogger.extend(this.createTaskAgentApi.name); const taskAgentApi = await this.webApi.getTaskAgentApi(); debug("Azure DevOps Task Agent API initialized"); return taskAgentApi; } async createSecurityRolesApi() { const debug = this.debugLogger.extend(this.createSecurityRolesApi.name); const securityRolesApi = await this.webApi.getSecurityRolesApi(); debug("Azure DevOps Security Roles API initialized"); return securityRolesApi; } async createVsoClient() { const debug = this.debugLogger.extend(this.createVsoClient.name); debug("Azure DevOps API client initialized"); debug(this.webApi.options); return this.webApi.vsoClient; } } exports.ApiFactory = ApiFactory;