Issues
Trabalhe com os itens do seu space, ou com as issues de um repositório no GitHub, a partir do terminal.
eqs issue é o gh issue do eQuantic Space, com os mesmos subcomandos e flags. Sem flag, trabalha com os itens do seu space. Com --gh, trabalha com as issues de um repositório no GitHub, através da ligação ao GitHub do seu workspace, pelo que a sua máquina não precisa de um token do GitHub.
Dois modos
| Sem flag | Com --gh | |
|---|---|---|
| Trabalha com | Os itens de um space | As issues de um repositório no GitHub |
| Endereçado por | Um identificador, TASK-42, em maiúsculas ou minúsculas | Um número, 42 ou #42, ou o URL da issue |
| Onde | --space <slug>, ou o space ativo (eqs spaces use) | -R, --repo [github.com/]<owner>/<name>, ou o remote do GitHub deste clone, origin primeiro |
| Permissões | item.* | issue.read, issue.write, issue.delete |
--gh: eqs issue view https://github.com/octo/app/issues/42 lê a issue no GitHub.Comandos
Lista os itens abertos de um space, os afixados primeiro, ou as issues abertas de um repositório. Também ls.
open (predefinição), closed ou all@me, um e-mail, um id ou um login do GitHub@me, um membro ou um logineqs issue ls -a @me -l api,ui
Mostra um item ou uma issue: o tipo, a fase ou o estado, o bloqueio, a afixação, os responsáveis, as labels e a descrição, e aquilo com que se relaciona: o pai, os subitens ou sub-issues, o que o bloqueia e o que ele bloqueia.
/w/<workspace>/items/<identifier>, na lista onde estiver. Se o navegador estiver noutro workspace, a plataforma propõe a troca primeiroeqs issue view 650 --gh -c
Cria um item, do tipo tarefa, na única lista do space e na primeira fase dela salvo indicação em contrário, ou uma issue. Também new.
- lê a entrada padrão)eqs issue new --gh -t "Flaky test" -l bug --parent 652
Edita um ou mais itens de uma vez, ou várias issues de um repositório.
none limpa os dois últimos)eqs issue edit TASK-41 TASK-42 --add-label api
Fecha um item, na fase de concluído da lista, ou uma issue, com um motivo. O que já está fechado fica como está.
completed (predefinição), "not planned" ou duplicateeqs issue close TASK-42 --duplicate-of TASK-41
Reabre um item, de volta à primeira fase por fazer da lista, ou uma issue. O que já está aberto fica como está.
eqs issue reopen 42 --gh
Elimina um item, com tudo o que está debaixo dele, ou uma issue, depois de escrever o identificador ou o número.
eqs issue delete TASK-42Comenta um item ou uma issue, ou edita ou elimina o seu último comentário lá.
--create-if-none, comenta quando não tem nenhum--yes salta a confirmaçãoeqs issue comment TASK-42 --edit-last -b "On it, tomorrow"
Os seus itens abertos, ou as suas issues abertas num repositório: atribuídos a si, que o mencionam, abertos por si.
eqs issue status --gh
Move um item, com os subitens, para outra lista (<space>/<list>), ou uma issue para outro repositório do mesmo dono (<owner>/<name>). Um item que passa para outro space deixa as labels para trás.
eqs issue transfer TASK-42 platform/BacklogBloqueia a conversa: a partir daí só comenta quem o pode editar. eqs issue unlock <ref> desbloqueia-a.
off_topic, resolved, spam ou too_heatedeqs issue lock TASK-42 -r resolved
Afixa um item no topo do space, primeiro em todas as vistas da lista, ou uma issue no repositório. Três no máximo de cada, como no GitHub. eqs issue unpin <ref> retira-o.
eqs issue pin TASK-42Cria um branch para um item, num repositório ligado, ou para uma issue, associado a ela no GitHub. Com --list, lista os branches.
eqs issue develop TASK-42 -c
--gh, -R, --repo e --json [fields], que imprime a resposta em bruto, ou só os campos indicados, separados por vírgulas. Um campo que a resposta não tem é recusado antes de qualquer ação, com a lista dos que ela tem. As opções que levam vários valores aceitam-nos repetidos ou separados por vírgulas.Permissões
Cada subcomando precisa da ação abaixo.
| Subcomando | Sem flag | Com --gh |
|---|---|---|
list, view, status | item.read | issue.read |
create | item.create (item.update para as relações) | issue.write |
edit, close, reopen, lock, unlock, pin, unpin | item.update | issue.write |
transfer | item.update (e item.create noutro space) | issue.write |
comment | item.comment (item.update num item bloqueado) | issue.write |
delete | item.delete | issue.delete |
develop | item.update e scm.write (item.read para --list) | issue.write (issue.read para --list) |
Dos papéis predefinidos, Reader lê e comenta: tem item.read, item.comment e issue.read. Contributor também cria e altera: todas as ações item.*, mais issue.read e issue.write. Só Owner tem issue.delete.
Um item pode apontar para outro de outro space: o que duplica, o que o bloqueia, o que ele bloqueia. Só fica a saber desse outro quando pode ler os itens do space dele. Caso contrário, view deixa-o de fora, e close --duplicate-of responde que esse item não existe.
No GitHub
Quem faz o trabalho é a ligação ao GitHub do seu workspace, pelo que o GitHub mostra o App da ligação como autor do que cria e comenta, e o eQuantic Space regista quem pediu. @me é o seu login do GitHub, que ele conhece quando entrou com o GitHub. Caso contrário, escreva o seu login em vez disso. status --gh precisa dessa entrada.
Quando o GitHub recusa, o CLI diz porquê: a recusa indica a permissão que falta ao App, e um limite de pedidos diz quando é reposto.
Aceitar as novas permissões do App
--gh precisa de duas permissões que o GitHub App não pedia antes: Issues e Contents, ambas de leitura e escrita (Contents para criar um branch). Enquanto uma instalação não as aceitar, o GitHub mantém lá as permissões antigas do App e recusa essas escritas, e o CLI indica a permissão em falta.
eqs issue delete --gh não tem retorno: o GitHub apaga a issue de vez. Por isso só os owners têm issue.delete, e o CLI pede-lhe que escreva o número da issue antes.