A universal, CI/CD-agnostic command-line framework for automating Boomi deployments, package management, and process execution. The core CLI is built with portable Bash scripts that work with any CI/CD platform.
This framework provides:
- Universal CLI - Tool-agnostic bash scripts for Boomi platform operations
- Multi-Platform Support - Pre-built templates for 6+ CI/CD platforms
- Parallel Workflows - Advanced Azure DevOps templates for parallel testing and deployment
- Production-Ready - Battle-tested scripts with error handling, retry logic, and security features
- Extensible - Easy to customize for your deployment workflows
Original Development: Boomi Professional Services Organization (PSO) Current Status: Community-maintained (original version is no longer supported by Boomi) Maintainer: Anshuman Padhi
This repository was created to continue development and support for the Boomi CI/CD CLI framework, originally built by Boomi PSO. The goal is to enhance the toolset, improve documentation, and provide ongoing community support for Boomi automation needs.
Select your use case:
| Use Case | Documentation |
|---|---|
| Azure DevOps | Azure DevOps Setup Guide |
| Jenkins | Jenkins Setup Guide |
| GitHub Actions | GitHub Actions Setup Guide |
| CircleCI | CircleCI Setup Guide |
| GitLab CI | GitLab CI Setup Guide |
| TeamCity | TeamCity Setup Guide |
| Standalone CLI | Getting Started Guide |
For complete setup instructions, see Getting Started Guide
# Install dependencies
sudo apt-get install -y jq curl bash # Ubuntu/Debian
brew install jq curl # macOS
# Clone repository
git clone https://github.com/your-org/boomi-cicd-cli.git
cd boomi-cicd-cli
# Set core environment variables
export SCRIPTS_HOME="$(pwd)/cli/scripts"
export WORKSPACE="$(pwd)/workspace"
export authToken="BOOMI_ACCOUNT.username:api_token"
export baseURL="https://api.boomi.com/api/rest/v1/YOUR_ACCOUNT_ID/"
# Test setup
cd $SCRIPTS_HOME
source bin/publishAtom.sh > atoms.html- Detailed CLI Setup β Getting Started Guide
- Complete Script Reference β CLI Reference
- Framework Architecture β Architecture Guide
boomi-cicd-cli/
βββ cli/ # Core CLI (tool-agnostic)
β βββ scripts/
β βββ bin/ # Bash scripts for Boomi operations
β βββ json/ # API payload templates
β βββ conf/ # Configuration files
βββ ci-templates/ # Platform-specific integrations
β βββ azuredevops/
β β βββ pipelines/ # Azure Pipeline YAML templates
β β βββ docs/SETUP.md # Setup guide
β β βββ examples/ # Example configurations
β βββ jenkins/
β β βββ pipelines/ # Jenkinsfiles
β β βββ docs/SETUP.md
β β βββ examples/
β βββ github-actions/
β β βββ workflows/ # GitHub Actions workflows
β β βββ docs/SETUP.md
β β βββ examples/
β βββ circleci/
β β βββ config/ # CircleCI configurations
β β βββ docs/SETUP.md
β β βββ examples/
β βββ gitlab-ci/
β β βββ pipelines/ # GitLab CI YAML
β β βββ docs/SETUP.md
β β βββ examples/
β βββ teamcity/
β βββ configs/ # TeamCity configurations
β βββ docs/SETUP.md
β βββ examples/
βββ docs/ # Central documentation
β βββ CLI_REFERENCE.md # Complete CLI command reference
β βββ GETTING_STARTED.md # Quick start guide
β βββ ARCHITECTURE.md # Framework architecture
βββ examples/
β βββ common-workflows/ # Cross-platform workflow examples
βββ README.md # This file
The CLI provides scripts for all major Boomi operations:
createPackages.sh- Create deployment packagesdeployPackages.sh- Deploy packages to environmentsundeployPackages.sh- Undeploy packages
executeProcess.sh- Execute a processdeployProcess.sh- Deploy individual processesqueryProcess.sh- Query process information
queryEnvironment.sh- Get environment detailscreateEnvironment.sh- Create new environmentsupdateExtensions.sh- Update environment extensions
queryAtom.sh- Get atom informationcreateAtom.sh- Create atomupdateAtom.sh- Update atom configuration
run_tests.sh- Execute automated test suite for CLI validationmocks/curl- Mock API responses for offline testing
publishDeployedPackage.sh- Generate deployment reportspublishPackagedComponent.sh- List packaged componentspublishProcess.sh- List processes
See CLI Reference for complete documentation.
-
Separation of Concerns
- Core CLI logic is independent of CI/CD platform
- Platform templates are thin wrappers around CLI
-
Portability
- Pure Bash scripts (Bash 4.0+)
- Standard dependencies (jq, curl)
- No platform-specific features in core CLI
-
Security
- Token masking in logs
- Secure credential handling
- No hardcoded secrets
-
Reliability
- Exponential backoff for API calls
- Comprehensive error handling
- Dependency validation on startup
flowchart TB
subgraph cicd["CI/CD Platform Layer"]
direction LR
Jenkins["Jenkins"]
ADO["Azure DevOps"]
GHA["GitHub Actions"]
CircleCI["CircleCI"]
GitLab["GitLab CI"]
end
subgraph wrapper["Platform Template Layer"]
Wrapper["Platform Wrapper Scripts<br/>(deploy_packages.yaml/sh)"]
end
subgraph core["Core CLI Layer"]
CLI["Universal CLI Scripts<br/>(deployPackages.sh, executeProcess.sh, etc.)"]
end
subgraph boomi["Boomi Platform"]
API["AtomSphere REST API"]
end
cicd -->|"Orchestrates<br/>Workflow"| wrapper
wrapper -->|"Sets env vars<br/>& sources"| core
core -->|"HTTP REST<br/>calls"| boomi
style cicd fill:#e1f5ff,stroke:#01579b,stroke-width:2px
style wrapper fill:#fff3e0,stroke:#e65100,stroke-width:2px
style core fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
style boomi fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px
Architecture Layers:
- CI/CD Platform - Your chosen automation platform (orchestrates workflows)
- Platform Templates - Thin wrapper scripts (set environment variables, call core CLI)
- Core CLI - Tool-agnostic Bash scripts (business logic, API calls)
- Boomi Platform - AtomSphere REST API (target system)
- Getting Started - Step-by-step tutorial
- CLI Reference - Complete command documentation
- Architecture - Deep dive into framework design
- Common Workflows - Example deployment patterns
- Automated Deployments - CI/CD pipelines for Boomi processes
- Multi-Environment Promotion - Dev β QA β UAT β Production
- Scheduled Deployments - Nightly or weekend releases
- Hotfix Deployments - Rapid deployment for critical fixes
- API Testing - Integrate with Postman/Newman for API validation
- Rollback - Undeploy packages when issues occur
- Never commit credentials - Use CI/CD secret management
- Mask tokens in logs - Framework automatically masks
authToken - Use protected branches - Restrict production deployments
- Implement approvals - Manual gates for production
- Audit deployments - Store artifacts and logs
Contributions are welcome! Areas for contribution:
- Additional CI/CD platform templates
- Enhanced error handling
- Additional Boomi API operations
- Documentation improvements
- Bash 4.0+
- jq (JSON processor)
- curl (HTTP client)
For code quality scanning with sonarScanner.sh:
Download SonarQube Scanner:
cd sonarqube
# Download from official source
curl -L -O https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.8.0.2856.zip
unzip sonar-scanner-cli-4.8.0.2856.zipNote: The sonarqube/ directory is excluded from Git to keep the repository lightweight. Download the scanner separately if you need code quality integration.
- See platform-specific setup guides for agent requirements
Error: jq: command not found
sudo apt-get install jq # Ubuntu/Debian
sudo yum install jq # RHEL/CentOS
brew install jq # macOSError: SCRIPTS_HOME not set
export SCRIPTS_HOME="/path/to/boomi-cicd-cli/cli/scripts"Error: Authentication failed
# Verify token format: Base64(ACCOUNT.username:api_token)
echo -n "BOOMI_ACCOUNT.user:token" | base64See platform-specific troubleshooting in setup guides.
- Documentation: See
docs/directory - Platform Issues: Check platform-specific SETUP.md
- CLI Issues: Review CLI Reference
This project is licensed under the MIT License - see the LICENSE file for details.
Original work by Boomi Professional Services Organization (PSO).
Currently maintained and enhanced by Anshuman Padhi (2026-present).
Note: This is a community-driven project and is not officially supported by Boomi.
This is now a community-maintained project. Contributions, bug reports, and feature requests are welcome! See CONTRIBUTING.md for guidelines.
Ready to get started? Choose your CI/CD platform above and follow the setup guide!