Nello script precedente abbiamo visto come sia facile utilizzare la CLI di GitHub per filtrare le issue presenti all'interno di un repository di GitHub. Mentre in quel caso abbiamo filtrato le issue a monte sfruttando il valore di una property ben definita come il titolo, tramite JQ, vediamo oggi come sia possibile filtrare ulteriormente utilizzando delle query specifiche.
Esattamente come avviene direttamente nel portale di GitHub nella barra di ricerca, anche tramite la CLI è possibile eseguire query sfruttando dei token:
gh issue list --search "is:open author:@me" --repo <org>/<repo>
L'esempio qui sopra, infatti, va a ricercare tutte le issue che sono attualmente aperte e il cui autore siamo noi stessi. Oppure, possiamo avere una query tipo questa:
gh issue list --search "state:open type:issue label:"bug" involves:matteo" --repo <org>/<repo>
In questo caso recuperiamo le issue aperte, con la label "bug" impostate e in cui l'utente "Matteo" ha partecipato (esempio tramite un commento o una mention).
Questi e molti altri scenari possono essere visibili nella documentazione qui: https://docs.github.com/en/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests.
Possono anche andare in combinata con gli esempi visti precedentemente, perché la CLI è in grado di gestire sia la --search che --jq. Se ancora non abbiamo ottenuto ciò che vogliamo, possiamo in alternativa filtrare lato client una volta scaricate tutte le issue.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Rendere le variabili read-only in una pipeline di Azure DevOps
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Simulare Azure Cosmos DB in locale con Docker
Recuperare l'ultima versione di una release di GitHub
Eseguire i worklow di GitHub su runner potenziati
Utilizzare Azure Cosmos DB con i vettori
Creare un webhook in Azure DevOps
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Cancellare una run di un workflow di GitHub