The Control-M Extension includes over 200 code snippets to help you quickly create jobs, connection profiles, and configurations. This guide provides a comprehensive reference organized by category.
- How to Use Snippets
- Job Type Snippets
- Connection Profile Snippets
- MFTE Snippets
- Python API Snippets
- Configuration Snippets
- Quick Reference Tables
- Open a JSON or Python file in VS Code
- Type the snippet prefix (e.g.,
jac.job.Command) - Press Tab or Enter to insert the snippet
- Fill in placeholders - press Tab to move between fields
1. Create file: my-backup-job.json
2. Type: jac.job.Command
3. Press: Tab
4. Fill in:
- Name: "DailyBackup"
- Command: "/scripts/backup.sh"
- Host: "backup-server"
- RunAs: "backupuser"
5. Save and test with Build command
- IntelliSense: Snippets appear automatically as you type
- Prefix Search: Type
jac.jobto see all job snippets - Hover for Details: Hover over snippet name to see description
- Filter by Type: Use prefixes like
jac.connectionfor connection profiles
Command Jobs - Execute system commands
| Prefix | Description |
|---|---|
jac.job.Command |
Execute OS command with pre/post commands |
"MyCommandJob": {
"Type": "Job:Command",
"Command": "echo hello",
"Host": "myhost.mycomp.com",
"RunAs": "user1"
}Script Jobs - Run scripts from files or embedded
| Prefix | Description |
|---|---|
jac.job.Script |
Run script from file system |
jac.job.Script.Embedded |
Run embedded inline script |
Utility Jobs
| Prefix | Description |
|---|---|
jac.job.Dummy |
Placeholder job (always succeeds) |
File Transfer Jobs
| Prefix | Transfer Type |
|---|---|
jac.job.File.Transfer.Local.SFTP |
Local → SFTP |
jac.job.File.Transfer.S3.Local |
S3 → Local |
jac.job.File.Transfer.S3.S3 |
S3 → S3 |
jac.job.File.Transfer.Local.AS2 |
Local → AS2 |
jac.job.File.Transfer.Event.Based |
Event-based with File Watcher |
File Watcher Jobs
| Prefix | Description |
|---|---|
jac.job.File.Watcher.Create |
Watch for file creation |
jac.job.File.Watcher.Delete |
Watch for file deletion |
| Prefix | Database Operation |
|---|---|
jac.job.Database.Embedded.Query |
Run embedded SQL query |
jac.job.Database.SQL.Script.Basic |
Run SQL script (basic) |
jac.job.Database.SQL.Script.Parameters |
Run SQL script with parameters |
jac.job.Database.Stored.Procedure |
Execute stored procedure |
jac.job.Database.MSSQL.Agent.Job |
MSSQL Agent job |
jac.job.Database.MSSQL.SSIS |
MSSQL SSIS package |
Apache Spark
| Prefix | Description |
|---|---|
jac.job.Hadoop.Spark.Python.Basic |
Spark Python (basic) |
jac.job.Hadoop.Spark.Python.Advanced |
Spark Python (advanced) |
jac.job.Hadoop.Spark.Scala.Java.Basic |
Spark Scala/Java (basic) |
jac.job.Hadoop.Spark.Scala.Java.Advanced |
Spark Scala/Java (advanced) |
Data Processing
| Prefix | Tool |
|---|---|
jac.job.Hadoop.Pig.Basic/Advanced |
Pig scripts |
jac.job.Hadoop.Hive.Basic/Advanced |
Hive queries |
jac.job.Hadoop.Sqoop.Basic/Advanced |
Sqoop data transfer |
jac.job.Hadoop.Tajo.InputFile/Query |
Tajo operations |
Cluster Operations
| Prefix | Description |
|---|---|
jac.job.Hadoop.Map.Reduce.Basic/Advanced |
MapReduce jobs |
jac.job.Hadoop.Map.Reduce.Streaming |
Streaming MapReduce |
jac.job.Hadoop.DistCp.Basic/Advanced |
Distributed copy |
jac.job.Hadoop.HDFS.Commands |
HDFS commands |
jac.job.Hadoop.HDFS.File.Watcher |
HDFS file watcher |
jac.job.Hadoop.Oozie |
Oozie workflow |
AWS (Amazon Web Services)
| Prefix | AWS Service |
|---|---|
jac.job.AWS.Lambda |
Lambda function |
jac.job.AWS.Step.Function |
Step Functions |
jac.job.AWS.Batch |
Batch job |
jac.job.AWS.Glue |
Glue ETL job |
Azure (Microsoft)
| Prefix | Azure Service |
|---|---|
jac.job.Azure.Function |
Azure Functions |
jac.job.Azure.Logic.Apps |
Logic Apps |
jac.job.Azure.Batch.Account |
Batch Account |
jac.job.Azure.DF |
Data Factory |
jac.job.Azure.Databricks |
Databricks |
jac.job.Azure.Functions |
Cloud Functions |
Google Cloud Platform
| Prefix | GCP Service |
|---|---|
jac.job.Google.Data.Flow |
Dataflow |
jac.job.Google.Data.Proc.Workflow |
Dataproc Workflow |
jac.job.Google.Data.Proc.Job |
Dataproc Job |
SAP
| Prefix | Description |
|---|---|
jac.job.SAP.R3.Create.Basic/Advanced |
Create SAP R3 job |
jac.job.SAP.R3.Copy |
Copy existing SAP job |
jac.job.SAP.BW.Process.Chain |
SAP BW Process Chain |
jac.job.SAP.BW.Info.Package |
SAP BW InfoPackage |
Other Enterprise Apps
| Prefix | Application |
|---|---|
jac.job.PeopleSoft |
PeopleSoft process |
jac.job.Informatica |
Informatica workflow |
jac.job.Informatica.CS.Basic |
Informatica Cloud (basic) |
jac.job.Informatica.CS.Taskflow |
Informatica Cloud taskflow |
| Prefix | Description |
|---|---|
jac.job.Application.Integrator |
Application Integrator job |
jac.job.WebServices.Input.Parameters |
Web Services with parameters |
jac.job.WebServices.Input.File |
Web Services with input file |
jac.job.WebServices.REST |
REST service call |
jac.job.UI.Path |
UiPath RPA job |
jac.job.Boomi |
Boomi integration |
jac.job.Databricks |
Databricks job |
jac.job.Microsoft.Power.BI |
Power BI refresh |
| Prefix | Description |
|---|---|
jac.job.SLA.Management |
SLA Management job |
jac.job.SLA.Management.Service.Action |
SLA Service Actions |
jac.job.zOS.Member |
z/OS Member job |
jac.job.zOS.InStream.JCL |
z/OS In-Stream JCL |
jac.job.Azure.Blob.* |
Azure Blob Storage operations |
All connection profile snippets use prefix: jac.connection.profile.{Type}
Basic Protocols
| Prefix | Protocol |
|---|---|
jac.connection.profile.FileTransfer.FTP.Basic/Advanced |
FTP |
jac.connection.profile.FileTransfer.SFTP.Basic/Advanced |
SFTP |
jac.connection.profile.FileTransfer.Local |
Local filesystem |
Cloud Storage
| Prefix | Storage Type |
|---|---|
jac.connection.profile.FileTransfer.S3.Amazon |
Amazon S3 |
jac.connection.profile.FileTransfer.S3.Compatible |
S3-compatible storage |
Advanced
| Prefix | Description |
|---|---|
jac.connection.profile.FileTransfer.Dual.End.Point |
Dual endpoint (source & destination) |
jac.connection.profile.FileTransfer.Group |
Group profile (multiple destinations) |
| Prefix | Database |
|---|---|
jac.connection.profile.Database.Oracle.ServiceName |
Oracle (Service Name) |
jac.connection.profile.Database.Oracle.SID |
Oracle (SID) |
jac.connection.profile.Database.Oracle.Connection.String |
Oracle (Connection String) |
jac.connection.profile.Database.PostgreSQL |
PostgreSQL |
jac.connection.profile.Database.MSSQL.Basic |
SQL Server (basic) |
jac.connection.profile.Database.MSSQL.SSIS |
SQL Server SSIS |
jac.connection.profile.Database.DB2 |
IBM DB2 |
jac.connection.profile.Database.Sybase |
Sybase |
jac.connection.profile.Database.JDBC.Basic |
JDBC (custom) |
jac.connection.profile.Database.JDBC.Driver |
JDBC Driver definition |
| Prefix | Technology |
|---|---|
jac.connection.profile.Hadoop.Basic/Advanced |
Hadoop cluster |
jac.connection.profile.Apache.Spark |
Apache Spark |
jac.connection.profile.Apache.Hive.Basic/Advanced |
Apache Hive |
jac.connection.profile.Apache.Oozie |
Apache Oozie |
jac.connection.profile.Apache.Sqoop |
Apache Sqoop |
jac.connection.profile.Apache.Tajo |
Apache Tajo |
AWS
| Prefix | Description |
|---|---|
jac.connection.profile.AWS |
AWS (Access Key & Secret) |
jac.connection.profile.AWS.Glue.Secret |
AWS Glue (Secret) |
jac.connection.profile.AWS.Glue.IAM |
AWS Glue (IAM Role) |
Azure
| Prefix | Description |
|---|---|
jac.connection.profile.Azure.Basic |
Azure (basic) |
jac.connection.profile.Azure.Data.Factory.Service.Principal |
Azure Data Factory (Service Principal) |
jac.connection.profile.Azure.Data.Factory.Managed.Identities |
Azure Data Factory (Managed Identity) |
jac.connection.profile.Azure.Databricks |
Azure Databricks |
jac.connection.profile.Azure.Functions.Service.Principal |
Azure Functions (Service Principal) |
jac.connection.profile.Azure.Functions.Managed.Identities |
Azure Functions (Managed Identity) |
Google Cloud
| Prefix | Description |
|---|---|
jac.connection.profile.Google.Dataflow |
Google Dataflow |
jac.connection.profile.Google.Dataproc |
Google Dataproc |
| Prefix | Application |
|---|---|
jac.connection.profile.SAP.Application.Server |
SAP Application Server |
jac.connection.profile.SAP.Logon.Group |
SAP Logon Group |
jac.connection.profile.PeopleSoft |
PeopleSoft |
jac.connection.profile.Informatica.Basic |
Informatica |
jac.connection.profile.Informatica.Cloud.Services |
Informatica Cloud |
jac.connection.profile.Application.Integrator |
Application Integrator |
| Prefix | Platform |
|---|---|
jac.connection.profile.WebServices.SOAP |
Web Services (SOAP) |
jac.connection.profile.WebServices.REST |
Web Services (REST) |
jac.connection.profile.UI.Path |
UiPath |
jac.connection.profile.Boomi |
Boomi |
jac.connection.profile.Databricks |
Databricks |
jac.connection.profile.Microsoft.Power.BI |
Microsoft Power BI |
MFTE (Managed File Transfer Enterprise) snippets for B2B file transfer configuration.
| Prefix | Description |
|---|---|
ctm-mfte-rule |
MFTE Processing Rule |
ctm-mfte-user |
MFTE External User |
ctm-mfte-group |
MFTE User Group |
ctm-mfte-virtualfolder |
MFTE Virtual Folder |
Example - MFTE User:
{
"name": "external_user",
"password": "********",
"groups": ["group1"],
"homeDirPath": "/home/users/external_user",
"publicKey": "ssh-rsa ..."
}Python snippets for Control-M Automation API scripts.
| Prefix | Description |
|---|---|
ctm-python-imports |
Import Control-M API modules |
ctm-python-connection |
Setup API connection |
Example:
from ctm_python_client.core.workflow import *
from ctm_python_client import Configuration
config = Configuration()
config.username = "user"
config.password = "pass"
config.api_endpoint = "https://ctm:8443/automation-api"| Prefix | Description |
|---|---|
ctm-python-job-simple |
Create simple job |
ctm-python-job-build |
Build job definition |
ctm-python-job-run |
Run job |
ctm-python-job-deploy |
Deploy job |
| Prefix | Description |
|---|---|
ctm-python-aws-ecs |
AWS ECS job in Python |
| Prefix | Description |
|---|---|
jac.run.workload.policy.basic |
Basic workload policy |
jac.run.workload.policy.advanced |
Advanced workload policy |
jac.run.workload.policy.filter |
Policy filter |
jac.run.workload.policy.running.jobs |
Running jobs limits |
jac.run.workload.policy.resource.pool |
Resource pool configuration |
jac.run.workload.policy.host.mapping |
Host mapping rules |
| Prefix | Description |
|---|---|
jac.run.order.config.basic |
Basic order configuration |
jac.run.order.config.rerun |
Rerun configuration (z/OS) |
| Prefix | Description |
|---|---|
jac.run.alerts.update |
Update job alerts |
jac.run.alerts.status |
Update alert status |
| Prefix | Description |
|---|---|
jac.job.fix.failed.job |
Fix failed job with corrective flow |
| Snippet | Use Case |
|---|---|
jac.job.Command |
Execute shell commands |
jac.job.Script |
Run scripts from files |
jac.job.File.Transfer.Local.SFTP |
Transfer files via SFTP |
jac.job.Database.Embedded.Query |
Run SQL queries |
jac.connection.profile.FileTransfer.SFTP.Basic |
SFTP connection |
jac.connection.profile.Database.Oracle.ServiceName |
Oracle connection |
jac.connection.profile.AWS |
AWS service connection |
| Pattern | Category | Example |
|---|---|---|
jac.job.* |
Job types | jac.job.Command |
jac.connection.profile.* |
Connection profiles | jac.connection.profile.AWS |
jac.run.* |
Runtime configurations | jac.run.workload.policy.basic |
ctm-mfte-* |
MFTE objects | ctm-mfte-user |
ctm-python-* |
Python API | ctm-python-connection |
- Type prefix and wait - IntelliSense will show matches
- Use partial prefixes -
jac.job.AWSshows all AWS job types - Browse by category - Type
jac.connectionto see all connection profiles - Check descriptions - Hover over snippet names for details
- Experiment - Try different variations to find what you need
✅ Good:
"DailyBackupJob": { ... }
"FileTransfer_LogsToArchive": { ... }
"Database_ReportGeneration": { ... }❌ Avoid:
"job1": { ... } // Too generic
"test": { ... } // Not descriptive
"ThisIsMyVeryLongJobNameThatIsHardToRead": { ... } // Too long-
Start with Basic, Upgrade to Advanced
- Use basic snippets first
- Add advanced features as needed
-
Combine Multiple Snippets
- Use job snippet + connection profile snippet
- Build complex workflows from simple parts
-
Customize After Insert
- Snippets are templates - customize for your needs
- Remove unused optional parameters
-
Save Custom Configurations
- Save commonly used patterns as your own snippets
- Share team-specific snippets
Pattern 1: File Transfer with Monitoring
1. Insert: jac.job.File.Watcher.Create
2. Insert: jac.job.File.Transfer.Local.SFTP
3. Link with conditions
Pattern 2: Database Query + Notification
1. Insert: jac.job.Database.Embedded.Query
2. Add: Output capture
3. Add: Email notification on completion
Pattern 3: Cloud Job with Error Handling
1. Insert: jac.job.AWS.Lambda
2. Add: Retry logic
3. Add: Error notification
Snippet Doesn't Appear:
- Check file extension (must be .json for JSON snippets, .py for Python)
- Verify you're typing the correct prefix
- Restart VS Code if snippets aren't loading
Invalid JSON After Insert:
- Check for missing commas between objects
- Verify all strings are properly quoted
- Use VS Code's JSON validation (shows errors in red)
Placeholder Navigation:
- Press Tab to move to next placeholder
- Press Shift+Tab to move to previous placeholder
- Press Esc to exit placeholder mode
- Getting Started Guide - Setup and first steps
- Features Guide - Complete feature reference
- REST API Reference - API documentation
- BMC Control-M Documentation - Official documentation
- Share your custom snippets with the team
- Request new snippets via extension feedback
- Contribute to snippet improvements
Documentation Version 1.0.0 - Over 200 snippets available