{"id":46315007,"url":"https://github.com/mettleci/mcix-overlay-apply","last_synced_at":"2026-06-15T04:01:23.956Z","repository":{"id":342032174,"uuid":"1172550636","full_name":"MettleCI/mcix-overlay-apply","owner":"MettleCI","description":"GitHub Action published from monorepo path: overlay/apply","archived":false,"fork":false,"pushed_at":"2026-03-04T13:00:38.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-04T19:08:05.283Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MettleCI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-04T12:44:10.000Z","updated_at":"2026-03-04T12:44:18.000Z","dependencies_parsed_at":"2026-03-04T19:08:08.499Z","dependency_job_id":null,"html_url":"https://github.com/MettleCI/mcix-overlay-apply","commit_stats":null,"previous_names":["mettleci/mcix-overlay-apply"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/MettleCI/mcix-overlay-apply","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MettleCI%2Fmcix-overlay-apply","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MettleCI%2Fmcix-overlay-apply/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MettleCI%2Fmcix-overlay-apply/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MettleCI%2Fmcix-overlay-apply/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MettleCI","download_url":"https://codeload.github.com/MettleCI/mcix-overlay-apply/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MettleCI%2Fmcix-overlay-apply/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34346870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-04T14:03:15.455Z","updated_at":"2026-06-15T04:01:23.950Z","avatar_url":"https://github.com/MettleCI.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MCIX DataStage Overlay Apply GitHub Action\n\nApply one or more **overlay directories** to DataStage export assets using the MCIX `overlay apply` command.\n\nThis action lets you take an existing DataStage export (zip or directory), apply a sequence of overlay directories (in order), and write the updated assets to a new zip or directory. Overlays can contain modified JSON, additional assets, or changes driven by a properties file.\n\n\u003e Namespace: `overlay`\n\u003e Action: `apply`\n\u003e Usage: `DataMigrators/mcix/overlay/apply@v1`\n\n---\n\n## 🧩 What this action does\n\nIt wraps the CLI:\n\n```text\nUsage: overlay apply [options]\n  Options:\n  * -assets    Path to DataStage export zip file or directory\n  * -output    Zip file or directory to write updated assets\n  * -overlay   Directory containing asset overlays. Each overlay will be\n               applied in specified order when providing multiple (e.g:\n               -overlay dir1 -overlay dir2)\n    -properties Properties file with replacement values\n````\n\nYou provide:\n\n* The **source assets** (zip or directory)\n* One or more **overlay directories** (in order)\n* An **output** target (zip or directory)\n* An optional **properties** file for value substitution\n\n---\n\n## 🚀 Usage\n\nBasic example:\n\n```yaml\njobs:\n  apply-overlay:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v4\n\n      - name: Apply DataStage overlays with MCIX\n        id: mcix-overlay-apply\n        uses: DataMigrators/mcix/overlay/apply@v1\n        with:\n          assets: ./exports/base-assets.zip\n          output: ./exports/base-assets-with-overlays.zip\n          # You can provide one or more overlay directories:\n          overlay: |\n            ./overlays/common\n            ./overlays/env/dev\n          # Optional properties file:\n          properties: ./overlays/overlay.properties\n```\n\nIn this example:\n\n* `base-assets.zip` is your original DataStage export.\n* `./overlays/common` is applied first.\n* `./overlays/env/dev` is applied second.\n* The result is written to `base-assets-with-overlays.zip`.\n\n---\n\n## 🔧 Inputs\n\n| Name         | Required | Description                                                                                                     |\n| ------------ | -------- | --------------------------------------------------------------------------------------------------------------- |\n| `assets`     | ✅        | Path to the DataStage export zip **or** directory containing the base assets to modify.                         |\n| `output`     | ✅        | Path to a zip file **or** directory where the updated assets will be written.                                   |\n| `overlay`    | ✅        | One or more overlay directories to apply, **in order**. Provide as a space-separated or newline-separated list. |\n| `properties` | ❌        | Optional path to a properties file with replacement values used while applying overlays.                        |\n\n### Multiple overlays\n\nYou can pass multiple overlays as either:\n\n```yaml\nwith:\n  overlay: ./overlays/common ./overlays/env/dev\n```\n\nor multi-line (easier to read):\n\n```yaml\nwith:\n  overlay: |\n    ./overlays/common\n    ./overlays/env/dev\n```\n\nYour entrypoint script can simply split `PARAM_OVERLAY` on whitespace or newlines and pass each as `-overlay \u003cdir\u003e`.\n\n---\n\n## 📤 Outputs\n\nMatch this with your `action.yml` and `entrypoint.sh`:\n\n| Name          | Description                                     |\n| ------------- | ----------------------------------------------- |\n| `return-code` | Exit code from the `mcix overlay apply` command |\n\nExample:\n\n```yaml\n      - name: Check overlay apply result\n        run: echo \"Overlay apply exit code: ${{ steps.mcix-overlay-apply.outputs.return-code }}\"\n```\n\nYou can also use the `output` path as input to later steps in the workflow (e.g., import or test those updated assets).\n\n---\n\n## 🧪 Example – Overlay then Import\n\n```yaml\njobs:\n  overlay-and-import:\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions/checkout@v4\n\n      - name: Apply overlays to base assets\n        id: overlay\n        uses: DataMigrators/mcix/overlay/apply@v1\n        with:\n          assets: ./exports/base-assets.zip\n          output: ./exports/overlayed-assets.zip\n          overlay: |\n            ./overlays/common\n            ./overlays/env/test\n          properties: ./overlays/test.properties\n\n      - name: Import overlayed assets into DataStage\n        id: import\n        uses: DataMigrators/mcix/datastage/import@v1\n        with:\n          api-key: ${{ secrets.MCIX_API_KEY }}\n          url: https://your-mcix-server/api\n          user: dm-automation\n          assets: ./exports/overlayed-assets.zip\n          project: GitHub_CP4D_DevOps\n```\n\n---\n\n## 📚 More information\n\nSee  https://nextgen.mettleci.io/mettleci-cli/overlay-namespace/#overlay-apply\n\n\u003c!-- BEGIN MCIX-ACTION-DOCS --\u003e\n# MCIX Overlay Apply\n\n\u003e [!CAUTION]\n\u003e This action is provided as a **technology preview** which may change, break, or disappear at any point and without warning.\n\nApply overlay directories to exported IBM Software Hub (Cloud Pak) DataStage assets using the MettleCI MCIX CLI\n\n\u003e Namespace: `overlay`\u003cbr\u003e\n\u003e Action: `apply`\u003cbr\u003e\n\u003e Usage: `${{ github.repository }}/overlay/apply@v1`\n\n... where `v1` is the version of the action you wish to use.\n\n---\n\n## 🚀 Usage\n\nMinimal example:\n\n```yaml\njobs:\n  overlay-apply:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v6\n\n      - name: Run MCIX Overlay Apply\n        id: overlay-apply\n        uses: ${{ github.repository }}/overlay/apply@v1\n        with:\n          assets: \u003crequired\u003e\n          output: \u003crequired\u003e\n          overlays: \u003crequired\u003e\n          # properties: \u003coptional\u003e\n          # additional-args: \u003coptional\u003e\n```\n\n---\n\n## 🔧 Inputs\n\n| Name | Required | Default | Description |\n| --- | --- | --- | --- |\n| `assets` | ✅ |  | Path to DataStage export zip file or directory. |\n| `output` | ✅ |  | Zip file or directory to write updated assets. |\n| `overlays` | ✅ |  | One or more overlay directories. Overlays are applied in the order specified.\nProvide as comma- or newline-separated list.\nExample:\n  overlays: overlays/base, overlays/customer\n  or\n  overlays: \\|\n    overlays/base\n    overlays/customer |\n| `properties` | ❌ |  | Optional properties file with replacement values. |\n| `additional-args` | ❌ |  | Additional raw arguments to append to the mcix command |\n\n---\n\n## 📤 Outputs\n\n| Name | Description |\n| --- | --- |\n| `return-code` | Exit code returned by the mcix overlay apply command. |\n\n---\n\n## 🧱 Implementation details\n\n- `runs.using`: `docker`\n- `runs.image`: `Dockerfile`\n\n---\n\n## 🧩 Notes\n\n- The sections above are auto-generated from `action.yml`.\n- To edit this documentation, update `action.yml` (name/description/inputs/outputs).\n\u003c!-- END MCIX-ACTION-DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmettleci%2Fmcix-overlay-apply","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmettleci%2Fmcix-overlay-apply","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmettleci%2Fmcix-overlay-apply/lists"}