CLI · BefehleIssues

Issues

Mit den Items Ihres Space oder den GitHub-Issues eines Repositorys im Terminal arbeiten.

eqs issue ist gh issue für eQuantic Space, mit denselben Unterbefehlen und Flags. Ohne Flag arbeitet es mit den Items Ihres Space. Mit --gh arbeitet es mit den Issues eines GitHub-Repositorys, über die GitHub-Verbindung Ihres Workspace, sodass Ihr Rechner kein GitHub-Token braucht.

Zwei Modi

Ohne FlagMit --gh
Arbeitet mitDen Items eines SpaceDen Issues eines GitHub-Repositorys
Angesprochen überEinen Bezeichner, TASK-42, in beliebiger SchreibweiseEine Nummer, 42 oder #42, oder die URL der Issue
Wo--space <slug> oder der aktive Space (eqs spaces use)-R, --repo [github.com/]<owner>/<name> oder das GitHub-Remote dieses Klons, origin zuerst
Berechtigungenitem.*issue.read, issue.write, issue.delete
Die URL einer Issue funktioniert auch ohne --gh: eqs issue view https://github.com/octo/app/issues/42 liest sie von GitHub.

Befehle

eqs issue list

Listet die offenen Items eines Space, angeheftete zuerst, oder die offenen Issues eines Repositorys. Auch ls.

-s, --state <state>open (Standard), closed oder all
-a, --assignee <who>Zugewiesen an @me, eine E-Mail-Adresse, eine ID oder einen GitHub-Login
-l, --label <name>Mit all diesen Labels
--type <type>Von diesem Typ
-S, --search <words>Mit diesen Wörtern (auf GitHub in dessen Suchsyntax)
--mention <who>Die @me, ein Mitglied oder einen Login erwähnen
-L, --limit <n>Wie viele (Standard 30)
-w, --webÖffnet die Liste stattdessen im Browser
--space <slug>, --list <name>eQuantic: der Space, und nur diese Liste
-A, --author <login>, --app <slug>GitHub: geöffnet von diesem Login oder von dieser GitHub App
-m, --milestone <title>GitHub: in diesem Milestone
shell
eqs issue ls -a @me -l api,ui
eqs issue view <ref>

Zeigt ein Item oder eine Issue: Typ, Phase oder Status, Sperre, Anheftung, Zuständige, Labels und Beschreibung, und womit es zusammenhängt: das übergeordnete Item, Unter-Items oder Sub-Issues, wodurch es blockiert wird und was es blockiert.

-c, --commentsMit den Kommentaren
-w, --webÖffnet es stattdessen im Browser: Ein Item öffnet sich unter /w/<workspace>/items/<identifier>, in seiner Liste, wo immer es liegt. Ist der Browser in einem anderen Workspace, bietet die Plattform zuerst den Wechsel an
shell
eqs issue view 650 --gh -c
eqs issue create

Legt ein Item an, vom Typ Aufgabe, in der einzigen Liste des Space und in deren erster Phase, sofern nicht anders angegeben, oder eine Issue. Auch new.

-t, --title <title>Der Titel (im Terminal abgefragt)
-b, --body <text>, -F, --body-file <path>Die Beschreibung, oder eine Datei damit (- liest die Standardeingabe)
-e, --editorTitel (erste Zeile) und Beschreibung im Editor schreiben
-a, --assignee <who>, -l, --label <name>, --type <type>Zuständige, Labels und Typ
--parent <ref>Das Item oder die Issue, unter dem es steht
--blocked-by <refs>, --blocking <refs>Wodurch es blockiert wird, und was es blockiert
--space <slug>, --list <name>, --priority <p>, --due <YYYY-MM-DD>eQuantic: Space, Liste, Priorität und Fälligkeitstag
-m, --milestone <title>GitHub: der Milestone
-w, --webÖffnet den Browser, um es dort anzulegen
shell
eqs issue new --gh -t "Flaky test" -l bug --parent 652
eqs issue edit <refs...>

Bearbeitet ein oder mehrere Items auf einmal, oder mehrere Issues eines Repositorys.

-t, --title <title>, -b, --body <text>, -F, --body-file <path>Ein neuer Titel oder eine neue Beschreibung
--add-assignee, --remove-assignee <who>Zuweisen oder Zuweisung entfernen
--add-label, --remove-label <name>Labels hinzufügen oder entfernen
--type <type>Ein anderer Typ: Das Item behält seinen Bezeichner
--parent <ref>, --remove-parentUnter ein anderes verschieben, oder unter dem übergeordneten herausnehmen
--add-sub-issue, --remove-sub-issue <refs>Diese darunter verschieben, oder herausnehmen
--add-blocked-by, --remove-blocked-by <refs>Diese blockieren es, oder nicht mehr
--add-blocking, --remove-blocking <refs>Es blockiert diese, oder nicht mehr
--stage <name>, --priority <p>, --due <YYYY-MM-DD>eQuantic: eine Phase seiner Liste, die Priorität, der Fälligkeitstag (none leert die letzten beiden)
-m, --milestone <title>, --remove-milestone, --remove-typeGitHub: den Milestone setzen, oder Milestone oder Typ entfernen
shell
eqs issue edit TASK-41 TASK-42 --add-label api
eqs issue close <ref>

Schließt ein Item, in die Erledigt-Phase seiner Liste, oder eine Issue, mit einem Grund. Was bereits geschlossen ist, bleibt, wie es ist.

-r, --reason <reason>completed (Standard), "not planned" oder duplicate
--duplicate-of <ref>Als Duplikat von diesem schließen
-c, --comment <text>Vorher diesen Kommentar hinterlassen
shell
eqs issue close TASK-42 --duplicate-of TASK-41
eqs issue reopen <ref>

Öffnet ein Item wieder, zurück in die erste offene Phase seiner Liste, oder eine Issue. Was bereits offen ist, bleibt, wie es ist.

-c, --comment <text>Vorher diesen Kommentar hinterlassen
shell
eqs issue reopen 42 --gh
eqs issue delete <ref>

Löscht ein Item, mit allem darunter, oder eine Issue, nachdem Sie den Bezeichner oder die Nummer eingetippt haben.

--yesÜberspringt die Bestätigung
shell
eqs issue delete TASK-42
eqs issue comment <ref>

Kommentiert ein Item oder eine Issue, oder bearbeitet oder löscht Ihren letzten Kommentar dort.

-b, --body <text>, -F, --body-file <path>, -e, --editorDer Kommentar, über die Kommandozeile, aus einer Datei oder im Editor
--edit-lastErsetzt den Text Ihres letzten Kommentars. Mit --create-if-none wird kommentiert, wenn es noch keinen gibt
--delete-lastLöscht Ihren letzten Kommentar. --yes überspringt die Bestätigung
-w, --webÖffnet es im Browser, um dort zu kommentieren
shell
eqs issue comment TASK-42 --edit-last -b "On it, tomorrow"
eqs issue status

Ihre offenen Items, oder Ihre offenen Issues in einem Repository: Ihnen zugewiesen, Sie erwähnend, von Ihnen geöffnet.

shell
eqs issue status --gh
eqs issue transfer <ref> <destination>

Verschiebt ein Item, mit seinen Unter-Items, in eine andere Liste (<space>/<list>), oder eine Issue in ein anderes Repository desselben Owners (<owner>/<name>). Ein Item, das in einen anderen Space wechselt, lässt seine Labels zurück.

shell
eqs issue transfer TASK-42 platform/Backlog
eqs issue lock <ref>

Sperrt die Unterhaltung: Danach kommentiert nur noch, wer es bearbeiten darf. eqs issue unlock <ref> entsperrt sie.

-r, --reason <reason>off_topic, resolved, spam oder too_heated
shell
eqs issue lock TASK-42 -r resolved
eqs issue pin <ref>

Heftet ein Item oben in seinem Space an, zuerst in jeder Ansicht seiner Liste, oder eine Issue an ihr Repository. Höchstens drei je, wie auf GitHub. eqs issue unpin <ref> löst es wieder.

shell
eqs issue pin TASK-42
eqs issue develop <ref>

Erstellt einen Branch für ein Item, in einem verbundenen Repository, oder für eine Issue, auf GitHub mit ihr verknüpft. Mit --list stattdessen seine Branches.

-n, --name <branch>Sein Name (Standard: Bezeichner oder Nummer, dann der Titel)
-b, --base <branch>Wovon er abzweigt (Standard: der Standard-Branch des Repositorys)
-c, --checkoutHolt ihn und checkt ihn in diesem Klon aus
--worktree <path>Checkt ihn stattdessen in einem neuen Worktree unter diesem Pfad aus
-l, --listListet die Branches, und ob jeder noch existiert
--branch-repo <owner/name>Das Repository für den Branch (GitHub: ein Fork)
shell
eqs issue develop TASK-42 -c
Jeder Unterbefehl nimmt außerdem --gh, -R, --repo und --json [fields], das die rohe Antwort ausgibt, oder nur die genannten Felder, durch Kommas getrennt. Ein Feld, das die Antwort nicht hat, wird abgelehnt, bevor etwas geschieht, mit der Liste der vorhandenen. Optionen mit mehreren Werten nehmen sie wiederholt oder durch Kommas getrennt.

Berechtigungen

Jeder Unterbefehl braucht die Aktion unten.

UnterbefehlOhne FlagMit --gh
list, view, statusitem.readissue.read
createitem.create (item.update für seine Beziehungen)issue.write
edit, close, reopen, lock, unlock, pin, unpinitem.updateissue.write
transferitem.update (und item.create in einem anderen Space)issue.write
commentitem.comment (item.update bei einem gesperrten Item)issue.write
deleteitem.deleteissue.delete
developitem.update und scm.write (item.read für --list)issue.write (issue.read für --list)

Von den eingebauten Rollen liest und kommentiert Reader: Sie hat item.read, item.comment und issue.read. Contributor legt außerdem an und ändert: alle item.*-Aktionen, dazu issue.read und issue.write. Nur Owner hat issue.delete.

Ein Item kann auf eines in einem anderen Space verweisen: das, das es dupliziert, was es blockiert, was es selbst blockiert. Sie erfahren davon nur, wenn Sie die Items in dessen Space lesen dürfen. Andernfalls lässt view es weg, und close --duplicate-of antwortet, dass es dieses Item nicht gibt.

Auf GitHub

Die Arbeit erledigt die GitHub-Verbindung Ihres Workspace, daher zeigt GitHub die App der Verbindung als Autor dessen, was Sie anlegen und kommentieren, und eQuantic Space protokolliert, wer es veranlasst hat. @me ist Ihr GitHub-Login, den es kennt, wenn Sie sich mit GitHub angemeldet haben. Andernfalls schreiben Sie stattdessen Ihren Login. status --gh braucht diese Anmeldung.

Wenn GitHub ablehnt, sagt das CLI warum: Die Ablehnung nennt die Berechtigung, die der App fehlt, und ein Rate-Limit sagt, wann es zurückgesetzt wird.

Die neuen Berechtigungen der App akzeptieren

--gh braucht zwei Berechtigungen, die die GitHub App bisher nicht angefordert hat: Issues und Contents, beide Lesen und Schreiben (Contents, um einen Branch zu erstellen). Solange eine Installation sie nicht akzeptiert, behält GitHub dort die alten Berechtigungen der App und lehnt diese Schreibzugriffe ab, und das CLI nennt die fehlende Berechtigung.

1
Nur bei Ihrer eigenen App: hinzufügen
Die App, die eQuantic Space bereitstellt, fordert sie bereits an. Ein Workspace mit eigener App fügt sie unter Settings → Developer settings → GitHub Apps → Edit → Permissions & events hinzu: Unter Repository permissions Issues und Contents auf Read and write setzen, dann Save changes.
2
Jede Installation akzeptiert sie
GitHub schickt den Ownern jedes Kontos, auf dem die App installiert ist, eine E-Mail. Bei einem persönlichen Konto öffnen Sie Settings → Applications → Installed GitHub Apps → Configure. Bei einer Organisation öffnen Sie Settings → Third-party Access → GitHub Apps → Configure. Prüfen Sie dort die angeforderten Berechtigungen und akzeptieren Sie sie.
eqs issue delete --gh lässt sich nicht rückgängig machen: GitHub löscht die Issue endgültig. Deshalb hat nur der Owner issue.delete, und das CLI lässt Sie vorher die Nummer der Issue eintippen.