Automatisoi Git-integrointi ohjelmointirajapintojen avulla
Microsoft Fabric Git -integrointityökalun avulla tiimit voivat tehdä yhteistyötä lähdehallinnan avulla ja kehittää Fabric-sisällölleen tehokkaan ja uudelleenkäytettävän julkaisuprosessin.
Microsoft Fabric REST -ohjelmointirajapintojen avulla voit automatisoida Fabric-toimintosyistä ja -prosesseista, jotta voit suorittaa tehtäviä nopeammin ja vähemmän virheitä. Tämä tehokkuus johtaa kustannussäästöihin ja tuottavuuden parantumiseen.
Tässä artikkelissa kuvataan, miten voit automatisoida Git-integroinnin Microsoft Fabricissa Git-integroinnin REST-ohjelmointirajapintojen avulla.
Edellytykset
Jos haluat käyttää Fabric Git -ohjelmointirajapintoja, tarvitset seuraavat:
Samat edellytykset kuin Git-integroinnin käyttäminen käyttöliittymässä.
Microsoft Entra -tunnus Fabric-palvelulle. Käytä tunnusta API-kutsun valtuutusotsikossa. Saat lisätietoja tunnuksen hankkimisesta Fabric-ohjelmointirajapinnan pika-aloituksesta.
Voit käyttää REST-ohjelmointirajapintoja ilman PowerShelliä, mutta tämän artikkelin komentosarjoissa käytetään PowerShelliä. Jotta voit suorittaa komentosarjoja, sinun on tehtävä seuraavat toimet:
Git-integroinnin ohjelmointirajapintafunktiot
Git-integroinnin REST-ohjelmointirajapinnat voivat auttaa sinua saavuttamaan sisältösi jatkuvan integroinnin ja jatkuvan toimituksen (CI/CD). Seuraavassa on muutama esimerkki siitä, mitä ohjelmointirajapinnoilla voidaan tehdä:
Näet, missä kohteissa on saapuvia muutoksia ja missä kohteissa on muutoksia, joita ei ole vielä varattu Gitille Git-tilan ohjelmointirajapinnalla.
Hae määritetyn työtilan yhteyden tiedot.
Yhdistä ja katkaise tietyn työtilan yhteys tiettyyn työtilaan Git-säilöstä ja siihen yhdistetystä haarasta.
Päivitä Git-tunnistetietoni Git-tunnistetietojesi määritystietojen päivittämiseksi.
Hanki Git-tunnistetietoni , jotta saat Git-tunnistetietosi.
Alusta yhteys työtilaan, joka on yhdistetty Gitiin.
Vahvista työtilassa tehdyt muutokset yhdistettyyn etähaaraan.
Päivitä työtilaan yhdistettyyn haaraan lähetetyt vahvistukset.
Esimerkit
Tutustu seuraavien PowerShell-komentosarjojen avulla siihen, miten voit suorittaa useita yleisiä automaatioprosesseja. Jos haluat tarkastella tai kopioida tekstiä PowerShell-mallissa, käytä tämän osion linkkejä. Näet kaikki esimerkit myös Fabric Git -integrointimallien GitHub-säilöstä.
Yhdistä ja päivitä
Tässä osiossa kuvataan vaiheet, jotka liittyvät työtilan yhdistämiseen ja päivittämiseen Git-palvelun avulla.
Koko komentosarja on kohdassa Yhdistä ja päivitä Gitistä.
Kirjaudu sisään ja hanki käyttöoikeustietue– Kirjaudu sisään Fabriciin käyttäjänä (ei palvelun päänimenä). Kirjaudu sisään Connect-AzAccount-komennolla. Saat käyttöoikeustietueen Get-AzAccessToken-komennolla .
Koodisi pitäisi näyttää suunnilleen tältä:
$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 } }
Kutsu Connect-ohjelmointirajapintaa työtilan yhdistämiseksi Git-säilöön ja -haaraan.
# Connect to Git Write-Host "Connecting the workspace '$workspaceName' to Git." $connectUrl = "{0}/workspaces/{1}/git/connect" -f $global:baseUrl, $workspace.Id # AzureDevOps details $azureDevOpsDetails = @{ gitProviderType = "AzureDevOps" organizationName = "<ORGANIZATION NAME>" projectName = "<PROJECT NAME>" repositoryName = "<REPOSITORY NAME>" branchName = "<BRANCH NAME>" directoryName = "<DIRECTORY NAME>" } $connectToGitBody = @{ gitProviderDetails =$azureDevOpsDetails } | ConvertTo-Json Invoke-RestMethod -Headers $global:fabricHeaders -Uri $connectUrl -Method POST -Body $connectToGitBody
Kutsu Alusta yhteyden ohjelmointirajapintaa, jotta voit alustaa työtilan ja Git-säilön/haaran välisen yhteyden.
# Initialize Connection Write-Host "Initializing Git connection for workspace '$workspaceName'." $initializeConnectionUrl = "{0}/workspaces/{1}/git/initializeConnection" -f $global:baseUrl, $workspace.Id $initializeConnectionResponse = Invoke-RestMethod -Headers $global:fabricHeaders -Uri $initializeConnectionUrl -Method POST -Body "{}"
Alusta yhteyden ohjelmointirajapinta -toiminnon vastauksen perusteella voit kutsua joko Päivitä Gitistä -ohjelmointirajapinnasta päivityksen viimeistelemiseksi tai älä tee mitään, jos toimintoa ei tarvita.
Seuraava komentosarja päivittää ja seuraa edistymistä:
if ($initializeConnectionResponse.RequiredAction -eq "UpdateFromGit") { # Update from Git Write-Host "Updating the workspace '$workspaceName' from Git." $updateFromGitUrl = "{0}/workspaces/{1}/git/updateFromGit" -f $global:baseUrl, $workspace.Id $updateFromGitBody = @{ remoteCommitHash = $initializeConnectionResponse.RemoteCommitHash workspaceHead = $initializeConnectionResponse.WorkspaceHead } | ConvertTo-Json $updateFromGitResponse = Invoke-WebRequest -Headers $global:fabricHeaders -Uri $updateFromGitUrl -Method POST -Body $updateFromGitBody $operationId = $updateFromGitResponse.Headers['x-ms-operation-id'] $retryAfter = $updateFromGitResponse.Headers['Retry-After'] Write-Host "Long Running Operation ID: '$operationId' has been scheduled for updating the workspace '$workspaceName' from Git with a retry-after time of '$retryAfter' seconds." -ForegroundColor Green # Poll Long Running Operation $getOperationState = "{0}/operations/{1}" -f $global:baseUrl, $operationId do { $operationState = Invoke-RestMethod -Headers $global:fabricHeaders -Uri $getOperationState -Method GET Write-Host "Update from Git operation status: $($operationState.Status)" if ($operationState.Status -in @("NotStarted", "Running")) { Start-Sleep -Seconds $retryAfter } } while($operationState.Status -in @("NotStarted", "Running")) }
Päivitä Gitistä
Tässä osiossa kuvataan vaiheet, jotka liittyvät työtilan päivittämiseen Git-muutoksella. Tässä komentosarjassa työtilan kohteisiin päivitetään Git-muutokset, mutta Git-säilöä ei muuteta.
Katso koko komentosarja kohdasta Työtilan päivittäminen Gitistä.
- Kirjaudu sisään Gitiin ja hanki todentaminen.
- Kutsu Hae tila -ohjelmointirajapintaa päivityksen saamiseksi Git-pyynnön leipätekstistä.
- Kutsu Päivitys Git-ohjelmointirajapinnasta, jotta työtila päivitetään yhdistettyyn haaraan lähetetyillä vahvistuksilla.
Vahvista kaikki
Tässä osiossa annetaan vaiheittainen kuvaus siitä, miten voit ohjelmallisesti sitoa kaikki muutokset työtilasta Git-tiedostoon.
Koko komentosarja on kohdassa Vahvista kaikki muutokset Git-tiedostoon.
- Kirjaudu sisään Gitiin ja hanki todentaminen.
- Muodosta yhteys työtilaan.
- Kutsu Lähetä Git REST -ohjelmointirajapintaan.
- Hae pitkäkestoinen operaatiotunnus toiminnon tilaa koskeville kyselyille.
Valikoiva vahvistus
Tässä osiossa kuvataan vaiheet, jotka liittyvät vain tiettyjen muutosten vahvistamiseen työtilasta Git-tiedostoon.
Koko komentosarja on kohdassa Vahvista valinta git-muutokset.
- Kirjaudu sisään Gitiin ja hanki todentaminen.
- Muodosta yhteys työtilaan.
- Kutsu Hae tila -ohjelmointirajapintaa, jotta näet, mitkä kohteet työtilaa on muutettu.
- Valitse tietyt vahvistuskohteet.
- Kutsu Lähetä Git-ohjelmointirajapintaan ja vahvista valitut muutokset työtilasta yhdistettyyn etähaaraan.
Pitkäkestoisten toimintojen edistymisen seuranta
Koko komentosarja on kohdassa Pitkäkestoisen toiminnon kysely.
- Hae operationId Git-päivityksestä tai Lähetä Gitiin -komentosarjasta.
- Kutsu Hae LRO-tilan ohjelmointirajapinta määritettyjen aikavälien mukaisesti (sekunteina) ja tulosta tila.
Huomioitavat asiat ja rajoitukset
- Ohjelmointirajapintoja käyttävään Git-integrointiin sovelletaan samoja rajoituksia kuin Git-integroinnin käyttöliittymään.
- Palvelun päänimeä ei tueta.
- Semanttisen mallin päivittäminen käyttämällä parannetun päivityksen ohjelmointirajapintaa aiheuttaa Git-erotuksen kunkin päivityksen jälkeen.