Transform CI/CD with YAML-driven Jenkins job automation. Define, version, and manage CI/CD pipelines as code with JobGenie.
JobGenie revolutionizes how DevOps teams manage Jenkins jobs by providing a GitOps-native approach to job creation and management.
Define jobs in YAML, JobGenie creates them automatically
Automatically detects and processes YAML job definitions
Full version control and audit trail for all job configurations
Multiple developers can work on job definitions simultaneously
Expertise in modern DevOps tools and technologies that power JobGenie
Jenkins
Docker
Kubernetes
AWS
Git
Terraform
Prometheus
Grafana
Ansible
Helm
GitLab CI
CircleCI
Experience the power of automated CI/CD with JobGenie's comprehensive feature set.
Faster Onboarding - New services onboarded in minutes, not days
Reduced Errors - YAML validation catches errors before deployment
Better Visibility - All job configurations visible in Git
Easy Rollback - Revert job changes via Git revert
Scalability - Handle hundreds of jobs with minimal effort
Security & Compliance - All configurations version-controlled
Define complex Jenkins jobs with simple, readable YAML syntax.
jobgenie:
default:
HOME_DIR: prod
GROUP: "v4"
ENV: "prod"
jobs:
- NAME: "my-service"
PARAMETERS:
- { name: 'GitBranch', string: 'main', description: 'Git branch to build.' }
CONFIGS:
APP_REPO: "my-service-repo"
APP_BRANCH: "main"
jobgenie:
default:
HOME_DIR: prod
GROUP: "v2"
ENV: "prod"
jobs:
- NAME: "microservices-orchestrator"
PARAMETERS:
- { name: 'TAG', string: 'v3.2.1', description: 'Application version tag.' }
- { name: 'Services', string: 'all', description: 'Services to deploy (comma-separated or "all").' }
- { name: 'RollbackOnFailure', bool: true, description: 'Auto-rollback on failure.' }
CONFIGS:
SERVICE: "microservices-orchestrator"
CICD_TEMPLATE_NAME: "microservices-deployment-template"
APP_REPO: "microservices-platform"
APP_BRANCH: "production"
jobs:
- NAME: "terraform-infrastructure-deploy"
PARAMETERS:
- { name: 'GitBranch', string: 'main', description: 'Terraform code branch.' }
- { name: 'TerraformAction', choice: ['plan', 'apply', 'destroy'], description: 'Terraform action.' }
- { name: 'Region', string: 'us-east-1', description: 'AWS region.' }
CONFIGS:
JOB_TYPE: "freestyle"
SERVICE: "terraform-infrastructure-deploy"
APP_REPO: "terraform-infrastructure"
APP_BRANCH: "main"
SCRIPT: |
echo "Executing Terraform ${TerraformAction} in ${Region}"
terraform init
terraform ${TerraformAction}
jobs:
- NAME: "security-vulnerability-scan"
PARAMETERS:
- { name: 'ScanType', choice: ['container', 'code', 'dependency'], description: 'Scan type.' }
- { name: 'Severity', choice: ['critical', 'high', 'medium', 'all'], description: 'Severity level.' }
CONFIGS:
JOB_TYPE: "freestyle"
SERVICE: "security-vulnerability-scan"
APP_REPO: "security-scanner"
APP_BRANCH: "main"
SCRIPT: |
echo "Running ${ScanType} security scan with ${Severity} severity"
# Security scanning logic here
jobs:
- NAME: "jenkins-config-sync"
PARAMETERS:
- { name: 'ConfigBranch', string: 'master', description: 'Config branch.' }
CONFIGS:
JOB_TYPE: "freestyle"
SKIP_GIT: true
SKIP_ENJECTED_VARS: true
DSL_SCRIPT: |
import io.jenkins.plugins.casc.ConfigurationAsCode;
ConfigurationAsCode.get().configure()
println("Configuration sync completed")
jobs:
- NAME: "blue-green-deployment"
PARAMETERS:
- { name: 'ApplicationName', string: '', description: 'Application name.' }
- { name: 'TrafficPercentage', string: '10', description: 'Traffic percentage.' }
CONFIGS:
SERVICE: "blue-green-deployment"
CICD_TEMPLATE_NAME: "blue-green-deploy-template"
APP_REPO: "deployment-automation"
APP_BRANCH: "main"
jobs:
- NAME: "database-backup-job"
PARAMETERS:
- { name: 'DatabaseType', choice: ['postgresql', 'mysql', 'mongodb'], description: 'Database type.' }
- { name: 'BackupType', choice: ['full', 'incremental'], description: 'Backup type.' }
CONFIGS:
JOB_TYPE: "freestyle"
SERVICE: "database-backup-job"
APP_REPO: "backup-scripts"
APP_BRANCH: "master"
SCRIPT: |
echo "Performing ${BackupType} backup for ${DatabaseType}"
# Backup logic here
jobs:
- NAME: "shared/notification-service"
PARAMETERS:
- { name: 'GitBranch', string: 'main', description: 'Application branch.' }
CONFIGS:
APP_REPO: "notification-service"
APP_BRANCH: "main"
PIPELINE_PATH: "shared"
Simple, readable YAML syntax for complex pipelines
Support for multiple environments from single definitions
Reusable pipeline templates for consistent deployments
JobGenie's streamlined architecture ensures reliable and efficient job generation.
JobGenie seed job runs manually or via webhook
Scans repository for *-jobs.yml files
Parses YAML using SnakeYAML library
Uses JobDSL to create/update Jenkins jobs
Transform your CI/CD workflow with JobGenie's simple three-step process.
Create your first YAML job definition following the naming convention.
amazon/myproject/prod/jobs/myproject-prod-jobs.yml
Commit your YAML file to Git repository and push changes.
git add . && git commit -m "Add job definition" && git push
Run JobGenie seed job in Jenkins to auto-generate your jobs.
Navigate → Build → Verify
JobGenie is completely open source and free forever. Join the community of DevOps teams transforming their CI/CD workflows with YAML-driven Jenkins automation.
No credit card required. No hidden fees. Just pure DevOps automation power.