Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Pipelines>MettleCI MCIX DevOps for IBM DataStage NextGen
MettleCI MCIX DevOps for IBM DataStage NextGen

MettleCI MCIX DevOps for IBM DataStage NextGen

MettleCI

|
2 installs
| (0) | Free
MettleCI automated static code analysis, dynamic unit testing, and advanced CI/CD deployment and build capabilities for IBM DataStage NextGen on Cloud Pak.
Get it free
⚠️ Warning!
This extension is a pre-release technical preview which may break without warning at any time!

MettleCI for IBM DataStage NextGen

MettleCI's IBM DataStage NextGen DevOps automation toolkit (MCIX) in Azure DevOps pipelines using a deployment and infrastructure-free containerised solution.

This extension provides a set of custom Azure DevOps tasks that wrap the MCIX CLI and run it inside a Docker container, ensuring consistent behaviour across agents and environments.


Requirements

  • A Linux build agent with Docker available
    (Microsoft-hosted Ubuntu agents work out of the box)
  • All input and output paths must be under the agent working directory:
    • $(System.DefaultWorkingDirectory)
    • $(Build.SourcesDirectory)
    • $(Build.ArtifactStagingDirectory)

Quick start

Note that these tasks provide a graphical user interface in Azure DevOps pipelines which will enable you to author CI/CD pipelines for IBM Cloud Pak without needing to be an expert in YAML. The following snippet demonstrates how a task is used in a pipeline.

pool:
  vmImage: 'ubuntu-latest'

stages:
  - stage: Use_MCIX_Tasks
    jobs:
    - job: Demonstrate_MCIX_Tasks
      displayName: "Demonstrate MCIX Tasks"
      steps:
      - checkout: self
      - task: mcixDataStageImport@1
        inputs:
          containerRegistry: 'my-container-service-connection'
          url: 'http://my-cpd.my-organization.com'
          user: 'MyUserName'
          apiKey: '${MySecureApiKey}'
          project: 'MyProject'
          assets: 'datastage'

Tasks

  • MCIX Asset-Analysis Test
  • MCIX DataStage Compile
  • MCIX DataStage Deploy
  • MCIX DataStage Import
  • MCIX Overlay Apply
  • MCIX System Version
  • MCIX Unit-Test Execute

MCIX Asset-Analysis Test

Static code analysis of NextGen DataStage assets with optional publication of JUnit results.

YAML example

- task: mcixAssetAnalysisTest@1
  displayName: "MCIX Asset-Analysis Test"
  inputs:
    imageName: "imageName-value"
    imageTag: "imageTag-value"
    rules: "$(RULES)"
    report: "$(REPORT)"

Inputs

Input Required Description
containerRegistry No For container images stored in a private Azure registry this is the name of the Azure Service Connection (which should be of type 'Docker Registry') connected to your registry.
imageName Yes The name of the MCIX container image providing this task
imageTag Yes The tag of the MCIX container image providing this task
rules Yes Path to the Asset Analysis rules file or directory. Relative paths are resolved from $(Build.SourcesDirectory).
report Yes Path for the generated report file. XML reports can be published as JUnit test results. Relative paths are resolved from $(Build.SourcesDirectory).
path No Local asset path for file-based analysis. Mutually exclusive with URL. Relative paths are resolved from $(Build.SourcesDirectory).
url No IBM Cloud Pak URL. Mutually exclusive with Asset path
user No IBM Cloud Pak username. Required when Cloud Pak URL is supplied
apiKey No IBM Cloud Pak API key. Required when Cloud Pak URL is supplied
project No IBM Cloud Pak project name. Supply either Project name or Project ID
projectId No IBM Cloud Pak project ID. Supply either Project ID or Project name
includeTags No Optional 'include' tags. Newline, comma, or whitespace separated
excludeTags No Optional 'exclude' tags. Newline, comma, or whitespace separated
ignoreTestFailures No Check this option to ignore test failures, so the task does not cause the pipeline to fail even if some tests fail.
testSuite No Optional JUnit test suite name
additionalArgs No Additional arguments to enable diagnostics or try preview features, usually under the direction of your support contact. Normally blank.

MCIX DataStage Compile

Compilation of DataStage assets in a specified Cloud Pak project

YAML example

- task: mcixDataStageCompile@1
  displayName: "MCIX DataStage Compile"
  inputs:
    imageName: "imageName-value"
    imageTag: "imageTag-value"
    report: "$(REPORT)"

Inputs

Input Required Description
containerRegistry No For container images stored in a private Azure registry this is the name of the Azure Service Connection (which should be of type 'Docker Registry') connected to your registry.
imageName Yes The name of the MCIX container image providing this task
imageTag Yes The tag of the MCIX container image providing this task
url No IBM Cloud Pak URL. Mutually exclusive with Asset path
user No IBM Cloud Pak username. Required when Cloud Pak URL is supplied
apiKey No IBM Cloud Pak API key. Required when Cloud Pak URL is supplied
project No IBM Cloud Pak project name. Supply either Project name or Project ID
projectId No IBM Cloud Pak project ID. Supply either Project ID or Project name
report Yes Path to the JUnit report file. Relative paths are resolved from $(Build.SourcesDirectory)
additionalArgs No Additional arguments to enable diagnostics or try preview features, usually under the direction of your support contact. Normally blank.

MCIX DataStage Deploy

Deployment of DataStage assets to a Cloud Pak project

YAML example

- task: mcixDataStageDeploy@1
  displayName: "MCIX DataStage Deploy"
  inputs:
    imageName: "imageName-value"
    imageTag: "imageTag-value"
    assets: "$(ASSETS)"
    overlays: |
            path/one
            path/two
    output: "$(OUTPUT)"
    importReport: "$(IMPORTREPORT)"
    compileReport: "$(COMPILEREPORT)"

Inputs

Input Required Description
containerRegistry No For container images stored in a private Azure registry this is the name of the Azure Service Connection (which should be of type 'Docker Registry') connected to your registry.
imageName Yes The name of the MCIX container image providing this task
imageTag Yes The tag of the MCIX container image providing this task
assets Yes Path to DataStage export (.zip) or directory to apply overlays to. Relative paths are resolved from $(Build.SourcesDirectory)
overlays Yes One overlay directory per line. Applied in order. Relative paths are resolved from $(Build.SourcesDirectory)
properties No Optional properties file with replacement values. Relative paths are resolved from $(Build.SourcesDirectory)
output Yes Zip file or directory to write updated assets. Relative paths are resolved from $(Build.SourcesDirectory)
url No IBM Cloud Pak URL. Mutually exclusive with Asset path
user No IBM Cloud Pak username. Required when Cloud Pak URL is supplied
apiKey No IBM Cloud Pak API key. Required when Cloud Pak URL is supplied
project No IBM Cloud Pak project name. Supply either Project name or Project ID
projectId No IBM Cloud Pak project ID. Supply either Project ID or Project name
importReport Yes Path to the import JUnit report file. Relative paths are resolved from $(Build.SourcesDirectory)
compileReport Yes Path to the compile JUnit report file. Relative paths are resolved from $(Build.SourcesDirectory)
overlayAdditionalArgs No Additional arguments to enable diagnostics or try preview features with the overlay operation, usually under the direction of your support contact. Normally blank.
importAdditionalArgs No Additional arguments to enable diagnostics or try preview features with the import operation, usually under the direction of your support contact. Normally blank.
compileAdditionalArgs No Additional arguments to enable diagnostics or try preview features of the compile operation, usually under the direction of your support contact. Normally blank.

MCIX DataStage Import

Import of DataStage assets into a specified Cloud Pak project

YAML example

- task: mcixDataStageImport@1
  displayName: "MCIX DataStage Import"
  inputs:
    imageName: "imageName-value"
    imageTag: "imageTag-value"
    url: "url-value"
    user: "user-value"
    apiKey: "apiKey-value"
    assets: "$(ASSETSPATH)"

Inputs

Input Required Description
containerRegistry No For container images stored in a private Azure registry this is the name of the Azure Service Connection (which should be of type 'Docker Registry') connected to your registry.
imageName Yes The name of the MCIX container image providing this task
imageTag Yes The tag of the MCIX container image providing this task
url No IBM Cloud Pak URL. Mutually exclusive with Asset path
user No IBM Cloud Pak username. Required when Cloud Pak URL is supplied
apiKey No IBM Cloud Pak API key. Required when Cloud Pak URL is supplied
project No IBM Cloud Pak project name. Supply either Project name or Project ID
projectId No IBM Cloud Pak project ID. Supply either Project ID or Project name
assetsPath Yes The path to the assets for the DataStage project. This can be the name of a zip file or directory. Relative paths are resolved from $(Build.SourcesDirectory).
report Yes Path to the JUnit report file. Relative paths are resolved from $(Build.SourcesDirectory)
additionalArgs No Additional arguments to enable diagnostics or try preview features, usually under the direction of your support contact. Normally blank.

MCIX Overlay Apply

Modify file assets to apply environment-specific values for NextGen DataStage

YAML example

- task: mcixOverlayApply@1
  displayName: "MCIX Overlay Apply"
  inputs:
    imageName: "imageName-value"
    imageTag: "imageTag-value"
    assets: "$(ASSETS)"
    output: "$(OUTPUT)"
    overlays: |
            path/one
            path/two

Inputs

Input Required Description
containerRegistry No For container images stored in a private Azure registry this is the name of the Azure Service Connection (which should be of type 'Docker Registry') connected to your registry.
imageName Yes The name of the MCIX container image providing this task
imageTag Yes The tag of the MCIX container image providing this task
assets Yes Path to DataStage export (.zip) or directory to apply overlays to. Relative paths are resolved from $(Build.SourcesDirectory)
output Yes Zip file or directory to write updated assets. Relative paths are resolved from $(Build.SourcesDirectory)
overlays Yes One overlay directory per line. Applied in order. Relative paths are resolved from $(Build.SourcesDirectory)
properties No Optional properties file with replacement values. Relative paths are resolved from $(Build.SourcesDirectory)
overlayAdditionalArgs No Additional arguments to enable diagnostics or try preview features, usually under the direction of your support contact. Normally blank.

MCIX System Version

Retrieve details on the MCIX container providing DataStage CI/CD capabilities for IBM Software Hub (Cloud Pak)

YAML example

- task: mcixSystemVersion@1
  displayName: "MCIX System Version"
  inputs:
    imageName: "imageName-value"
    imageTag: "imageTag-value"

Inputs

Input Required Description
containerRegistry No For container images stored in a private Azure registry this is the name of the Azure Service Connection (which should be of type 'Docker Registry') connected to your registry.
imageName Yes The name of the MCIX container image providing this task
imageTag Yes The tag of the MCIX container image providing this task
additionalArgs No Additional arguments to enable diagnostics or try preview features, usually under the direction of your support contact. Normally blank.

MCIX Unit-Test Execute

Unit testing of DataStage assets in a specified Cloud Pak project

YAML example

- task: mcixUnitTestExecute@1
  displayName: "MCIX Unit-Test Execute"
  inputs:
    imageName: "imageName-value"
    imageTag: "imageTag-value"
    report: "$(REPORT)"

Inputs

Input Required Description
containerRegistry No For container images stored in a private Azure registry this is the name of the Azure Service Connection (which should be of type 'Docker Registry') connected to your registry.
imageName Yes The name of the MCIX container image providing this task
imageTag Yes The tag of the MCIX container image providing this task
url No IBM Cloud Pak URL. Mutually exclusive with Asset path
user No IBM Cloud Pak username. Required when Cloud Pak URL is supplied
apiKey No IBM Cloud Pak API key. Required when Cloud Pak URL is supplied
project No IBM Cloud Pak project name. Supply either Project name or Project ID
projectId No IBM Cloud Pak project ID. Supply either Project ID or Project name
report Yes JUnit report file path to write (.xml). Must be inside the agent working directory
testSuite No The test suite name for this invocation of unit testing
maxConcurrency No Maximum number of concurrently executing test case jobs to run
ignoreTestFailures No Returns zero when testing completes regardless of failures
additionalArgs No Additional arguments to enable diagnostics or try preview features, usually under the direction of your support contact. Normally blank.

Troubleshooting

Docker image pull fails (401 / 403) If using a private container registry, authenticate earlier in the job (for example with the built-in Docker@2 login task).


© 2025-2026 Data Migrators Pty Ltd. All rights reserved.

Data Migrators policy documents

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft