Issues
Travaillez avec les éléments de votre space, ou les issues GitHub d'un dépôt, depuis le terminal.
eqs issue est le gh issue d'eQuantic Space, avec les mêmes sous-commandes et options. Sans option, il travaille sur les éléments de votre space. Avec --gh, il travaille sur les issues d'un dépôt GitHub, via la connexion GitHub de votre workspace : votre machine n'a besoin d'aucun jeton GitHub.
Deux modes
| Sans option | Avec --gh | |
|---|---|---|
| Porte sur | Les éléments d'un space | Les issues d'un dépôt GitHub |
| Désigné par | Un identifiant, TASK-42, en majuscules ou en minuscules | Un numéro, 42 ou #42, ou l'URL de l'issue |
| Où | --space <slug>, ou le space actif (eqs spaces use) | -R, --repo [github.com/]<owner>/<name>, ou le remote GitHub de ce clone, origin d'abord |
| Permissions | item.* | issue.read, issue.write, issue.delete |
--gh : eqs issue view https://github.com/octo/app/issues/42 la lit sur GitHub.Commandes
Liste les éléments ouverts d'un space, les épinglés d'abord, ou les issues ouvertes d'un dépôt. Aussi ls.
open (par défaut), closed ou all@me, un e-mail, un id ou un login GitHub@me, un membre ou un logineqs issue ls -a @me -l api,ui
Affiche un élément ou une issue : son type, son étape ou son état, son verrou, son épinglage, ses assignés, ses labels et sa description, et ce à quoi il est lié : son parent, ses sous-éléments ou sous-issues, ce qui le bloque et ce qu'il bloque.
/w/<workspace>/items/<identifier>, dans sa liste, où qu'il soit. Si le navigateur est dans un autre workspace, la plateforme propose d'abord d'en changereqs issue view 650 --gh -c
Crée un élément, de type tâche, dans l'unique liste du space et dans la première étape de cette liste sauf indication contraire, ou une issue. Aussi new.
- lit l'entrée standard)eqs issue new --gh -t "Flaky test" -l bug --parent 652
Modifie un ou plusieurs éléments à la fois, ou plusieurs issues d'un dépôt.
none efface les deux derniers)eqs issue edit TASK-41 TASK-42 --add-label api
Ferme un élément, dans l'étape terminée de sa liste, ou une issue, avec un motif. Ce qui est déjà fermé reste tel quel.
completed (par défaut), "not planned" ou duplicateeqs issue close TASK-42 --duplicate-of TASK-41
Rouvre un élément, dans la première étape à faire de sa liste, ou une issue. Ce qui est déjà ouvert reste tel quel.
eqs issue reopen 42 --gh
Supprime un élément, avec tout ce qui se trouve sous lui, ou une issue, une fois que vous avez tapé son identifiant ou son numéro.
eqs issue delete TASK-42Commente un élément ou une issue, ou modifie ou supprime votre dernier commentaire.
--create-if-none, commente si vous n'en avez aucun--yes passe la confirmationeqs issue comment TASK-42 --edit-last -b "On it, tomorrow"
Vos éléments ouverts, ou vos issues ouvertes dans un dépôt : qui vous sont assignés, qui vous mentionnent, que vous avez ouverts.
eqs issue status --gh
Déplace un élément, avec ses sous-éléments, vers une autre liste (<space>/<list>), ou une issue vers un autre dépôt du même propriétaire (<owner>/<name>). Un élément qui passe dans un autre space y perd ses labels.
eqs issue transfer TASK-42 platform/BacklogVerrouille la conversation : dès lors, seuls ceux qui peuvent le modifier commentent. eqs issue unlock <ref> la déverrouille.
off_topic, resolved, spam ou too_heatedeqs issue lock TASK-42 -r resolved
Épingle un élément en haut de son space, en tête de toutes les vues de sa liste, ou une issue dans son dépôt. Trois au plus de chaque, comme sur GitHub. eqs issue unpin <ref> le désépingle.
eqs issue pin TASK-42Crée une branche pour un élément, dans un dépôt connecté, ou pour une issue, liée à elle sur GitHub. Avec --list, liste ses branches.
eqs issue develop TASK-42 -c
--gh, -R, --repo et --json [fields], qui affiche la réponse brute, ou seulement les champs nommés, séparés par des virgules. Un champ que la réponse n'a pas est refusé avant toute action, avec la liste de ceux qu'elle a. Les options qui prennent plusieurs valeurs les acceptent répétées ou séparées par des virgules.Permissions
Chaque sous-commande demande l'action ci-dessous.
| Sous-commande | Sans option | Avec --gh |
|---|---|---|
list, view, status | item.read | issue.read |
create | item.create (item.update pour ses relations) | issue.write |
edit, close, reopen, lock, unlock, pin, unpin | item.update | issue.write |
transfer | item.update (et item.create dans un autre space) | issue.write |
comment | item.comment (item.update sur un élément verrouillé) | issue.write |
delete | item.delete | issue.delete |
develop | item.update et scm.write (item.read pour --list) | issue.write (issue.read pour --list) |
Parmi les rôles intégrés, Reader lit et commente : il a item.read, item.comment et issue.read. Contributor crée et modifie aussi : toutes les actions item.*, plus issue.read et issue.write. Seul Owner a issue.delete.
Un élément peut en désigner un autre dans un autre space : celui qu'il duplique, ce qui le bloque, ce qu'il bloque. Vous n'en êtes informé que si vous pouvez lire les éléments de son space. Sinon, view l'omet, et close --duplicate-of répond que cet élément n'existe pas.
Sur GitHub
C'est la connexion GitHub de votre workspace qui fait le travail : GitHub affiche donc l'App de la connexion comme auteur de ce que vous créez et commentez, et eQuantic Space enregistre qui l'a demandé. @me est votre login GitHub, qu'il connaît si vous vous êtes connecté avec GitHub. Sinon, écrivez votre login à la place. status --gh demande cette connexion.
Quand GitHub refuse, le CLI dit pourquoi : le refus nomme la permission qui manque à l'App, et une limite de débit indique quand elle se réinitialise.
Accepter les nouvelles permissions de l'App
--gh demande deux permissions que la GitHub App ne demandait pas avant : Issues et Contents, toutes deux en lecture et écriture (Contents pour créer une branche). Tant qu'une installation ne les a pas acceptées, GitHub y garde les anciennes permissions de l'App et refuse ces écritures, et le CLI nomme la permission manquante.
eqs issue delete --gh est irréversible : GitHub supprime l'issue pour de bon. C'est pourquoi seuls les owners ont issue.delete, et le CLI vous demande d'abord de taper le numéro de l'issue.