Forum Discussion

ilav's avatar
ilav
Frequent Visitor
8 months ago
Solved

NoArtifactsToDeploy Error with Deployment Pipelines

Hello - I am trying to use Azure DevOps to trigger a deployment between stages in an existing Deployment Pipeline. However, when calling the API "https://api.powerbi.com/v1.0/myorg/pipelines/$pipelineId/deploy", I always get "Alm_InvalidRequest_NoArtifactsToDeploy" error, although there are modified reports in the source. Verified there are objects at source to deploy using other available API's before the actual deploy happens and everything looks good. Manual trigger of the pipeline deployment between stages also work fine. Not sure what might be preventing it from being done from the API call. Any suggestion is appreciated!

 

Note: Tried few workarounds like emptying the target workspace, making changes to the report in power bi desktop and republish to source workspace. But no luck.

  • Hii ilav 

     

    This error occurs because the Deployment Pipeline API only deploys artifacts that are explicitly marked as changed at the pipeline level. Republishing a report without a schema or metadata change often does not create a deployable delta, even though the report looks modified. Manual deployment works because the UI refreshes pipeline state automatically, but the API is stricter.

    Force a real deployable change (schema/visual/parameter), refresh pipeline changes via the UI, verify stageOrder values, or deploy specific artifacts. For full automation, importing PBIX via REST API is usually more reliable than pipeline deploy.

  • Hi ilav,

    Thank you rohit1991, for your insights.

    This error occurs because deployment pipeline APIs deploy only pipeline-detected or explicitly selected artifacts. Republishing a report doesn’t always create a deployable delta, so the pipeline may still consider stages in sync. Verifying stage order and explicitly deploying artifacts resolves the issue. This behavior aligns with Microsoft’s documented deployment pipeline API model.

    Troubleshoot the Fabric lifecycle management tools. - Microsoft Fabric | Microsoft Learn

    Automate deployment pipelines with APIs for Power BI items - Microsoft Fabric | Microsoft Learn

     

    Thank you.

  • ilav's avatar
    ilav
    8 months ago

    Explicitely specifying the report/dataset id's worked. Thanks!

  • ilav's avatar
    ilav
    8 months ago

    Explicitely specifying the report/dataset id's worked. Unable to accept multiple solutions, sorry!

4 Replies

  • Hii ilav 

     

    This error occurs because the Deployment Pipeline API only deploys artifacts that are explicitly marked as changed at the pipeline level. Republishing a report without a schema or metadata change often does not create a deployable delta, even though the report looks modified. Manual deployment works because the UI refreshes pipeline state automatically, but the API is stricter.

    Force a real deployable change (schema/visual/parameter), refresh pipeline changes via the UI, verify stageOrder values, or deploy specific artifacts. For full automation, importing PBIX via REST API is usually more reliable than pipeline deploy.

    • ilav's avatar
      ilav
      Frequent Visitor

      Explicitely specifying the report/dataset id's worked. Unable to accept multiple solutions, sorry!

  • Hi ilav,

    Thank you rohit1991, for your insights.

    This error occurs because deployment pipeline APIs deploy only pipeline-detected or explicitly selected artifacts. Republishing a report doesn’t always create a deployable delta, so the pipeline may still consider stages in sync. Verifying stage order and explicitly deploying artifacts resolves the issue. This behavior aligns with Microsoft’s documented deployment pipeline API model.

    Troubleshoot the Fabric lifecycle management tools. - Microsoft Fabric | Microsoft Learn

    Automate deployment pipelines with APIs for Power BI items - Microsoft Fabric | Microsoft Learn

     

    Thank you.

    • ilav's avatar
      ilav
      Frequent Visitor

      Explicitely specifying the report/dataset id's worked. Thanks!