Automações

Jira REST API — issues, projetos e comentários.

Nó JIRA

O nó de workflow JIRA chama a Jira REST API v3 para buscar issues, criar tarefas, atualizar work items e listar projetos. Use-o para abrir bug reports ou feature requests quando clientes reportam problemas no WhatsApp, ou sincronizar status de issues nas suas automações.

Node ID no editor: jira_request
Base URL: https://{{jira_domain}}/rest/api/3/
Auth: Authorization: Basic {{jira_auth}}

O que faz

  • Envia requisições HTTP autenticadas para endpoints da Jira Cloud REST API
  • Suporta GET, POST, PUT, PATCH e DELETE
  • Retorna status HTTP, data de resposta e headers de resposta
  • Inclui templates de operação para busca JQL, criar/atualizar issues e listar/obter projetos

Pré-requisitos

  1. Um site Jira Cloud (ex.: yourcompany.atlassian.net)
  2. Uma conta Atlassian com permissão para criar e editar issues
  3. Um API token de Atlassian API tokens
  4. Chaves de integração em Configurações → Chaves de API:
    • jira_domain — hostname do seu site Jira (ex.: yourcompany.atlassian.net)
    • jira_auth — credenciais codificadas em Base64 (veja abaixo)

Criando o valor jira_auth

A Basic auth do Jira usa o formato email:API_TOKEN, codificado em Base64:

  1. Vá em Atlassian API tokens
  2. Crie um API token e copie-o
  3. Monte a string de credencial: your-email@company.com:YOUR_API_TOKEN
  4. Codifique essa string em Base64
  5. Armazene o resultado Base64 como chave de integração jira_auth

Exemplo no terminal:

echo -n 'agent@company.com:ATATT3xxx...' | base64

O template de header do nó é Authorization: Basic {{jira_auth}} — a variável deve conter somente a string Base64, não a palavra "Basic".

Criando o valor jira_domain

Armazene somente o hostname — sem prefixo https://:

  • Correto: yourcompany.atlassian.net
  • Errado: https://yourcompany.atlassian.net

Como configurar

Passo 1 — Definir credenciais

  1. Abra Configurações → Chaves de API
  2. Em Integration keys, adicione:
    • Name: jira_domainValue: yourcompany.atlassian.net
    • Name: jira_authValue: email:API_TOKEN codificado em Base64

Passo 2 — Adicionar o nó

  1. Abra Automações e edite seu workflow
  2. Na paleta, abra a categoria Communication
  3. Arraste JIRA para o canvas
  4. Conecte após o gatilho ou nós de preparação de dados

Passo 3 — Escolher um template de operação

TemplateMethodEndpointPropósito
Search issues (JQL)GET/search?jql=Encontrar issues que correspondem a uma query JQL
Create issuePOST/issueCriar uma nova task, bug ou story
Update issuePUT/issue/{{issue_key}}Atualizar campos da issue
List projectsGET/projectBuscar projetos acessíveis
Get projectGET/project/{{project_key}}Buscar um projeto por key

Passo 4 — Configurar campos da requisição

CampoObrigatórioDescrição
URL / EndpointSimURL completa da Jira API (domain injetado via {{jira_domain}})
MethodNãoMétodo HTTP (padrão: GET)
Headers (JSON)NãoSobrescrever ou estender headers
Body (JSON)NãoBody da requisição para POST/PUT

Exemplo — criar issue a partir de report WhatsApp (POST):

  • URL: https://{{jira_domain}}/rest/api/3/issue
  • Method: POST
  • Body:
{
  "fields": {
    "project": { "key": "SUP" },
    "summary": "WhatsApp bug report — {{contact.name}}",
    "description": {
      "type": "doc",
      "version": 1,
      "content": [
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Customer: {{contact.name}} ({{contact.phone}})\nMessage: {{trigger.body.message}}"
            }
          ]
        }
      ]
    },
    "issuetype": { "name": "Bug" },
    "priority": { "name": "Medium" }
  }
}

Nota: A Jira REST API v3 usa Atlassian Document Format (ADF) para campos rich text como description. Para texto simples, a estrutura ADF acima envolve um parágrafo plain.

Exemplo — buscar issues abertas (GET):

  • URL: https://{{jira_domain}}/rest/api/3/search?jql=project%20%3D%20SUP%20AND%20status%20%3D%20Open%20ORDER%20BY%20created%20DESC
  • Method: GET

JQL decodificado: project = SUP AND status = Open ORDER BY created DESC

Exemplo — atualizar status da issue (PUT):

  • URL: https://{{jira_domain}}/rest/api/3/issue/{{variables.jira_issue_key}}
  • Method: PUT
  • Body:
{
  "fields": {
    "summary": "Updated — {{contact.name}} bug report"
  }
}

Para transicionar status da issue, use o endpoint de transitions: POST /rest/api/3/issue/{issueKey}/transitions via configuração de URL customizada.

Exemplo — listar projetos (GET):

  • URL: https://{{jira_domain}}/rest/api/3/project
  • Method: GET

Todos os campos suportam variáveis de workflow.

Passo 5 — Usar dados da resposta

O Jira retorna detalhes da issue em data. Referencie em nós posteriores:

Issue key: {{jira_1.data.key}}
Issue ID: {{jira_1.data.id}}
Self URL: {{jira_1.data.self}}

Para resultados de busca, issues ficam em data.issues[]:

First issue key: {{jira_1.data.issues[0].key}}

Armazene {{jira_1.data.key}} em um nó Variable para passos de atualização.

Saídas do nó

Campo de saídaDescrição
statusCódigo de status HTTP
dataBody JSON parseado da resposta
headersHeaders de resposta

Dicas e boas práticas

  • Use project key (ex.: SUP, DEV) no body de create issue — encontre keys via template List projects
  • A Jira v3 API exige formato ADF para description e outros campos rich text — use a estrutura mostrada acima ou summary plain para casos simples
  • Armazene issue keys Jira (ex.: SUP-42) em campos customizados do contato WhatsWave para sincronização bidirecional
  • Configure webhooks Jira para notificar o WhatsWave quando o status da issue mudar
  • Codifique queries JQL em URLs GET de busca (espaços como %20, = como %3D)
  • Use um nó JavaScript para montar e codificar JQL complexo dinamicamente
  • Para transições de issue (ex.: Open → In Progress → Done), chame POST /issue/{key}/transitions com o transition ID
  • Combine com o nó Zendesk se sua equipe usa ambas as plataformas — roteie bugs para Jira e tickets de clientes para Zendesk

Exemplos de casos de uso

Bug report WhatsApp → issue Jira → confirmação

  1. Gatilho — mensagem WhatsApp recebida com palavras-chave de bug
  2. JIRA POST — criar issue Bug no projeto SUP
  3. Variable — salvar {{jira_1.data.key}} como jira_issue_key
  4. Send message — "Issue {{jira_1.data.key}} logged. Our team will investigate."

Digest diário de issues abertas

  1. Gatilho Schedule — todo dia útil às 9:00
  2. JIRA GET — buscar project = SUP AND status = Open
  3. Send message — resumo WhatsApp para canal da equipe com contagem e keys das issues

Feature request de conversa comercial

  1. AI Agent — extrai feature request da conversa
  2. JIRA POST — criar issue Story com resumo do agente na description
  3. Send message — notificar equipe de produto no WhatsApp

FAQ

Por que o nó retorna 401 Unauthorized?
O valor jira_auth está incorreto, não está codificado em Base64, ou o API token foi revogado. Regenere o token na Atlassian e atualize a chave de integração.

Por que o nó retorna 404 Not Found?
Verifique jira_domain — use somente hostname (yourcompany.atlassian.net), sem https://. Verifique se project key e issue key existem.

Qual formato usar para jira_auth?
String codificada em Base64 de email:API_TOKEN. O nó adiciona o prefixo Basic automaticamente.

Por que create issue falha com 400 na description?
A Jira v3 exige formato ADF para campos rich text. Use a estrutura ADF do exemplo, ou omita description e defina somente summary.

Como altero o status da issue?
Mudanças de status exigem transitions. Chame POST /rest/api/3/issue/{key}/transitions com {"transition": {"id": "31"}}. Obtenha transitions disponíveis via GET /rest/api/3/issue/{key}/transitions.

Funciona com Jira Server/Data Center?
Este nó é voltado para Jira Cloud (*.atlassian.net). Jira Server usa base path de API diferente e pode exigir auth diferente.

Qual a diferença entre este nó e o nó HTTP?
Este nó pré-configura base URLs Jira, header de auth, variável de domain e templates de operação comuns de issues. Use HTTP para endpoints Jira não suportados (boards, sprints, filters).

Referência da API

ItemValor
Base URLhttps://{{jira_domain}}/rest/api/3/
Auth headerAuthorization: Basic {{jira_auth}}
Create issuePOST /issue
SearchGET /search?jql=
Official docsJira REST API v3
API tokensAtlassian API tokens
ADF formatAtlassian Document Format

Relacionados

Este artigo foi útil?

Precisa de mais ajuda? Falar com suporte

Central de Ajuda