使用 API 和 Azure DevOps 自动化集成 Git
借助 Microsoft Fabric Git 集成工具,团队可以使用源控件进行协作,从而为其 Fabric 内容构建有效且可重复使用的发布过程。
借助 Microsoft Fabric REST API,可以自动化 Fabric 过程和流程,从而以更少的错误更快完成任务。 因此获得的效率可以节省成本并提高生产力。
本文介绍了如何使用 Git 集成 REST API 在 Microsoft Fabric 中自动化集成 Git。
Git 集成 API 函数
Git 集成 REST API 有助你实现内容的持续集成和持续交付 (CI/CD)。 下面是可以使用 API 完成的几个示例:
获取指定工作区的连接详细信息。
查看哪些项具有传入的更改,以及哪些项具有尚未通过 Git 状态 API 提交到 Git 的更改。
将工作区中所做的更改提交到已连接的远程分支。
使用推送到已连接分支的提交更新工作区。
先决条件
若要使用 Fabric Git API,需要:
具有 Fabric 服务的 Microsoft Entra 令牌。 该令牌将在 API 调用的授权标头中使用。 有关如何获取令牌的信息,请参阅 Fabric API 快速入门。
可以在不使用 PowerShell 的情况下使用 REST API,不过本文中的脚本使用了 PowerShell。 若要运行脚本,需要执行以下步骤:
- 安装 PowerShell。
- 安装 Azure PowerShell Az 模块。
示例
可通过下面的 PowerShell 脚本来了解如何执行多个常见的自动化过程。 若要在 PowerShell 示例中查看或复制文本,请使用本部分中的链接。 还可以查看 Fabric Git 集成示例 GitHub 存储库中的所有示例。
全部提交
本节分步说明了如何以编程方式将工作区中的所有更改提交到 Git。
有关完整脚本,请参阅将所有更改提交到 Git。
登录并获取访问令牌 - 以“用户”(而不是服务主体)身份登录到 Fabric。 请使用 Connect-AzAccount 命令进行登录。 要获取访问令牌,请使用 Get-AzAccessToken 命令。
代码应如下所示:
$global:resourceUrl = "https://api.fabric.microsoft.com" $global:fabricHeaders = @{} function SetFabricHeaders() { #Login to Azure Connect-AzAccount | Out-Null # Get authentication $fabricToken = (Get-AzAccessToken -ResourceUrl $global:resourceUrl).Token $global:fabricHeaders = @{ 'Content-Type' = "application/json" 'Authorization' = "Bearer {0}" -f $fabricToken } }
描述请求正文 - 在脚本的这一部分中,需要指定要提交的项(如报告和笔记本)。
$commitToGitBody = @{ mode = "All" comment = $commitMessage } | ConvertTo-Json
调用
CommitAll
REST API:$commitToGitUrl = "{0}/workspaces/{1}/git/commitToGit" -f $global:baseUrl, $workspace.Id $commitToGitResponse = Invoke-WebRequest -Headers $global:fabricHeaders -Uri $commitToGitUrl -Method POST -Body $commitToGitBody
获取用于轮询操作状态的长期 OperationId。
$operationId = $commitToGitResponse.Headers['x-ms-operation-id'] $retryAfter = $commitToGitResponse.Headers['Retry-After']
选择提交
在本节中,我们将介绍仅将工作区的特定更改提交到 Git 所涉及的步骤。
有关完整脚本,请参阅将选定更改提交到 Git。
从 Git 更新
在本节中,我们将介绍使用 Git 中的更改更新工作区所涉及的步骤。 在此脚本中,我们将使用 Git 中的更改来更新工作区项,但会保留 Git 存储库不变。
有关完整脚本,请参阅从 Git 更新工作区。
连接和同步
本节介绍将工作区与 Git 连接和同步所涉及的步骤。 此脚本对于两个方向都有效。 我们可以将工作区中的更改提交到 Git,也可以根据 Git 中的更改来更新工作区项。
有关完整脚本,请参阅连接到 Git 并进行同步。
- 登录到 Git 并获取身份验证。
- 调用连接 API,以将工作区连接到 Git 存储库和分支。
- 调用初始化连接 API,以初始化工作区与 Git 存储库/分支之间的连接。
- 根据初始化连接 API 的响应,调用提交到 Git 或从 Git 更新 API 以完成同步,或者在不需要任何操作的情况下不执行任何操作。
监视长期操作的进度
有关完整脚本,请参阅轮询长期操作。
注意事项和限制
相关内容
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈