An Azure service for ingesting, preparing, and transforming data at scale.
Hi @Soniran, Dare ,
Thank you for the detailed logs and pipeline configuration — that made it much easier to pinpoint what's happening.
The export step is failing because the folder you pass to the utility does not contain the Data Factory source resources, so it finds nothing to publish:
-
Publishable resource count: 0 -
No resource found in specified input path: /home/vsts/work/1/s/
In other words, the export command is pointed at a location that does not have the ADF resource JSONs (factory/, pipeline/, dataset/, linkedService/, etc.).
There are two issues working together here:
- You are running CI against the
adf_publishbranch instead of the collaboration branch.
The automated publish utility is designed to run against your collaboration branch, where the raw resource JSONs live. The adf_publish branch holds the already-generated ARM template, not the source model the export command expects. Running the utility against adf_publish (your trigger: - adf_publish and publishBranch: factory/adf_publish) is what produces the NameMismatch warning and Publishable resource count: 0.
- The input folder passed to
exportdoes not contain the resources.
Your resources (factory/, pipeline/, dataset/, etc.) sit at the repo root, but the export task passes $(Build.Repository.LocalPath)/build as the root folder. Since /build only holds package.json, the utility sees an empty model and exports zero resources.
Recommended fixes
Point the CI pipeline trigger and checkout at the collaboration branch (the one holding the source resources), not adf_publish.
Pass the correct resource folder as the export root. The command signature is: npm run build export <rootFolder> <factoryId> <outputFolder> The <rootFolder> must be the folder that actually contains factory/, pipeline/, dataset/, etc. — in your case the repo root, not /build. Keep package.json and npm install in /build, but set the export root to where the resources are.
Upgrade Node to 20.x or 22.x. Node 18 is unsupported by the utility and can cause package-incompatibility failures. Update your UseNode@1 task accordingly.
After the above, add an ls -r step on the exact folder being passed to export to confirm the resource JSONs are present before the export runs.
Once the pipeline is pointed at the collaboration branch with the correct resource root and Node 20/22, the export will detect the resources and generate the ARM template successfully.
References
- Automated publishing for continuous integration and delivery (CI/CD): https://learn.microsoft.com/en-us/azure/data-factory/continuous-integration-delivery-improvements
- @microsoft/azure-data-factory-utilities (npm – export/validate command reference): https://www.npmjs.com/package/@microsoft/azure-data-factory-utilities
- Troubleshoot CI-CD, Azure DevOps, and GitHub issues in Azure Data Factory and Synapse Analytics: https://learn.microsoft.com/en-us/azure/data-factory/ci-cd-github-troubleshoot-guide
Hope this helps! If the issue still isn't resolved, could you please share the requested details in a private message so I can take a closer look? Please feel free to reach out with any follow-up questions — I'd be happy to help.