azure-devops-mcp

by RyanCardin15
Verified
  • src
import dotenv from 'dotenv'; import path from 'path'; import fs from 'fs'; import { AzureDevOpsConfig } from './Interfaces/AzureDevOps'; // Try to load environment variables from .env file with multiple possible locations function loadEnvFile() { // First try the current directory if (fs.existsSync('.env')) { dotenv.config(); return; } // Try the directory of the running script const scriptDir = __dirname; const envPath = path.join(scriptDir, '..', '.env'); if (fs.existsSync(envPath)) { dotenv.config({ path: envPath }); return; } // If we still haven't loaded env vars, try a few other common locations const possiblePaths = [ // One level above the dist directory path.join(process.cwd(), '.env'), // User's home directory path.join(process.env.HOME || '', '.azuredevops.env') ]; for (const p of possiblePaths) { if (fs.existsSync(p)) { dotenv.config({ path: p }); return; } } console.warn('No .env file found. Using environment variables if available.'); } // Load environment variables loadEnvFile(); /** * Get Azure DevOps configuration from environment variables */ export function getAzureDevOpsConfig(): AzureDevOpsConfig { const orgUrl = process.env.AZURE_DEVOPS_ORG_URL; const project = process.env.AZURE_DEVOPS_PROJECT; const personalAccessToken = process.env.AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN; if (!orgUrl || !project || !personalAccessToken) { throw new Error('Missing required Azure DevOps configuration. Please check .env file or environment variables.'); } return { orgUrl, project, personalAccessToken }; }