Proseguiamo la mini-serie riguardante come costruire le note di rilascio a partire da due tag segnati sul codice sorgente. Per recuperare le informazioni necessarie in seguito come, ad esempio, le pull request che sono state chiuse, avremo bisogno di identificare il repository di riferimento. Solitamente noi referenziamo il repository per nome, considerando quello che Azure DevOps ci fa vedere sia a livello di UI che a livello di URL però, come qualsiasi altra risorsa, anche il repository è rappresentato da un ID univico.
Per recuperare il repository, dato il suo nome, facciamo ancora una volta riferimento alle REST API:
function Get-Repo-By-Name { Param( [Parameter(Mandatory = $true)] [String]$repositoryName ) $url = "https://dev.azure.com/$(OrganizationName)/$(TeamProject)/_apis/git/repositories?api-version=6.0" $repos = Invoke-RestMethod $url -Method GET -Headers @{Authorization=("Bearer {0}" -f $env:SYSTEM_ACCESSTOKEN)} if ($repos.count -lt 1) { Write-Host "##[error]Couldn't find any repository." throw } $repo = $repos | Where-Object { $_.name -eq $repositoryName } Write-Host "Found $repositoryName repository." return $repo }
La funzione che abbiamo costruito prende in ingresso il nome del repository, che è la risorsa che conosciamo, quindi effettua una chiamata all'API dedicata di Azure DevOps per recuperare tutta la lista dei repository creati (e visibili all'utenza che li richiede, in questo caso la pipeline stessa che eseguirà questo script di PowerShell). Una volta ottenuta la risposta, ci assicuriamo che sia stato trovato almeno un repository, quindi filtriamo l'array e recuperiamo l'oggetto che ci interessa tramite il suo nome. Ci salviamo la variabile contenente tutto il repository perchè la useremo nel prossimo script.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Disabilitare automaticamente un workflow di GitHub
Effettuare il binding di date in Blazor
Eseguire le GitHub Actions offline
Code scanning e advanced security con Azure DevOps
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Evitare la command injection in un workflow di GitHub
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Eseguire operazioni sui blob con Azure Storage Actions
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Utilizzare QuickGrid di Blazor con Entity Framework
I più letti di oggi
- Integrare chiamate al marketplace nelle app Windows Phone
- Sblocca le performance della tua applicazione con .NET 8
- Effettuare update massivi con Entity Framework Core 7
- Microsoft Security Bulletin MS06-019
- Leggere App Settings da Azure Key Vault senza modificare il codice
- Utilizzare database e servizi con gli add-on di Container App
- MathML e la portabilità delle formule matematiche sul web con HTML5
- Includere una pagina di help in un progetto ASP.NET Web API