หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ใช้ ConnectToGit และ DisconnectFromGit API ในการรวมสภาพแวดล้อม Microsoft Dataverse ของคุณกับตัวควบคุมต้นฉบับ Git ด้วยวิธีการทางโปรแกรม ด้วยการใช้ API เหล่านี้ คุณสามารถเชื่อมต่อโซลูชันแต่ละรายการหรือสภาพแวดล้อมทั้งหมดไปยังที่เก็บ Git ที่ได้รับการสนับสนุน และจัดการการเชื่อมต่อเหล่านั้นผ่านรหัส
ข้อกําหนดเบื้องต้น
ก่อนที่จะใช้ API เหล่านี้ ตรวจสอบให้แน่ใจว่าคุณมี:
- การเข้าถึงสภาพแวดล้อม Microsoft Dataverse
- สิทธิ์ของผู้ดูแลระบบ
- การเข้าถึงแบบอ่านและเขียนไปยังที่เก็บ Git
ConnectToGit API
สร้างการเชื่อมต่อระหว่างโซลูชัน Dataverse หรือสภาพแวดล้อมและที่เก็บ Git โดยการใช้การเชื่อมต่อนี้ คุณสามารถจัดการตัวควบคุมแหล่งข้อมูลสําหรับคอมโพเนนต์ Dataverse ของคุณได้
พารามิเตอร์
ConnectToGit API ยอมรับพารามิเตอร์ต่อไปนี้:
| พารามิเตอร์ | ชนิด | ต้องระบุ | รายละเอียด |
|---|---|---|---|
GitFolder |
สตริง | ใช่ | ชื่อของโฟลเดอร์ที่คุณต้องการผูกโซลูชันหรือสภาพแวดล้อมของคุณ |
Branch |
สตริง | ใช่ | ชื่อของสาขาที่คุณต้องการเชื่อมต่อ |
ConnectionType |
เลขจำนวนเต็ม | ไม่ | ระบุสิ่งที่จะเชื่อมต่อ ดูพารามิเตอร์ ConnectionType |
GitProvider |
เลขจำนวนเต็ม | ไม่ | ผู้ให้บริการ Git ดูพารามิเตอร์ GitProvider |
Organization |
สตริง | ไม่ | ชื่อขององค์กรที่คุณต้องการเชื่อมต่อ |
Project |
สตริง | ไม่ | ชื่อของโครงการที่คุณต้องการเชื่อมต่อ |
Repository |
สตริง | ไม่ | ชื่อของที่เก็บที่คุณต้องการเชื่อมต่อ |
RootFolder |
สตริง | ไม่ | ชื่อของโฟลเดอร์รากที่โซลูชันทั้งหมดของคุณอยู่ในขอบเขตโซลูชัน |
SolutionUniqueName |
สตริง | ไม่ | ชื่อเฉพาะของโซลูชันที่คุณต้องการเชื่อมต่อกับ git |
UpstreamBranch |
สตริง | ไม่ | ชื่อของสาขาอัพสตรีมที่คุณต้องการเชื่อมต่อ ค่าเริ่มต้นเป็นสาขาเริ่มต้นของที่เก็บข้อมูล |
GitHubConnectionId |
สตริง | ไม่ | รหัสการเชื่อมต่อสำหรับการเชื่อมต่อ GitHub ของ Power Platform จําเป็นเมื่อGitProviderเป็น1เว้นแต่ว่าคุณระบุGitHubPAT ไม่สามารถใช้ได้เมื่อเปิดใช้งานการสนับสนุนเครือข่ายเสมือน (VNET) สําหรับสภาพแวดล้อม Dataverse |
GitHubPAT |
สตริง | ไม่ | โทเค็นการเข้าถึงส่วนบุคคลของ GitHub ที่มีสิทธิ์เข้าถึงที่เก็บเป้าหมาย จําเป็นเมื่อGitProviderเป็น1เว้นแต่ว่าคุณระบุGitHubConnectionId จําเป็นต้องมีเมื่อมีการเปิดใช้งานการสนับสนุนเครือข่ายเสมือน (VNET) สําหรับสภาพแวดล้อม Dataverse |
GitHubAppConfigId |
สตริง | ไม่ | อ้างอิงไปยังระเบียนการกําหนดค่าแอป GitHub จําเป็นต้องมีเมื่อ GitProvider เป็น1 ใช้รูปแบบ githubappconfigs(<recordId>) |
พารามิเตอร์ ConnectionType
พารามิเตอร์ ConnectionType จะควบคุมว่าจะเชื่อมต่อกับสภาพแวดล้อม Dataverse ทั้งหมดหรือโซลูชันเฉพาะ
| มูลค่า | ป้ายชื่อ | รายละเอียด |
|---|---|---|
| 0 | โซลูชัน | เชื่อมต่อโซลูชัน Dataverse เฉพาะกับ Git |
| 1 | สิ่งแวดล้อม | เชื่อมต่อสภาพแวดล้อม Dataverse ทั้งหมดกับ Git |
พารามิเตอร์ GitProvider
GitProviderใช้พารามิเตอร์เพื่อระบุประเภทของผู้ให้บริการ Git ที่คุณใช้อยู่ ไม่ว่าจะเป็น Azure DevOps หรือ GitHub
| มูลค่า | ป้ายชื่อ | รายละเอียด |
|---|---|---|
| 0 | Azure DevOps | ใช้สําหรับที่เก็บที่โฮสต์บน Azure DevOps |
| 1 | GitHub | ใช้สําหรับที่เก็บที่โฮสต์บน GitHub |
DisconnectFromGit API
ลบการเชื่อมต่อ Git ออกจากโซลูชัน Dataverse หรือสภาพแวดล้อม และปิดใช้งานการรวมตัวควบคุมแหล่งข้อมูล
พารามิเตอร์
DisconnectFromGit API มีพารามิเตอร์เดียวเท่านั้น
| พารามิเตอร์ | ชนิด | ต้องระบุ | รายละเอียด |
|---|---|---|---|
SolutionUniqueName |
สตริง | ไม่ | ชื่อเฉพาะของโซลูชันที่คุณต้องการยกเลิกการเชื่อมต่อจาก Git ไม่ต้องทำการยกเลิกการเชื่อมต่อโซลูชันหรือสภาพแวดล้อมทั้งหมด |
ข้อมูลเพิ่มเติม
ต่อไปนี้เป็นตัวเลือกค่าพารามิเตอร์สองสามตัวเพื่อระบุเมื่อเรียกใช้DisconnectFromGit
-
ยกเลิกการเชื่อมต่อโซลูชันเดียว: ให้
SolutionUniqueNameเพื่อยกเลิกการเชื่อมต่อโซลูชันเฉพาะ - ยกเลิกการเชื่อมต่อโซลูชันทั้งหมด: ไม่มีพารามิเตอร์เพื่อยกเลิกการเชื่อมต่อระดับโซลูชันทั้งหมด
- สภาพแวดล้อมที่ยกเลิกการเชื่อมต่อ: ไม่มีพารามิเตอร์เพื่อยกเลิกการเชื่อมต่อระดับสภาพแวดล้อม
ตัวอย่าง
ตัวอย่างต่อไปนี้อธิบายสถานการณ์สําหรับการใช้ ConnectToGit และ DisconnectFromGit API:
- เชื่อมต่อสภาพแวดล้อม Dataverse ทั้งหมดของคุณกับที่เก็บ Azure DevOps
- เชื่อมต่อกับที่เก็บ GitHub
- เชื่อมต่อกับที่เก็บ GitHub โดยใช้ PowerShell
- ยกเลิกการเชื่อมต่อสภาพแวดล้อม Dataverse ทั้งหมดของคุณจากตัวควบคุมแหล่งข้อมูล Git
- เชื่อมต่อโซลูชันแรกกับที่เก็บ Git
- เชื่อมต่อโซลูชันเพิ่มเติมไปยังที่เก็บ Git เดียวกันหลังจากที่คุณเชื่อมต่อโซลูชันเริ่มต้น
- ยกเลิกการเชื่อมต่อโซลูชันเฉพาะจากตัวควบคุมแหล่งข้อมูล Git ในขณะที่ยังคงเชื่อมต่อโซลูชันอื่น ๆ อยู่
เชื่อมต่อสภาพแวดล้อม Dataverse ทั้งหมดของคุณกับที่เก็บ Azure DevOps
การเชื่อมต่อนี้จะเปิดใช้งานตัวควบคุมแหล่งข้อมูลสําหรับการกําหนดค่าและคอมโพเนนต์ระดับสภาพแวดล้อมทั้งหมด
อย่าใช้พารามิเตอร์เหล่านี้กับการเชื่อมต่อนี้:
RootFolderSolutionUniqueNameUpstreamBranch
ตัวอย่างนี้แสดงวิธีการใช้ การดําเนินการ ConnectToGit เพื่อเชื่อมต่อสภาพแวดล้อม Dataverse ทั้งหมดของคุณไปยังที่เก็บ Azure DevOps
คำขอ
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"ConnectionType": 1,
"GitProvider": 0,
"Organization": "yourOrganizationName",
"Project": "yourProjectName",
"Repository": "yourRepositoryName"
}
การตอบสนอง
HTTP/1.1 204 No Content
OData-Version: 4.0
เชื่อมต่อกับที่เก็บ GitHub
ก่อนที่คุณจะใช้ API เพื่อเชื่อมต่อกับ GitHub ทําตามขั้นตอนการตั้งค่าเพื่อสร้างแอป GitHub ให้ติดตั้งในที่เก็บเป้าหมาย นําเข้าคีย์ส่วนตัวลงใน Azure Key Vault และสร้างการเชื่อมต่อ Power Platform GitHub สําหรับข้อมูลเพิ่มเติม ให้ดู เชื่อมต่อกับ GitHub
สร้างเรกคอร์ดการกําหนดค่าแอป GitHub โดยใช้ API เว็บ
ใช้ Dataverse OData Web API เพื่อสร้าง githubappconfig ระเบียน ส่งคําขอ POST ด้วย ID ไคลเอ็นต์ของแอป GitHub Key Vault URI และชื่อคีย์
คุณสามารถใช้ไคลเอ็นต์ HTTP เช่น Insomnia, Visual Studio Code REST Client หรือ curl เพื่อเรียกใช้เหล่านี้ คุณต้องมีโทเค็นแบบแบเรอร์สําหรับการรับรองความถูกต้อง สําหรับข้อมูลเพิ่มเติม ให้ดู ใช้ Microsoft Dataverse Web API
POST {{DataverseOrgUrl}}/api/data/v9.2/githubappconfigs
Authorization: Bearer {{token}}
Content-Type: application/json
{
"githubappid": "Iv23liBWoH9sf7xDrRe6",
"keyvaulturi": "{{KeyVaultUri}}",
"keyname": "demoGitHubKey"
}
สําคัญ
สังเกตรหัสเรกคอร์ดที่ส่งกลับในส่วนหัวของคําตอบ คุณต้องใช้ค่านี้เพื่อระบุข้อมูลประจําตัวที่มีการจัดการ กําหนดค่า RBAC และเรียกใช้ConnectToGit รหัสเรกคอร์ดใช้รูปแบบ เช่น13d565bb-4c22-f111-a546-7ced8d6e3e85
หลังจากสร้างบันทึกการกําหนดค่าแอป GitHub แล้ว ให้กําหนดบทบาทผู้ใช้ที่เข้ารหัสลับ Key Vault ให้กับข้อมูลประจําตัวที่มีการจัดการ Dataverse ตามที่อธิบายไว้ใน กําหนดค่า Key Vault การควบคุมการเข้าถึงตามบทบาท (RBAC)
เรียกใช้ ConnectToGit API
หลังจากที่คุณสร้างgithubappconfigบันทึกและกําหนดค่า Key Vault RBAC แล้ว ให้ใช้ Dataverse Web API เพื่อสร้างการเชื่อมต่อตัวควบคุมแหล่งข้อมูลโดยเรียกใช้ConnectToGitการดําเนินการ
POST {{DataverseOrgUrl}}/api/data/v9.2/ConnectToGit
Authorization: Bearer {{token}}
Content-Type: application/json
{
"GitProvider": 1,
"ConnectionType": 1,
"Organization": "YourGitHubOrg",
"Repository": "YourRepo",
"Project": "placeholder",
"Branch": "yourBranch",
"UpstreamBranch": "main",
"GitFolder": "YourFolder",
"GitHubConnectionId": "<connectionId>",
"GitHubAppConfigId": "githubappconfigs(<recordId>)"
}
สําคัญ
แบรนช์ต้องมีอยู่แล้วในที่เก็บข้อมูล สร้างใน GitHub ก่อนถ้าจําเป็น ค่า GitHubAppConfigId ต้องใช้รูปแบบgithubappconfigs(<recordId>)
ถ้าคุณได้รับการตอบสนองที่สําเร็จ สภาพแวดล้อมจะเชื่อมต่อกับ GitHub
เชื่อมต่อกับที่เก็บ GitHub โดยใช้ PowerShell
ตัวอย่าง PowerShell ต่อไปนี้สร้างบันทึกการกําหนดค่าแอป GitHub รอให้ข้อมูลประจําตัวที่มีการจัดการ Dataverse ปรากฏใน Microsoft Entra ID กําหนดบทบาท Key Vault ผู้ใช้ Crypto ให้กับข้อมูลประจําตัวที่มีการจัดการและเรียกใช้ConnectToGitการดําเนินการ ถ้าคุณมีเรกคอร์ดการกําหนดค่าแอป GitHub อยู่แล้ว ให้ระบุ GitHubAppConfigId เพื่อข้ามขั้นตอนการกําหนดค่าและ Key Vault การกําหนดบทบาท
ติดตั้งและนําเข้า Az.Accountsโมดูล , Az.KeyVaultและ Az.Resources PowerShell ก่อนที่คุณจะเรียกใช้ตัวอย่าง ลงชื่อเข้าใช้ด้วยConnect-AzAccountบัญชีที่มีสิทธิ์เข้าถึงสภาพแวดล้อม Dataverse และสิทธิ์ในการกําหนดบทบาท Key Vault
ถ้ามีการเปิดใช้งานการสนับสนุนเครือข่ายเสมือน (VNET) สําหรับสภาพแวดล้อม Dataverse ให้ระบุGitHubPAT การเชื่อมต่อ GitHub ไม่สามารถใช้กับการสนับสนุนเครือข่ายเสมือนได้
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[string]$DataverseOrgUrl,
[Parameter(Mandatory)]
[string]$GitHubOrg,
[Parameter(Mandatory)]
[string]$GitHubRepo,
[Parameter(Mandatory)]
[string]$Branch,
[Parameter(Mandatory)]
[string]$GitFolder,
[string]$GitHubAppClientId,
[string]$KeyVaultName,
[string]$KeyVaultKeyName,
[string]$GitHubAppConfigId,
[string]$GitHubConnectionId,
[string]$GitHubPAT,
[ValidateSet(0, 1)]
[int]$ConnectionType = 1,
[string]$UpstreamBranch,
[string]$RootFolder,
[string]$SolutionUniqueName
)
Set-StrictMode -Version 3.0
$ErrorActionPreference = "Stop"
if (($GitHubConnectionId -and $GitHubPAT) -or (-not $GitHubConnectionId -and -not $GitHubPAT)) {
throw "Specify either -GitHubConnectionId or -GitHubPAT, but not both."
}
if (-not $GitHubAppConfigId) {
foreach ($name in @('GitHubAppClientId', 'KeyVaultName', 'KeyVaultKeyName')) {
if ([string]::IsNullOrWhiteSpace((Get-Variable -Name $name -ValueOnly))) {
throw "Specify -$name when -GitHubAppConfigId is not provided."
}
}
}
$dataverseResource = $DataverseOrgUrl.TrimEnd('/')
$tokenResult = Get-AzAccessToken -ResourceUrl $dataverseResource -AsSecureString
$dataverseToken = [System.Net.NetworkCredential]::new('', $tokenResult.Token).Password
function Invoke-DataverseApi {
param(
[Parameter(Mandatory)]
[string]$Method,
[Parameter(Mandatory)]
[string]$Endpoint,
[object]$Body,
[switch]$ReturnHeaders
)
$headers = @{
Authorization = "Bearer $dataverseToken"
"OData-MaxVersion" = "4.0"
"OData-Version" = "4.0"
}
$request = @{
Method = $Method
Uri = "$dataverseResource/api/data/v9.2/$Endpoint"
Headers = $headers
ContentType = "application/json; charset=utf-8"
}
if ($Body) {
$request.Body = $Body | ConvertTo-Json -Depth 10
}
if ($ReturnHeaders) {
return (Invoke-WebRequest @request).Headers
}
Invoke-RestMethod @request
}
$appConfigRecordId = $GitHubAppConfigId
if (-not $appConfigRecordId) {
$keyVault = Get-AzKeyVault -VaultName $KeyVaultName
$keyVaultUri = 'https://' + $KeyVaultName + '.vault.azure.net/'
$appConfigBody = @{
githubappid = $GitHubAppClientId
keyvaulturi = $keyVaultUri
keyname = $KeyVaultKeyName
}
$responseHeaders = Invoke-DataverseApi `
-Method POST `
-Endpoint "githubappconfigs" `
-Body $appConfigBody `
-ReturnHeaders
$entityIdHeader = [string]$responseHeaders["OData-EntityId"]
if ($entityIdHeader -notmatch '\(([0-9a-f-]+)\)') {
throw "Could not read the GitHub App configuration record ID from the Dataverse response."
}
$appConfigRecordId = $Matches[1]
$managedIdentityName = "PPMI-githubappconfigmanagedidentity-$appConfigRecordId"
$servicePrincipal = $null
for ($attempt = 1; $attempt -le 60; $attempt++) {
$servicePrincipal = Get-AzADServicePrincipal -DisplayName $managedIdentityName -ErrorAction SilentlyContinue
if ($servicePrincipal) {
break
}
Start-Sleep -Seconds 1
}
if (-not $servicePrincipal) {
throw "The Dataverse managed identity was not found in Microsoft Entra ID. Check Dataverse System Jobs for GitHub App configuration errors."
}
$keyVaultScope = $keyVault.ResourceId
if (-not $keyVaultScope) {
$subscriptionId = (Get-AzContext).Subscription.Id
$keyVaultScope = "/subscriptions/$subscriptionId/resourceGroups/$($keyVault.ResourceGroupName)/providers/Microsoft.KeyVault/vaults/$KeyVaultName"
}
$keyVaultCryptoUserRoleId = "12338af0-0e69-4776-bea7-57ae8d297424"
$existingAssignment = Get-AzRoleAssignment `
-ObjectId $servicePrincipal.Id `
-RoleDefinitionId $keyVaultCryptoUserRoleId `
-Scope $keyVaultScope `
-ErrorAction SilentlyContinue
if (-not $existingAssignment) {
New-AzRoleAssignment `
-ObjectId $servicePrincipal.Id `
-RoleDefinitionId $keyVaultCryptoUserRoleId `
-Scope $keyVaultScope | Out-Null
}
}
$connectBody = @{
GitProvider = 1
ConnectionType = $ConnectionType
Organization = $GitHubOrg
Repository = $GitHubRepo
Project = "placeholder"
Branch = $Branch
GitFolder = $GitFolder
GitHubAppConfigId = "githubappconfigs($appConfigRecordId)"
}
if ($GitHubConnectionId) { $connectBody.GitHubConnectionId = $GitHubConnectionId }
if ($GitHubPAT) { $connectBody.GitHubPAT = $GitHubPAT }
if ($UpstreamBranch) { $connectBody.UpstreamBranch = $UpstreamBranch }
if ($RootFolder) { $connectBody.RootFolder = $RootFolder }
if ($SolutionUniqueName) { $connectBody.SolutionUniqueName = $SolutionUniqueName }
Invoke-DataverseApi -Method POST -Endpoint "ConnectToGit" -Body $connectBody
Write-Host "Connected Dataverse Git integration to GitHub."
ยกเลิกการเชื่อมต่อสภาพแวดล้อม Dataverse ทั้งหมดของคุณจากตัวควบคุมแหล่งข้อมูล Git
การดําเนินการนี้จะเป็นการลบการเชื่อมต่อ Git ระดับสภาพแวดล้อม อย่าใช้ SolutionUniqueName พารามิเตอร์ สําหรับการดําเนินการนี้ Dataverse ระบุและลบการเชื่อมต่อ Git ระดับสภาพแวดล้อมโดยอัตโนมัติ
ตัวอย่างนี้แสดงวิธีการใช้ การดําเนินการ DisconnectFromGit เพื่อยกเลิกการเชื่อมต่อสภาพแวดล้อม Dataverse ทั้งหมดของคุณจากตัวควบคุมแหล่งข้อมูล Git
คำขอ
POST [Organization URI]/api/data/v9.2/DisconnectFromGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
การตอบสนอง
HTTP/1.1 204 No Content
OData-Version: 4.0
เชื่อมต่อโซลูชันแรกกับที่เก็บ Git
การเชื่อมต่อนี้จะสร้างลิงก์ที่เก็บข้อมูลและโครงสร้างโฟลเดอร์สําหรับตัวควบคุมแหล่งข้อมูลระดับโซลูชันกับโซลูชันแรกในสภาพแวดล้อม
คุณจําเป็นต้องใส่ค่าสําหรับพารามิเตอร์เหล่านี้เพื่อระบุโซลูชัน:
RootFolderSolutionUniqueName
ตัวอย่างนี้แสดงวิธีการใช้ การดําเนินการ ConnectToGit เพื่อเชื่อมต่อโซลูชันแรกกับที่เก็บ Git
คำขอ
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"ConnectionType": 1,
"GitProvider": 0,
"Organization": "yourOrganizationName",
"Project": "yourProjectName",
"Repository": "yourRepositoryName",
"RootFolder": "yourRootFolderName",
"SolutionUniqueName": "yourSolutionUniqueName"
}
การตอบสนอง
HTTP/1.1 204 No Content
OData-Version: 4.0
เชื่อมต่อโซลูชันเพิ่มเติมไปยังที่เก็บ Git เดียวกันหลังจากที่คุณเชื่อมต่อโซลูชันเริ่มต้น
หลังจากที่คุณเชื่อมต่อโซลูชันแรก คุณต้องการเฉพาะพารามิเตอร์เฉพาะโซลูชันเท่านั้น คุณได้รับรายละเอียดการเชื่อมต่อที่เก็บจากการเชื่อมต่อเริ่มต้น
ตั้งค่าพารามิเตอร์เหล่านี้เท่านั้น:
SolutionUniqueNameBranchGitFolder
สําคัญ
คุณต้องเชื่อมต่อโซลูชันแรกก่อนที่สิ่งนี้จะทำงานได้ ดูที่ เชื่อมต่อโซลูชันแรกกับที่เก็บ Git
ตัวอย่างนี้แสดงวิธีการใช้ การดําเนินการ ConnectToGit เพื่อเชื่อมต่อโซลูชันที่ตามมากับที่เก็บ Git
คำขอ
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"SolutionUniqueName": "yourSolutionUniqueName"
}
การตอบสนอง
HTTP/1.1 204 No Content
OData-Version: 4.0
ยกเลิกการเชื่อมต่อโซลูชันเฉพาะจากตัวควบคุมแหล่งข้อมูล Git ในขณะที่ยังคงเชื่อมต่อโซลูชันอื่น ๆ อยู่
ใช้วิธีการนี้เพื่อเอาตัวควบคุมแหล่งข้อมูลสําหรับโซลูชันหนึ่งออกโดยไม่กระทบต่อโซลูชันอื่น
ตัวอย่างนี้แสดงวิธีการใช้ การดําเนินการ DisconnectFromGit เพื่อเอาตัวควบคุมแหล่งข้อมูลสําหรับโซลูชันหนึ่งออกโดยไม่กระทบต่อโซลูชันอื่น
คำขอ
POST [Organization URI]/api/data/v9.2/DisconnectFromGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"SolutionUniqueName": "yourSolutionUniqueName"
}
การตอบสนอง
HTTP/1.1 204 No Content
OData-Version: 4.0
การจัดการข้อผิดพลาด
ไม่มีทั้ง ConnectToGit หรือ DisconnectFromGit API ส่งคืนค่าเมื่อดำเนินการสำเร็จ เมื่อ API ล้มเหลว จะส่งกลับข้อผิดพลาด
สถานการณ์ข้อผิดพลาดทั่วไปประกอบด้วย:
- ข้อมูลประจําตัวไม่ถูกต้อง: ตรวจสอบให้แน่ใจว่าคุณมีการรับรองความถูกต้องที่ถูกต้องไปยังผู้ให้บริการ Git
- ไม่พบที่เก็บข้อมูล: ตรวจสอบชื่อองค์กร โครงการ และที่เก็บ
- ปฏิเสธสิทธิ์: ตรวจสอบให้แน่ใจว่าบัญชี Dataverse ของคุณมีสิทธิ์การจัดการตัวควบคุมแหล่งข้อมูล
-
ไม่พบโซลูชัน: ตรวจสอบว่ามี
SolutionUniqueNameอยู่ในสภาพแวดล้อมของคุณ - ไม่มีสาขาอยู่: ยืนยันว่ามีสาขาที่ระบุอยู่ในที่เก็บ
การสนับสนุนและแหล่งข้อมูลเพิ่มเติม
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการรวมตัวควบคุมแหล่งข้อมูลกับ Dataverse โปรดดู: