In un recentissimo aggiornamento della GitHub CLI è stata introdotta la possibilità di fare query sulle sub-issue di GitHub, ovvero quelle issue che sfruttano la gerarchia "padre-figlio", un po' in stile DevOps quando abbiamo i task-type Feature -> Work Item -> Task/Bug. Sebbene di fatto siano issue a tutti gli effetti, quindi non sono trattate diverse dalle altre, sono state aggiunte un po' di proprietà per avere un summary degli eventi. Vediamo un esempio:
ISSUE_ID=$(gh api graphql -H X-Github-Next-Global-ID:1 -f query='
query($owner: String!, $repo: String!, $issue_number: Int!) {
repository(owner: $owner, name: $repo) {
issue(number: $issue_number) {
id
}
}
}
' -F owner=aspitalia -F repo=graphql-testing -F issue_number=12345 --jq '.data.repository.issue.id')Con questo primo pezzo di codice andiamo a recuperare, dato l'ID numerico di una issue, quello che è il suo "NodeId", ovvero un identificativo alfanumerico univoco. A questo punto possiamo recuperare lo stato di tutte le sub-issue collegate ad esso:
gh api graphql -H GraphQL-Features:sub_issues -H X-Github-Next-Global-ID:1 -f query='
query($issueId: ID!) {
node(id: $issueId) {
... on Issue {
subIssuesSummary {
total
completed
percentCompleted
}
}
}
}' -F issueId="$ISSUE_ID"In questo modo siamo riusciti a recuperare non solo quante sono le issue ad esso correlate, ma possiamo anche ottenere una percentuale di completamento per queste, cosa che non era fattibile, per esempio, in Azure DevOps (a meno di correlazioni tramite strumenti esterni come PowerBI).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Planning & Specification Driven Development + GitHub Copilot
Escludere alcuni file da GitHub Copilot
Utilizzo del persistent state di Blazor nel prerendering
Introduzione ai GitHub Agentic Workflows
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
From Data to Insight: Exploratory Data Analysis with Python, VS Code and SQL MCP Server
GitHub Quick Review per la valutazione dello stato di compliance dell'organizzazione aziendale
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
Azure SQL Database per dev: tutte le novità da non perdere
Utilizzare le direttive più importanti in una file based app .NET
.NET Aspire vs Dapr: differenze, sovrapposizioni e integrazione
Utilizzare ExecuteUpdate per aggiornare colonne JSON in Entity Framework
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- Le DirectInk API nella Universal Windows Platform
- Gli oggetti CallOut di Expression Blend 4.0
- Esaminare documenti con namespace con LINQ e XDocument
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE


