Skip to content

DataMigrators/mcix

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

🚀 MCIX for IBM DataStage

Static Code Analysis • Automated Unit Testing • CI/CD for IBM DataStage

MCIX is a command-line toolkit that brings modern engineering practices to IBM DataStage NextGen. It provides:

  • Automated static code analysis
  • Dynamic unit testing
  • Static analysis of flow designs
  • Quality gates for your CI/CD pipelines
  • Fully scriptable CLI for DevOps automation

This repository exposes MCIX as a set of GitHub Actions so DataStage teams can run autoamted quality checks and deployment activities directly inside GitHub workflows.


🔧 Features

✔ Introduce DataStage teams to modern CI/CD practices ✔ Run MCIX tests as part of continuous integration ✔ Fail builds automatically on quality rule violations ✔ Upload test results as workflow artifacts ✔ Authenticate securely using GitHub Secrets ✔ Integrate with GitHub seamlessly using native Actions ✔ Run MCIX on GitHub cloud infrastructure ✔ Repeatable static analysis of DataStage assets ✔ Zero-configuration default scans — or fully custom rulesets


📦 Using This Action in Your Workflow

name: Validate DataStage Project

on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  mcix-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run MCIX static analysis
        uses: DataMigrators/mcix@v1
        with:
          api-key: ${{ secrets.MCIX_API_KEY }}
          url: https://your-mcix-server/api
          user: datastage.dev
          report: static-analysis
          project: MyDataStageProject

This runs MCIX against your DataStage project every time someone pushes or opens a pull request.


⚙️ Inputs

Name Required Description
api-key API key for authentication to your MCIX server
url Base URL of your MCIX server (e.g., https://mcix.example.com/api)
user Logical user identity used for audit & tagging
report The MCIX report or test suite to run (e.g., static-analysis, unit-tests)
project Name of the DataStage project to analyse
project-id MCIX internal project ID (mutually exclusive with project)

Note: project and project-id cannot be used together.


📤 Outputs

The action exposes the following outputs:

Output Description
result The textual result of the MCIX analysis
status success or fail depending on quality gate result

Use them in your workflow like:

      - name: Check MCIX Result
        run: echo "MCIX Status: ${{ steps.mcix.outputs.status }}"

🚨 Failure Conditions

The action will exit non-zero if:

  • Static analysis detects violations exceeding your thresholds
  • Unit tests fail
  • MCIX cannot authenticate
  • A report name is invalid
  • Both project and project-id are provided

This ensures CI/CD pipelines fail fast and enforce DataStage quality.


📚 Documentation

Full documentation lives at:

👉 https://docs.mettleci.io 👉 https://www.mettleci.com

Topics include:

  • Installing and configuring MCIX
  • Static analysis rules
  • Writing DataStage unit tests
  • CI/CD integration patterns
  • Server configuration and security
  • Example pipelines (GitHub & Jenkins)

🧪 Local Testing

To test MCIX locally:

<TBC>


🤝 Support


📝 License

This project is licensed under the DataMigrators License Agreement. See the license file in the repository for details.

About

GitHub Actions for IBM DataStage NextGen on Cloud Pak

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •