Jaa


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:

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ä:

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

  1. 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
        }
    }
    
  2. 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
    
  3. 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 "{}"
    
  4. 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ä.

  1. Kirjaudu sisään Gitiin ja hanki todentaminen.
  2. Kutsu Hae tila -ohjelmointirajapintaa päivityksen saamiseksi Git-pyynnön leipätekstistä.
  3. 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.

  1. Kirjaudu sisään Gitiin ja hanki todentaminen.
  2. Muodosta yhteys työtilaan.
  3. Kutsu Lähetä Git REST -ohjelmointirajapintaan.
  4. 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.

  1. Kirjaudu sisään Gitiin ja hanki todentaminen.
  2. Muodosta yhteys työtilaan.
  3. Kutsu Hae tila -ohjelmointirajapintaa, jotta näet, mitkä kohteet työtilaa on muutettu.
  4. Valitse tietyt vahvistuskohteet.
  5. 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.

  1. Hae operationId Git-päivityksestä tai Lähetä Gitiin -komentosarjasta.
  2. 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.