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
Integrare un servizio esterno con .NET Aspire
Testare il failover sulle region in Azure Storage
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Gestire il routing HTTP in Azure Container App
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Integrare modelli AI in un workflow di GitHub
Gestione file Javascript in Blazor con .NET 9
Ridurre il reflow ottimizzando il CSS
Generare una User Delegation SAS in .NET per Azure Blob Storage
Utilizzo delle stepped value functions nel CSS
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS


