Gerenciadores de tickets
Transforme uma sessão em ticket enquanto assiste: um botão no player, sua própria descrição e o link de reprodução já incluído.
1. Por que esta integração é manual
Todas as outras pontes disparam sozinhas. Esta não, e é uma escolha deliberada.
Um ticket é trabalho para alguém. Se abríssemos um por clique de raiva, seu quadro ficaria cheio de itens sem triagem e, em uma semana, a equipe os filtraria, inclusive os problemas reais.
Por isso você é o acionador. Assiste à sessão, vê o problema, aperta o botão e descreve o observado. O link já está na descrição; você fornece o julgamento.
O botão só aparece para proprietários e administradores, nunca em links compartilhados. Quem recebe uma gravação não deve poder abrir tickets no seu sistema.
2. Os cinco gerenciadores e o que precisam
| Onde chega | Você fornece | |
|---|---|---|
| Jira | uma ocorrência em um projeto | URL do site, e-mail da conta, token API, chave do projeto e tipo de ocorrência |
| Linear | uma ocorrência em uma equipe | chave API e ID da equipe |
| Asana | uma tarefa em um projeto | token de acesso pessoal e ID do projeto |
| Trello | um cartão em uma lista | chave, token e ID da lista |
| GitHub | uma ocorrência em um repositório | token de acesso pessoal e proprietário/repositório |
Um bloco, um provedor selecionado por vez. Adicionar outro depois é mudar a seleção, não migrar.
Onde encontrar os identificadores
O ID da equipe Linear e o do projeto Asana aparecem na URL quando abertos no navegador. O ID da lista Trello é o mais difícil: acrescente .json à URL do quadro e procure a lista. A chave do projeto Jira é o prefixo de cada número de ocorrência: ACME em ACME-1234.
3. O link do ticket é criado pelo nosso servidor
A descrição é sua. O link é montado do nosso lado a partir da sessão que você estava assistindo e não pode ser alterado pelo formulário.
Isso importa porque outras pessoas clicam nos tickets. Se o link viesse do navegador, uma solicitação manipulada poderia apresentar qualquer endereço à equipe dentro de algo que parece da sua própria ferramenta.
HTTP 200 não significa que o ticket exista
O Linear responde via GraphQL, que devolve 200 OK com um array errors quando rejeita. Uma ponte que olha só o status informaria sucesso para um ticket nunca criado. Lemos o corpo.
Quando o gerenciador retorna o ID da ocorrência, mostramos na confirmação para você verificar que ela existe, em vez de confiar em uma mensagem verde.
4. O que fica de fora de propósito
Sem tickets automáticos
Veja acima. Para automatizar, a ponte webhook pode enviar sinais de frustração ao Zapier ou Make; você decide lá o que merece um ticket.
Sem sincronização bidirecional
Fechar o ticket não muda nada no MousePlayer e nada nele reabre o ticket. Uma sincronização parcial é pior que nenhuma, porque as pessoas começam a depender dela.
Sem anexos
A gravação permanece e é assistida no MousePlayer. Exportar vídeo para um gerenciador levaria dados pessoais a um sistema com retenção diferente da acordada com os visitantes.
O token fica criptografado com AES-256-GCM e nunca é mostrado de novo. Também não entra na fila interna: esta chamada ocorre enquanto você espera, diretamente da solicitação.
5. GitLab, Azure DevOps e ClickUp
Mais três gerenciadores, mesmo botão e acionamento manual.
| Você fornece | |
|---|---|
| GitLab | host, ID do projeto e token; sua própria instância GitLab também funciona |
| Azure DevOps | organização, projeto, tipo de item de trabalho e PAT |
| ClickUp | ID da lista e token pessoal |
O GitLab pede um host porque pode ser seu
Diferente dos demais, GitLab costuma ser auto-hospedado; por isso o host é um campo, não uma constante. Cole gitlab.com se sua instância estiver lá.
O Azure DevOps tem duas particularidades
O corpo é um documento JSON Patch, não um objeto, e o tipo de conteúdo precisa ser application/json-patch+json - qualquer outro retorna 415. O dólar antes do tipo de item de trabalho na URL faz parte do endereço, não é um marcador esquecido.
O ClickUp exige o token sem prefixo
Sem Bearer antes dele. Um token com essa palavra retorna 401, exatamente como um token inválido.
Todas as marcas mencionadas pertencem aos respectivos proprietários. O MousePlayer não mantém relação comercial com esses fornecedores.