Ansluta och koppla från Dataverse från en Git-lagringsplats med hjälp av kod

Använd API:erna ConnectToGit och DisconnectFromGit för att programmatiskt integrera din Microsoft Dataverse-miljö med Git-källkontroll. Genom att använda dessa API:er kan du ansluta enskilda lösningar eller hela miljöer till Git-lagringsplatser som finns på Azure DevOps och hantera dessa anslutningar via kod.

Important

Azure DevOps är för närvarande den enda Git-providern som stöds.

Förutsättningar

Kontrollera att du har följande innan du använder dessa API:er:

  • Åtkomst till en Microsoft Dataverse-miljö
  • Systemadministratörsbehörigheter
  • Läs- och skrivåtkomst till en Git-lagringsplats

ConnectToGit API

Skapar en anslutning mellan en Dataverse-lösning eller -miljö och en Git-lagringsplats. Genom att använda den här anslutningen kan du hantera källkontroll för dina Dataverse-komponenter.

Parameters

ConnectToGit API:et accepterar följande parametrar:

Parameter Type Obligatoriskt Beskrivning
GitFolder String Yes Namnet på den mapp som du vill binda din lösning eller miljö till.
Branch String Yes Namnet på den gren som du vill ansluta till.
ConnectionType Heltal No Anger vad som ska anslutas till. Se ConnectionType-parametern.
GitProvider Heltal No Git-provider Se GitProvider-parametern.
Organization String No Namnet på den organisation som du vill ansluta till.
Project String No Namnet på projektet som du vill ansluta till.
Repository String No Namnet på den lagringsplats som du vill ansluta till.
RootFolder String No Namnet på rotmappen där alla dina lösningar finns i lösningsomfånget.
SolutionUniqueName String No Det unika namnet på den lösning som du vill ansluta till git.
UpstreamBranch String No Namnet på den överordnade gren som du vill ansluta till. Standardinställningen är huvudgrenen för arkivet.

Parametern ConnectionType

Parametern ConnectionType styr om du vill ansluta till hela Dataverse-miljön eller en specifik lösning.

Value Etikett Beskrivning
0 Lösning Ansluter en specifik Dataverse-lösning till Git.
1 Miljö Ansluter hela Dataverse-miljön till Git.

GitProvider-parameter

Använd parametern GitProvider för att ange vilken typ av Git-provider du använder, antingen Azure DevOps eller GitHub.

Value Etikett Beskrivning
0 Azure DevOps Använd för lagringsplatser som finns på Azure DevOps
1 GitHub Använd för lagringsplatser som finns på GitHub

Frånkoppla från Git API

Tar bort Git-anslutningen från en Dataverse-lösning eller -miljö och inaktiverar källkontrollintegrering.

Parameter

API:et DisconnectFromGit har bara en parameter.

Parameter Type Obligatoriskt Beskrivning
SolutionUniqueName String No Det unika namnet på den lösning som du vill koppla från Git. Utelämna inte om du vill koppla från alla lösningar eller alla delar av systemet.

Ytterligare information

Här följer några parametervärdealternativ som du kan ange när du anropar DisconnectFromGit.

  • Koppla från en enskild lösning: Tillhandahåll SolutionUniqueName för att koppla från en specifik lösning.
  • Koppla från alla lösningar: Ange inga parametrar för att koppla från alla anslutningar på lösningsnivå.
  • Frånkopplingsmiljö: Ange inga parametrar för att koppla från anslutningen på miljönivå.

Examples

I följande exempel beskrivs scenarier för användning ConnectToGit och DisconnectFromGit API:er:

Ansluta hela Dataverse-miljön till en Azure DevOps-lagringsplats

Den här anslutningen möjliggör källkontroll för alla konfigurationer och komponenter på miljönivå.

Använd inte dessa parametrar med den här anslutningen:

  • RootFolder
  • SolutionUniqueName
  • UpstreamBranch

Det här exemplet visar hur du använder åtgärden ConnectToGit för att ansluta hela Dataverse-miljön till en Azure DevOps-lagringsplats.

Förfrågan

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"
}

Svar

HTTP/1.1 204 No Content
OData-Version: 4.0

Lär dig hur du anropar webb-API-åtgärder

Koppla bort hela Dataverse-miljön från Git-källkontrollen

Den här åtgärden tar bort Git-anslutningen på miljönivå. Använd inte parametern SolutionUniqueName för den här åtgärden. Dataverse identifierar och tar automatiskt bort Git-anslutningen på miljönivå.

Det här exemplet visar hur du använder åtgärden DisconnectFromGit för att koppla bort hela Dataverse-miljön från Git-källkontrollen.

Förfrågan

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

Svar

HTTP/1.1 204 No Content
OData-Version: 4.0

Lär dig hur du anropar webb-API-åtgärder

Ansluta den första lösningen till en Git-lagringsplats

Den här anslutningen etablerar länken till lagringsplatsen och mappstrukturen för källkontroll på lösningsnivå för den första lösningen i en miljö.

Du måste inkludera värden för dessa parametrar för att ange lösningen:

  • RootFolder
  • SolutionUniqueName

Det här exemplet visar hur du använder åtgärden ConnectToGit för att ansluta den första lösningen till en Git-lagringsplats.

Förfrågan

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"
}

Svar

HTTP/1.1 204 No Content
OData-Version: 4.0

Lär dig hur du anropar webb-API-åtgärder

Ansluta extra lösningar till samma Git-lagringsplats när du har anslutit den första lösningen

När du har anslutit den första lösningen behöver du bara de lösningsspecifika parametrarna. Du ärver lagringsplatsens anslutningsinformation från den första anslutningen.

Ange endast följande parametrar:

  • SolutionUniqueName
  • Branch
  • GitFolder

Important

Du måste först ansluta den första lösningen innan det här fungerar. Se Ansluta den första lösningen till en Git-lagringsplats.

Det här exemplet visar hur du använder åtgärden ConnectToGit för att ansluta efterföljande lösningar till en Git-lagringsplats.

Förfrågan

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"
}

Svar

HTTP/1.1 204 No Content
OData-Version: 4.0

Lär dig hur du anropar webb-API-åtgärder

Koppla från en specifik lösning från Git-källkontrollen samtidigt som andra lösningar är anslutna

Använd den här metoden för att ta bort källkontroll för en lösning utan att påverka andra.

Det här exemplet visar hur du använder åtgärden DisconnectFromGit för att ta bort källkontrollen för en lösning utan att påverka andra.

Förfrågan

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"
}

Svar

HTTP/1.1 204 No Content
OData-Version: 4.0

Lär dig hur du anropar webb-API-åtgärder

Felhantering

Varken ConnectToGit-API:et eller DisconnectFromGit-API:et returnerar ett värde när det har slutförts framgångsrikt. När ett API misslyckas returneras ett fel.

Vanliga felscenarier är:

  • Ogiltiga autentiseringsuppgifter: Kontrollera att du har giltig autentisering till Git-providern.
  • Det går inte att hitta lagringsplatsen: Verifiera namn på organisation, projekt och lagringsplats.
  • Behörighet nekad: Kontrollera att ditt Dataverse-konto har behörighet att hantera källkontroll.
  • Det går inte att hitta lösningen: Kontrollera att den SolutionUniqueName finns i din miljö.
  • Grenen finns inte: Bekräfta att den angivna grenen finns på lagringsplatsen.

Support och ytterligare resurser

Mer information om källkontrollintegrering med Dataverse finns i: