UNPKG

azdev-automation

Version:

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

90 lines (88 loc) 2.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const automation_1 = require("./automation"); const logger_1 = require("./loggers/logger"); const parameterreader_1 = require("./readers/parameterreader"); const logger = new logger_1.Logger("azdev-automation", false); const parameterReader = new parameterreader_1.ParameterReader(logger); function newEndpoint(account, token) { const endpoint = { account, token, url: `https://dev.azure.com/${account}`, }; return endpoint; } function readParameters() { const usage = ` Usage: $ ./console.js <parameters> Options: --config, -c [string], path to configuration file --policies, -p [string], path to policies directory --schemas, -s [string], path to schemas directory --account, -a [string], Azure DevOps account name --token, -t [string], Azure DevOps account PAT token --projectSetup [boolean], control project setup feature --accessPermissions [boolean], control access permissions feature --serviceConnections [boolean], control service connections feature --branchPolicies [boolean], control branch policies feature`; const flags = { config: { type: "string", alias: "c", }, policies: { type: "string", alias: "p", default: "policies", }, schemas: { type: "string", alias: "s", default: "schemas", }, account: { type: "string", alias: "a", }, token: { type: "string", alias: "t", }, projectSetup: { type: "boolean", default: false, }, accessPermissions: { type: "boolean", default: false, }, serviceConnections: { type: "boolean", default: false, }, branchPolicies: { type: "boolean", default: false, }, }; const parameters = parameterReader.newParameters(usage, flags); return parameters; } async function run() { const consoleParameters = readParameters(); const endpoint = newEndpoint(consoleParameters.account, consoleParameters.token); const parameters = { config: consoleParameters.config, policies: consoleParameters.policies, schemas: consoleParameters.schemas, projectSetup: consoleParameters.projectSetup, accessPermissions: consoleParameters.accessPermissions, branchPolicies: consoleParameters.branchPolicies, serviceConnections: consoleParameters.serviceConnections, }; const automation = new automation_1.Automation(endpoint, parameters); await automation.run(); } run();