Discourse Jira

|||
-|-|-|
:discourse: | Resumo | O Discourse Jira sincroniza projetos, tipos de issue, campos, status de issue e gerencia as issues.
:hammer_and_wrench: | Link do Repositório | https://github.com/discourse/discourse-jira
:open_book: | Guia de Instalação | Como instalar plugins no Discourse

Funcionalidades

  • Projetos, tipos de issue, campos e opções de campo do Jira serão sincronizados automaticamente.
  • Crie uma nova issue do Jira para um post do Discourse com o formulário dinâmico de criação de issue.
  • Anexe uma issue existente do Jira a um post do Discourse.
  • Sincronize o status da issue do Jira usando webhooks.

Capturas de Tela

Menu do Post

Configuração

Defina os valores para as configurações do site abaixo antes de habilitar o plugin.

  • discourse_jira_url: Coloque a URL da sua instância Jira. Deve terminar com o símbolo /.
  • discourse_jira_username: O nome de usuário do usuário em nome de quem as issues serão criadas.
  • discourse_jira_password: A chave de API atribuída ao usuário que cria as issues. Uma senha pode funcionar, mas é insegura e a API foi descontinuada pela Atlassian.
  • discourse_jira_enabled: Habilite o plugin Jira para Discourse.
  • discourse_jira_allowed_groups: Selecione os grupos que terão acesso aos recursos do plugin Jira. O padrão é admin e mods.

Webhook

Defina um token secreto para verificar os webhooks recebidos do Jira.

  • discourse_jira_webhook_token: Este token deve ser passado no parâmetro de consulta ‘t’ do webhook.

Por exemplo, dado que o token do webhook é supersecret, e sua URL base do Discourse é discourse.example.com, você configuraria a URL do webhook como https://discourse.example.com/jira/issues/webhook?t=supersecret nas configurações de webhook para sua instância Jira.

Para apenas verificar se o webhook é acionado e se o corpo emitido está correto, você pode optar por usar sites externos como RequestBin ou Webhook.site para configurar URLs de webhook temporárias.

Depuração

discourse_jira_verbose_log: Habilite esta configuração para registrar os payloads dos webhooks recebidos e das requisições de API de saída.

\u003e:discourse2: Hospedado por nós? Este plugin está disponível em nosso plano Enterprise.

10 curtidas

@vinothkannans, notamos que nossos usuários não conseguem ver o status desses tickets, apenas os administradores conseguem vê-los. Algo pode ser feito para tornar o “status” mais visível para os usuários?

Uma opção poderia ser, é claro, tornar esse bloco de citação visível, ou também seria bom se você pudesse mapear os status do Jira para tags, e que a tag do tópico fosse atualizada para refletir o progresso do ticket (backlog, #em-progresso, #completo, etc.).

Para complementar o Jordan, tenho algumas ideias adicionais para melhorar este plugin.

  1. Capacidade de desanexar um ticket JIRA. Não vejo uma opção para desanexar ou excluir um ticket JIRA que vinculei a uma postagem.
  2. Escolher quais grupos podem ver os tickets JIRA anexados. No momento, parece que apenas os administradores do site podem vê-los, mas gostaríamos da opção de selecionar um ou mais grupos adicionais que possam vê-los.
  3. Níveis de visibilidade. Capacidade de especificar qual(is) parte(s) do ticket aparecerá(ão) para não administradores. Por exemplo, talvez queiramos que todos os grupos vejam o número e o status do ticket, mas não o título do ticket, que pode conter informações confidenciais. Em seguida, podemos especificar grupos confiáveis que podem ver o título do ticket.
2 curtidas

Suas sugestões realmente aprimorariam a experiência com este plugin.

Precisamos realmente que o conteúdo possa ser revelado para um grupo especificado (que não sejam administradores).

Existe uma versão do OpenProject para isso? Seria ótimo tê-la, já que usamos o OpenProject para gerenciar nossas tarefas.

@jordan-violet @colin.mckibben estas são boas sugestões para tornar o plugin mais útil. Terei isso em mente quando trabalhar nele da próxima vez.

1 curtida

Olá, tenho uma pergunta sobre a configuração do plugin. Tenho recebido erros 500 ao criar/anexar issues, então acho que minhas configurações não estão totalmente corretas. O que fiz de errado?

Primeiro, copiei e colei onde normalmente acesso minha instância Jira no campo discourse jira url, embora não tenha certeza absoluta sobre a URL, pois ela muda dependendo da visualização Jira selecionada.

Primeiro, defini um discourse jira username aleatório, com a discourse jira password copiada e colada de um token de API gerado pela Atlassian.



Em seguida, adicionei um Webhook do Jira e defini a URL do webhook do Jira para a URL da minha instância Discourse mais /jira/issues/webhook?t=

Em seguida, defini o segredo do Webhook e copiei e colei esse segredo de volta no campo de configuração do plugin discourse jira webhook token.

Alguma ideia? Ajuda muito apreciada! Obrigado.

Alguém pode compartilhar as configurações de plugin que funcionam no Discourse (sem a senha/token, é claro) para que eu possa ver como você fez funcionar? Obrigado!

Copiei o token do webhook de volta para a URL na configuração do webhook do Jira, então ele diz https://example.com/jira/issues/webhook?t=abcdefghijk, e também o seu discourse_jira_url deve ser https://modernsquared.atlassian.net/ sem o caminho.

@vinothkannans Tenho outra pergunta: é possível alterar qual issue está anexada a um tópico após anexar, ou simplesmente remover/excluir o anexo? Se não, você pensou em implementar isso?

Obrigado @mikael.gundhus, consegui conectar o plugin ao Jira.

Mas encontrei uma estranheza. Não tenho certeza se sou o único a encontrar este problema, mas o botão Criar e Anexar Issues parece estar invertido? Quando clico no botão Criar Issue, o plugin me leva para a tela de anexar issue:

E quando clico no botão Anexar Issue, o plugin me leva para a tela de criar issue: MS-155 é uma issue existente no Jira. Se eu digitar uma nova issue, digamos, MS-200, que não existe no Jira, ele me diz Ocorreu um erro: Você não tem permissão para visualizar o recurso solicitado.

@mikael.gundhus sim, deve haver uma opção para remover o anexo existente. @ckshen parece que há títulos incorretos nas janelas modais. Trabalharemos nisso na próxima iteração.

Há planos para tornar isso acessível a usuários que não são administradores/moderadores? Temos equipes internas que estão procurando migrar suas operações para o Discourse e, como está, a única maneira de elas usarem a ferramenta JIra é dando-lhes privilégios de moderação em todo o site.

4 curtidas

Acabei de atualizar este plugin com permissões de grupo! Ele tem como padrão e deve sempre incluir Administradores, mas com esta atualização os usuários agora podem criar tickets do Jira sem precisar ser nível de Administrador. Aproveite!

5 curtidas

Olá Pessoal,

Alguém conseguiu fazer este plugin funcionar com Jira Server ou Datacenter?

Não estou vendo nenhuma opção de anexo e estou vendo um erro nos logs.

Job exception: DiscourseJira::InvalidURI

Até agora, construímos este plugin apenas usando APIs para Jira Cloud. Portanto, você pode não ter sucesso com o Jira DC.

Documentação REST do Jira Cloud: https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-createmeta-get
Documentação REST do Jira DC/Server: https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples

1 curtida

Obrigado Natalie, depois de adicionar nosso host aos hosts internos permitidos em Segurança, conseguimos vincular e criar issues. Isso provavelmente é útil para quem usa uma instância interna do Jira. Ainda estou trabalhando na sincronização de comentários, mas acredito que seja um problema de configuração.

2 curtidas

Este recurso funciona com projetos do Jira Service Management também?

Parece haver uma incompatibilidade entre jira e reactions

1 curtida