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

December 16, 2025 by Raki Rahman

Building a Petabyte-scale Data Platform with Fabric and SQL Telemetry and Intelligence Engineering team.

December 16, 2025 by Alex Powers

As 2025 ends, we’re taking a moment to reflect on Microsoft Fabric’s second year in the market and the collective progress made alongside our community, customers, and partners. What began as a unified vision for data and AI has grown into a platform adopted by more than 28,000 organizations worldwide, anchored by OneLake and shaped … Continue reading “Microsoft Fabric 2025 holiday recap: Unified Data and AI Innovation”