MettleCI automation for IBM DataStage NextGen and watsonx.data integration.
Caution
This repository is provided as a technology preview which may change, break, or disappear at any point and without warning.
MettleCI is IBM's official solution for providing DevOps automation for IBM DataStage teams, helping organisations improve quality, repeatability, and confidence across the software delivery lifecycle.
MCIX is a command-line toolkit for automating common DataStage NextGen delivery tasks such as analysing assets, applying overlays, importing project content, compiling assets, and producing CI/CD-friendly evidence such as JUnit XML reports. It is designed to be used from a developer workstation, inside a build agent, or as part of a containerised delivery workflow in any CI/CD platform capable of running command-line tools or Docker containers.
Modern DataStage delivery requires more than manual export/import operations. Teams need repeatable, auditable, automated workflows that can validate changes, promote assets between environments, and provide clear pass/fail feedback to CI/CD platforms.
MCIX is the tools enat enables you to ...
- Automate DataStage NextGen asset export, import, and compilation
- Apply environment-specific overlays before deployment
- Run automated checks as part of a build or release pipeline
- Produce JUnit XML output for CI/CD test reporting
- Package repeatable delivery workflows into scripts, pipelines, or containers
- Standardise how teams interact with IBM Cloud Pak for Data and watsonx.data integration environments
MCIX can be used to support workflows such as:
- Exporting DataStage assets from a development project
- Applying overlays to make exported assets suitable for another environment
- Importing assets into a target project
- Compiling imported assets
- Running asset analysis or compliance checks
- Publishing JUnit XML reports to a CI/CD platform
- Building reusable CI/CD pipelines using GitHub Actions, Azure DevOps, Jenkins, or other CI/CD tools
This repository provides:
- Public documentation for the MCIX CLI
- Release assets containing platform-specific MCIX binaries for Windows, Linux, and macOS.
- Examples for using MCIX from the command line
Download the appropriate archive from the latest GitHub release:
mcix-linux-x86.zipmcix-macos-arm64.zipmcix-windows-x86.zip
Unzip the archive and place the mcix executable somewhere on your PATH.
For example, on Linux or macOS:
unzip mcix-linux-x86.zip -d mcix
sudo install mcix/mcix /usr/local/bin/mcix
mcix --versionOn Windows, extract the archive and add the extracted directory to your PATH.
Display the available namespaces and commands:
mcix helpDisplay help for a namespace:
mcix help datastageDisplay help for a specific command:
mcix help datastage importFurther examples of how to use MCIX commands can be found in the MCIX documentation.
MCIX is intended to integrate easily with common delivery platforms:
- GitHub Actions — run MCIX directly on a runner or inside a container step
- Azure DevOps — run MCIX from shell scripts or through custom Azure DevOps tasks
- Jenkins — call MCIX from pipeline stages, shared libraries, or Docker agents
- Other platforms — run MCIX anywhere command-line tools or Docker containers are supported
A typical pipeline will:
- Check out the repository containing DataStage assets
- Download or pull the MCIX runtime
- Apply overlays for the target environment
- Import assets into the target project
- Compile the imported assets
- Publish any generated JUnit XML files as test results
- Archive deployment logs and other evidence
Most commands that connect to IBM Cloud Pak for Data or watsonx.data integration require connection details such as:
- CPD or Software Hub URL
- User name
- API key
- Project name or identifier
We recommend using environment variables, or even better your CI/CD platform's secret-management feature, rather than placing credentials directly in scripts.
Example:
export CPD_URL="https://cpd.example.com"
export CPD_USER="my-user"
export CPD_APIKEY="..."Then pass those values to MCIX:
mcix datastage import \
--url "$CPD_URL" \
--user "$CPD_USER" \
--api-key "$CPD_APIKEY" \
--project "My DataStage Project" \
--assets "./dist/datastage"The MCIX documentation site is available at https://cli.mettleci.io/.
Use the documentation for detailed command reference material, examples, and release-specific guidance.
MCIX binaries are published through GitHub Releases.
Each release may include platform-specific archives such as:
- Linux x86
- macOS Apple Silicon
- Windows x86
Use the latest release unless you need to pin a specific version for reproducible builds.
MCIX is actively evolving to support automated delivery workflows for IBM DataStage NextGen and watsonx.data integration.
Command names, options, and release packaging may change between versions. Pin the MCIX version used by production pipelines and test upgrades before rolling them out broadly.
This project is licensed under the Apache License 2.0. See LICENSE for details.