|
1 | 1 | # Reusable workflow: Deploy supported Fabric items via the Bulk Import Item Definitions API (Preview). |
2 | 2 | # |
3 | | -# Alternative deployment path to reusable-deploy-supported.yml. Uses the Fabric |
| 3 | +# Alternative deployment path to reusable-deploy-fabric-cicd.yml. Uses the Fabric |
4 | 4 | # REST API's bulk import endpoint instead of the fabric-cicd Python library. |
5 | 5 | # Selected at orchestrator level via the DEPLOY_METHOD repository variable. |
6 | 6 | # |
|
14 | 14 | # - Every item type in the request payload must support service principals |
15 | 15 | # (the bulk API requires SPN support for ALL items in the request, not just some) |
16 | 16 | # |
17 | | -# Known gaps vs. reusable-deploy-supported.yml (fabric-cicd): |
18 | | -# - No parameter.yml find_replace / key_value_replace substitution |
19 | | -# - No orphan cleanup (Bulk Import API only supports Create/Update, not Delete) |
20 | | -# - No item_type_in_scope filter (deploys everything in repository_directory) |
| 17 | +# Known gaps vs. reusable-deploy-fabric-cicd.yml (fabric-cicd): |
| 18 | +# The Bulk Import API itself has no parameterization, no value-set |
| 19 | +# activation, and no delete support. This repo bridges the first two in |
| 20 | +# scripts/deploy_bulk.py + data/fabric/bulk-parameter.yml. The remaining |
| 21 | +# gaps are intentionally not implemented: |
| 22 | +# - No full parameter.yml feature coverage. bulk-parameter.yml supports |
| 23 | +# find_replace + $items + $workspace + $environment placeholders only. |
| 24 | +# fabric-cicd's key_value_replace, spark_pool, semantic_model_binding |
| 25 | +# are not implemented here. |
| 26 | +# - No orphan cleanup. The Bulk Import API only supports Create/Update, |
| 27 | +# not Delete; deletes would need a separate per-item DELETE call loop. |
| 28 | +# - No item_type_in_scope filter. Deploys everything under |
| 29 | +# repository_directory. |
21 | 30 | # |
22 | 31 | # API references: |
23 | 32 | # - Bulk import: https://learn.microsoft.com/en-us/rest/api/fabric/core/items/bulk-import-item-definitions(beta) |
|
60 | 69 | python-version: "3.12" |
61 | 70 |
|
62 | 71 | - name: Install dependencies |
63 | | - run: pip install requests |
| 72 | + run: pip install requests PyYAML |
64 | 73 |
|
65 | 74 | - name: Bulk import item definitions |
66 | 75 | env: |
|
69 | 78 | AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} |
70 | 79 | FABRIC_WORKSPACE_ID: ${{ secrets.FABRIC_WORKSPACE_ID }} |
71 | 80 | REPOSITORY_DIRECTORY: ${{ inputs.repository_directory }} |
| 81 | + ENVIRONMENT: ${{ inputs.environment }} |
72 | 82 | run: python scripts/deploy_bulk.py |
0 commit comments