Σύνδεση και αποσύνδεση του Dataverse από ένα αποθετήριο δεδομένων Git με χρήση κώδικα

Χρησιμοποιήστε τα API και ConnectToGit για να ενσωματώσετε μέσω προγραμματισμού το DisconnectFromGit περιβάλλον σας Microsoft Dataverse με το στοιχείο ελέγχου προέλευσης Git. Χρησιμοποιώντας αυτά τα API, μπορείτε να συνδέσετε μεμονωμένες λύσεις ή ολόκληρα περιβάλλοντα στα υποστηριζόμενα αποθετήρια δεδομένων Git και να διαχειριστείτε αυτές τις συνδέσεις μέσω κώδικα.

Προαπαιτούμενα

Προτού χρησιμοποιήσετε αυτά τα API, βεβαιωθείτε ότι έχετε:

  • Πρόσβαση σε ένα περιβάλλον Microsoft Dataverse
  • Δικαιώματα διαχειριστή συστήματος
  • Πρόσβαση ανάγνωσης και εγγραφής σε ένα αποθετήριο δεδομένων Git

ConnectToGit API

Δημιουργεί μια σύνδεση μεταξύ μιας λύσης ή περιβάλλοντος Dataverse και ενός αποθετηρίου δεδομένων Git. Χρησιμοποιώντας αυτήν τη σύνδεση, μπορείτε να διαχειριστείτε τον έλεγχο προέλευσης για τα στοιχεία σας Dataverse.

Παράμετροι

Το ConnectToGit API αποδέχεται τις ακόλουθες παραμέτρους:

Παράμετρος Τύπος Υποχρεωτικό Περιγραφή
GitFolder String Ναι Το όνομα του φακέλου στον οποίο θέλετε να συνδέσετε τη λύση ή το περιβάλλον σας.
Branch String Ναι Το όνομα της διακλάδωσης στην οποία θέλετε να συνδεθείτε.
ConnectionType Integer Αρ. Καθορίζει σε τι θα συνδεθείτε. Ανατρέξτε στο θέμα Παράμετρος ConnectionType.
GitProvider Integer Αρ. Την υπηρεσία παροχής Git. Ανατρέξτε στο θέμα Παράμετρος GitProvider.
Organization String Αρ. Το όνομα του οργανισμού στον οποίο θέλετε να συνδεθείτε.
Project String Αρ. Το όνομα του έργου στο οποίο θέλετε να συνδεθείτε.
Repository String Αρ. Το όνομα του αποθετηρίου στο οποίο θέλετε να συνδεθείτε.
RootFolder String Αρ. Το όνομα του ριζικού φακέλου όπου βρίσκονται όλες οι λύσεις σας στην εμβέλεια λύσης.
SolutionUniqueName String Αρ. Το μοναδικό όνομα της λύσης που θέλετε να συνδέσετε στο git.
UpstreamBranch String Αρ. Το όνομα της διακλάδωσης upstream στην οποία θέλετε να συνδεθείτε. Η προεπιλογή είναι η προεπιλεγμένη διακλάδωση του αποθετηρίου.
GitHubConnectionId String Αρ. Το αναγνωριστικό σύνδεσης για τη σύνδεση GitHub Power Platform. Απαιτείται όταν GitProvider το είναι 1 εκτός και αν παρέχετε GitHubPAT. Δεν μπορεί να χρησιμοποιηθεί όταν είναι ενεργοποιημένη η υποστήριξη εικονικού δικτύου (VNET) για το περιβάλλον Dataverse.
GitHubPAT String Αρ. GitHub προσωπικό διακριτικό πρόσβασης με πρόσβαση στο αποθετήριο δεδομένων προορισμού. Απαιτείται όταν GitProvider το είναι 1 εκτός και αν παρέχετε GitHubConnectionId. Απαιτείται όταν είναι ενεργοποιημένη η υποστήριξη εικονικού δικτύου (VNET) για το περιβάλλον Dataverse.
GitHubAppConfigId String Αρ. Αναφορά στην εγγραφή ρύθμισης παραμέτρων εφαρμογής 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 String Αρ. Το μοναδικό όνομα της λύσης που θέλετε να αποσυνδεθείτε από το Git. Παραλείπει να αποσυνδέσετε όλες τις λύσεις ή το περιβάλλον.

Πρόσθετες πληροφορίες

Ακολουθούν μερικές επιλογές τιμής παραμέτρου για να καθορίσετε κατά την κλήση της DisconnectFromGit.

  • Αποσύνδεση μεμονωμένης λύσης: Παροχή SolutionUniqueName για αποσύνδεση μιας συγκεκριμένης λύσης.
  • Αποσύνδεση όλων των λύσεων: Να μην παρέχονται παράμετροι για την αποσύνδεση όλων των συνδέσεων σε επίπεδο λύσης.
  • Αποσύνδεση περιβάλλοντος: Μην παρέχετε παραμέτρους για να αποσυνδέσετε τη σύνδεση σε επίπεδο περιβάλλοντος.

Παραδείγματα

Τα παρακάτω παραδείγματα περιγράφουν σενάρια για τη χρήση των ConnectToGit API και DisconnectFromGit :

Συνδέστε ολόκληρο το περιβάλλον σας Dataverse σε ένα αποθετήριο δεδομένων Azure DevOps

Αυτή η σύνδεση επιτρέπει τον έλεγχο προέλευσης για όλες τις ρυθμίσεις παραμέτρων και στοιχεία σε επίπεδο περιβάλλοντος.

Μην χρησιμοποιείτε αυτές τις παραμέτρους με αυτήν τη σύνδεση:

  • RootFolder
  • SolutionUniqueName
  • UpstreamBranch

Αυτό το παράδειγμα δείχνει πώς μπορείτε να χρησιμοποιήσετε την ενέργεια 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

Μάθετε πώς να καλείτε ενέργειες API Web

Σύνδεση σε αποθετήριο GitHub

Προτού χρησιμοποιήσετε το API για να συνδεθείτε σε GitHub, ολοκληρώστε τα βήματα ρύθμισης για να δημιουργήσετε την εφαρμογή GitHub, εγκαταστήστε την στο αποθετήριο προορισμού, εισαγάγετε το ιδιωτικό της κλειδί στη Azure Key Vault και δημιουργήστε τη σύνδεση GitHub Power Platform. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Σύνδεση σε GitHub.

Δημιουργία εγγραφής ρύθμισης παραμέτρων εφαρμογής GitHub χρησιμοποιώντας το Web API

Χρησιμοποιήστε το Web API Dataverse OData για να δημιουργήσετε μια githubappconfig εγγραφή. Στείλτε μια αίτηση POST με το αναγνωριστικό προγράμματος-πελάτη της εφαρμογής GitHub, Key Vault URI και το όνομα κλειδιού.

Μπορείτε να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα-πελάτη HTTP, όπως Αϋπνία, Visual Studio Code REST Client ή μπούκλα, για να κάνετε αυτές τις κλήσεις. Χρειάζεστε bearer token για έλεγχο ταυτότητας. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Χρήση του API Web Microsoft Dataverse.

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).

Κλήση του API ConnectToGit

Αφού δημιουργήσετε την githubappconfig εγγραφή και ρυθμίσετε τις παραμέτρους Key Vault RBAC, χρησιμοποιήστε το API Web Dataverse για να δημιουργήσετε τη σύνδεση στοιχείου ελέγχου προέλευσης καλώντας την 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>).

Στιγμιότυπο οθόνης ενός σώματος αίτησης HTTP για το API ConnectToGit με GitHub παραμέτρους.

Εάν λάβετε μια επιτυχημένη απόκριση, το περιβάλλον συνδέεται με GitHub.

Σύνδεση σε αποθετήριο GitHub με χρήση του PowerShell

Το παρακάτω παράδειγμα του PowerShell δημιουργεί την GitHub εγγραφή ρύθμισης παραμέτρων εφαρμογής, περιμένει να εμφανιστεί η διαχειριζόμενη ταυτότητα Dataverse σε Microsoft Entra ID, εκχωρεί τον ρόλο χρήστη κρυπτογράφησης Key Vault στη διαχειριζόμενη ταυτότητα και καλεί την 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

Μάθετε πώς να καλείτε ενέργειες API Web

Σύνδεση της πρώτης λύσης σε αποθετήριο δεδομένων Git

Αυτή η σύνδεση δημιουργεί τη σύνδεση αποθετηρίου και τη δομή φακέλων για τον έλεγχο προέλευσης σε επίπεδο λύσης για την πρώτη λύση σε ένα περιβάλλον.

Πρέπει να συμπεριλάβετε τιμές για αυτές τις παραμέτρους για να καθορίσετε τη λύση:

  • RootFolder
  • SolutionUniqueName

Αυτό το παράδειγμα δείχνει πώς μπορείτε να χρησιμοποιήσετε την ενέργεια 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

Μάθετε πώς να καλείτε ενέργειες API Web

Συνδέστε επιπλέον λύσεις στο ίδιο αποθετήριο δεδομένων Git αφού συνδέσετε την αρχική λύση

Αφού συνδέσετε την πρώτη λύση, χρειάζεστε μόνο τις παραμέτρους για συγκεκριμένη λύση. Μεταβιβάζετε τις λεπτομέρειες σύνδεσης αποθετηρίου δεδομένων από την αρχική σύνδεση.

Ορίστε μόνο αυτές τις παραμέτρους:

  • SolutionUniqueName
  • Branch
  • GitFolder

Σημαντικό

Για να λειτουργήσει αυτό, πρέπει πρώτα να συνδέσετε την πρώτη λύση. Ανατρέξτε στο θέμα Σύνδεση της πρώτης λύσης σε αποθετήριο δεδομένων 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

Μάθετε πώς να καλείτε ενέργειες API Web

Αποσυνδέστε μια συγκεκριμένη λύση από το στοιχείο ελέγχου προέλευσης 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

Μάθετε πώς να καλείτε ενέργειες API Web

Χειρισμός σφαλμάτων

Ούτε το ConnectToGit API ούτε επιστρέφει DisconnectFromGit μια τιμή όταν ολοκληρωθεί με επιτυχία. Όταν αποτυγχάνει ένα API, επιστρέφει ένα σφάλμα.

Συνήθη σενάρια σφαλμάτων περιλαμβάνουν τα εξής:

  • Μη έγκυρα διαπιστευτήρια: Βεβαιωθείτε ότι έχετε έγκυρο έλεγχο ταυτότητας στην υπηρεσία παροχής Git.
  • Δεν βρέθηκε αποθετήριο δεδομένων: Επαληθεύστε τα ονόματα του οργανισμού, του έργου και του αποθετηρίου.
  • Δεν επιτρέπεται το δικαίωμα: Βεβαιωθείτε ότι ο λογαριασμός σας Dataverse έχει δικαιώματα διαχείρισης ελέγχου προέλευσης.
  • Η λύση δεν βρέθηκε: Επαληθεύστε ότι SolutionUniqueName υπάρχουν στο περιβάλλον σας.
  • Η διακλάδωση δεν υπάρχει: Επιβεβαιώστε ότι υπάρχει η καθορισμένη διακλάδωση στο αποθετήριο δεδομένων.

Υποστήριξη και πρόσθετοι πόροι

Για περισσότερες πληροφορίες σχετικά με την ενοποίηση ελέγχου προέλευσης με το Dataverse, ανατρέξτε στο θέμα: