> For the complete documentation index, see [llms.txt](https://docs.fabricplan.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fabricplan.com/resources/ci-cd-for-fabric-plan.md).

# CI/CD for Fabric Plan

Use CI/CD (Continuous Integration and Continuous Deployment) to streamline the development and deploying Fabric Plan content across environments. Integrate planning artifacts into source control, validate changes, and deploy updates consistently from development to production while reducing manual effort and deployment errors.

Fabric Plan supports two key CI/CD capabilities: Git integration and deployment pipelines. These tools help manage Plan items across development, test, and production environments by allowing individual plan items to be deployed, or multiple items to be deployed at once.

### Configure Git integration

Fabric Plan integrates with source control at the workspace level. You can commit all planning items in a workspace to a Git branch and version multiple planning items through a single process. The workspace structure, including folders, is preserved in the Git repository. Fabric supports source control through GitHub and Azure DevOps. For more information, see [Fabric Git Integration](https://learn.microsoft.com/en-us/fabric/cicd/git-integration/git-get-started?tabs=azure-devops%2CAzure%2Ccommit-to-git).

1. Open the Fabric workspace to integrate with a Git repository.
2. Go to **Workspace Settings** and select **Git integration**.
3. Select your source control provider: **Azure DevOps** or **GitHub**.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FrRoy081Ag4ea2w5PAalx%2Fimage.png?alt=media&amp;token=e2027d41-ab6b-4a6b-b376-f4d51d57cea2" alt=""><figcaption></figcaption></figure>

4. Enter the Azure DevOps or GitHub account and repository details.

{% tabs %}
{% tab title="Azure DevOps" %}
If your Git provider is Azure DevOps, select **Connect** to automatically sign in to the Azure Repos account registered to the Microsoft Entra user signed into Fabric.

To add another account, select **Add Account** and enter the following details:

* **Display name**: Enter a name to uniquely identify the account.
* **Azure DevOps URL:** Enter the Git repository URL.
* **Authentication method:** Select OAuth 2.0 or Service principal.
  {% endtab %}

{% tab title="GitHub" %}
If your Git provider is Github, select **Add Account** and enter the following details:

* **Display name**: Enter a name to uniquely identify the account.
* **Personal access token:** Enter the [fine-grained token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) or [classic token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic) you create in GitHub.
* **Repository URL:** Enter the Git repository URL.
  {% endtab %}
  {% endtabs %}

5. Select **Connect**.
6. In the **Connect Git repository and branch** section, select an existing branch or create a new branch.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FP4z33PreotWNDso2B9Hh%2Fimage.png?alt=media&amp;token=4fc76d05-9db0-4290-8013-706d2c15406c" alt=""><figcaption></figcaption></figure>

7. Select **Connect and Sync**.
8. Fabric displays the branch, sync status for each item, and the time of the last sync.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FAHIUmoGae0KMNuFvAepC%2Fimage.png?alt=media&amp;token=1fbee74d-1d2d-4e49-8729-15dbe91983fb" alt=""><figcaption></figcaption></figure>

### Commit changes to the Git repository

When you make changes to an existing plan, delete, or create a new plan, you must commit them to the Git repository linked to that workspace. The status of modified items changes to *Uncommitted*.

1. Select the **Source control** option.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FjpPprbhREegI0UPOtXZn%2Fimage.png?alt=media&amp;token=b688f3b3-576f-4c3c-a07b-9413e747b46c" alt=""><figcaption></figcaption></figure>

2. Select the **Changes** tab from the **Source control** side pane. This tab displays all the items you changed, with an icon indicating the status: **New** ![](https://learn.microsoft.com/en-us/fabric/data-factory/media/cicd-data-pipelines/new-icon.png) , **Modified** ![](https://learn.microsoft.com/en-us/fabric/data-factory/media/cicd-data-pipelines/modified-icon.png) , **Conflict** ![](https://learn.microsoft.com/en-us/fabric/data-factory/media/cicd-data-pipelines/conflict-icon.png) , or **Deleted** ![](https://learn.microsoft.com/en-us/fabric/data-factory/media/cicd-data-pipelines/deleted-icon.png) .
3. Select the items to commit to the Git repository and add an optional commit message. Select **Commit**.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FgzNKfWrBhPju0p6Z5wiG%2Fimage.png?alt=media&amp;token=1dc8e189-eb83-4d41-a94f-c4505755d61a" alt=""><figcaption></figcaption></figure>

4. After the selected items are committed to the Git repository, they are removed from the list. The item status changes to *Synced,* and the status bar displays the latest commit.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2Fl82wS1lhPZML4HvdpSnX%2Fimage.png?alt=media&amp;token=ee837218-10ad-416d-9f66-7cababb3bc04" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.fabricplan.com/resources/ci-cd-for-fabric-plan.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
