Microsoft Fabric Updates Blog

Using Microsoft Fabric Git integration for User Data Functions

Microsoft Fabric’s platform provides built-in GIT integration and deployment pipelines to support modern DevOps for all your items within a workspace. GIT integration in Fabric streamlines version control, collaboration, and tracking changes. Deployment pipelines automate and standardize releases while ensuring compliance. Together, they make managing user data and assets in Microsoft Fabric more efficient. This blog post outlines how to set up GIT integration for a workspace with user data functions.

Prerequisites

Before you begin, make sure you have:

  • An active Microsoft Fabric workspace with relevant permissions.
  • A GIT repository (e.g., Azure DevOps, GitHub) accessible to your team.
  • GIT CLI or VS Code IDE installed on your local machine.
  • Basic familiarity with Fabric workspace objects and user data functions.

Step 1: Preparing Your Fabric Workspace

Start by identifying the workspace in Microsoft Fabric that contains your user data functions. If you’re starting from scratch, create a new workspace and add your data functions, notebooks, and datasets.

Step 2: Enabling GIT Integration

Microsoft Fabric supports native GIT integration. Follow these steps to link your workspace to a GIT repository:

Link Workspace to GIT Repository

  • Open your Fabric workspace.
  • Go to Workspace settings and navigate to the Source Control section.
  • Select Enable GIT Integration.
  • Choose your GIT provider (e.g., Azure DevOps, GitHub).
  • Authenticate and authorize Fabric to access your repository.
  • Select the repository and branch you want to connect.
  • Enter a folder for your workspace in you use the same repository for multiple workspaces; this is optional.

Configure Branching Strategy

Establish a branching strategy that fits your team’s workflow; common patterns include:

  • Main/Develop branches: Main for production, develop for ongoing development.
  • Feature branches: For individual features or bug fixes.
  • Release branches: For staging release candidates.

Define policies for pull requests, code reviews, and merges to ensure quality and collaboration.

Step 3: Managing User Data Functions in GIT

With GIT integration, each data function is represented in function_app.py file.

  1. Clone the Repository: If you haven’t already, open VS Code and use the built-in terminal or the Source Control panel to clone your Fabric-linked repository.
  2. Open the cloned folder in VS Code: Select the function_app.py in for the user data function item you want to update.

3. Add your new functions: In function_app.py file, the transform_data function has been added.

4. Update user data function configuration: Open definition.json file and update the ‘functions’ and ‘libraries’ properties to include any newly added libraries the function needs for example numpy for transform_data function.

Add the new function to ‘functions’ property in definition.json.

"functions": [
    {
      "name": "hello_fabric",
      "description": "",
      "isPublicEndpointEnabled": true
    },
    {
      "name": "manipulate_data",
      "description": "",
      "isPublicEndpointEnabled": true
    },
    {
      "name": "mask_credit_card",
      "description": "",
      "isPublicEndpointEnabled": true
    },
    {
      "name": "transform_data",
      "description": "",
      "isPublicEndpointEnabled": true
    }    
  ],


Update libraries with numpy, this function uses it. Then, in the libraries section add private or public libraries within definition.json.

"libraries": {
    "public": [
      {
        "name": "fabric-user-data-functions",
        "type": "PYPI",
        "version": "1.0.0"
      },
      {
        "name": "pandas",
        "type": "PYPI",
        "version": "2.3.0"
      },
      {
        "name": "numpy",
        "type": "PYPI",
        "version": "2.3.1"
      }
    ],
    "private": []

Manage private libraries

For private libraries, follow the steps below

  • Create a privateLibraries folder within functions folder , in this case function1.UserDataFunction folder.
  • Save the <package>.whl file in this folder.
  • Update definition.json file and update libraries property to include the details. Example:
 "private": [
      {
        "name": "jinja2-3.1.6-py3-none-any.whl",
        "type": "WHEEL"
      }
    ]

5. Commit and sync changes: Use VS Code to commit and sync your changes using Source control.

Open the Fabric portal, you will see a message that this function needs an update. Select source control and update the function. After the changes are synced, open the function in portal and select Publish. This is needed to deploy these changes to make transform_data an invocable function.

Now your newly added function is available to integrate with data pipelines, Power BI and more.

Conclusion

By integrating GIT in Microsoft Fabric, developers can achieve robust version control, traceable collaboration, and streamlined release management for user data functions and beyond. As you scale your projects, these practices will minimize risk, improve code quality, and accelerate delivery—empowering your team to focus on innovation and business value.

If you want to learn more about how to automate your CI/CD process in Fabric, you can use one of the following resources: 

Related blog posts

Using Microsoft Fabric Git integration for User Data Functions

February 3, 2026 by Bogdan Crivat

As executives plan the next phase of their data and AI transformation, the bar for analytics infrastructure continues to rise. Enterprises are expected to support traditional business intelligence, increasingly complex analytics, and a new generation of AI-driven workloads—often on the same data, at the same time, and with far greater expectations for speed and cost … Continue reading “A turning point for enterprise data warehousing “

February 2, 2026 by Arindam Chatterjee

Coauthored by QiXiao Wang Building event-driven, real-time applications using Fabric Eventstreams and Spark Notebooks just got a whole lot easier. With the Preview of Spark Notebooks and Real-Time Intelligence integration — a new capability that brings together the open-source community supported richness of Spark Structured Streaming with the real-time stream processing power of Fabric Eventstreams … Continue reading “Bringing together Fabric Real-time Intelligence, Notebook and Spark Structured Streaming (Preview)”