Orchestrate the Impossible™
Integrate BMC Control-M workflows with Visual Studio Code. Write, manage, and deploy Control-M jobs using modern development practices.
The Control-M Extension brings enterprise workflow automation capabilities directly into VS Code. Build, test, and deploy Control-M jobs using Jobs-as-Code with full IDE support.
Key Features:
- 🌳 Visual Infrastructure Browser - Browse Control-M/Servers, Agents, and Host Groups
- 📋 Job Management - Create and manage Control-M jobs from VS Code
- 🔌 Connection Profiles - Manage multiple Control-M environments
- 📝 Code Snippets - Pre-built templates for jobs and configurations
- 🔄 Jobs-as-Code - Define workflows in JSON or Python
- 📊 Telemetry - Usage tracking for license compliance (required)
Install from VS Code Marketplace:
ext install controlm-nxtgn
Or install manually:
code --install-extension controlm-nxtgn-1.0.0.vsix- Open VS Code Settings (
Cmd+,orCtrl+,) - Search for "Control-M"
- Configure:
- Control-M URL: Your Automation API endpoint (e.g.,
https://ctm.example.com:8443/automation-api) - API Token: Your Control-M API token (stored securely)
- Control-M URL: Your Automation API endpoint (e.g.,
Or use .ctm_connection.json in your workspace:
{
"endpoint": "https://ctm.example.com:8443/automation-api",
"token": "your-api-token"
}Getting an API Token:
# Login to get token
https://ctm.example.com:8443/- Open Command Palette (
Cmd+Shift+PorCtrl+Shift+P) - Type "Control-M" to see available commands
- Try "Control-M: Show Infrastructure" to browse your environment
View your Control-M environment structure:
- Control-M/Servers - All registered servers
- Agents - Agents by server with status indicators
- Host Groups - Logical agent groupings
Usage:
- Click Control-M icon in Activity Bar
- Expand servers to see agents
- Right-click items for context actions
Create and manage jobs using modern development practices:
- JSON Jobs - Define jobs in JSON format
- Python Jobs - Use Python API for complex workflows
- Snippets - Quick templates for common job types
Supported Job Types:
- Command jobs
- Script jobs
- Application Integrator jobs
- AWS ECS jobs
- And more...
Type ctm- in JSON or Python files to see available snippets:
ctm-job-simple- Basic job templatectm-job-aws-ecs- AWS ECS jobctm-connection-profile- Connection profilectm-python-job- Python API job
Configure the extension behavior:
| Setting | Description | Default |
|---|---|---|
controlm.endpoint |
Automation API URL | (none) |
controlm.token |
API authentication token | (none) |
Comprehensive documentation is available to help you get the most out of the Control-M Extension:
Complete guide for new users:
- Installation and setup instructions
- Initial configuration walkthrough
- Your first tasks with the extension
- Troubleshooting common issues
Detailed reference for all extension capabilities:
- Infrastructure Management (Datacenters, Agents, Host Groups, etc.)
- Workload Management (Folders, Jobs, Export functionality)
- Data Services (MFT/MFTE configuration and management)
- Job Development (Build, Run, Deploy services)
- Code Snippets and templates
- Configuration options and advanced features
Technical documentation for developers:
- Complete list of Control-M Automation API endpoints used
- Request/response formats and examples
- Authentication and security details
- Performance considerations and best practices
Complete reference for all 200+ code snippets:
- Job type snippets for all Control-M job types
- Connection profile snippets for all platforms
- MFTE configuration snippets
- Python API snippets
- Usage examples and best practices