Pular para o conteúdo principal

Webhooks

Os webhooks notificam um sistema externo quando uma exportação agendada é concluída. São fornecidos pelo app Exportelier Automation e permanecem desativados até que um administrador do site ative a entrega por webhook.

Tipos de webhook disponíveis

  • Webhook de entrada do Slack — publica o resumo da exportação como uma mensagem normal do canal.
  • Webhook de fluxo de trabalho do Microsoft Teams — publica um Adaptive Card 1.2 por meio de um fluxo de trabalho do Teams criado pelo cliente.

Configuração de webhooks As configurações de endpoints de webhook com tipo, referência mascarada e status.

Um webhook cria links — não envia o arquivo ao Slack ou Teams

Um webhook nunca anexa o arquivo PDF, DOCX ou Markdown gerado à mensagem do provedor. Por padrão, uma exportação agendada de um único item inclui um link para o item do Jira. Se a mesma execução também tiver um destino de anexo do Jira bem-sucedido, a mensagem incluirá um link para esse anexo gerado. Ambos os links permanecem no Jira e exigem que o destinatário tenha o acesso correspondente.

Como é a mensagem

Ambos os canais enviam a mesma linha de resumo:

Exportelier export "Weekly sprint report": sprint-report-2026-09-01.pdf (14 issues)
  • O Slack recebe o resumo seguido dos links clicáveis Abrir item do Jira e Abrir documento, quando disponíveis.
  • O Teams recebe um Adaptive Card 1.2 com o título Exportelier export: <nome do agendamento>, a mesma linha de resumo e ações OpenUrl correspondentes, quando disponíveis.

O link do item do Jira é omitido em exportações com vários itens. O link do documento é omitido se um destino de anexo do Jira não for concluído primeiro. A mensagem Testar do endpoint não contém links, pois não exporta nem anexa um documento.

Configuração

Ambos os canais seguem as mesmas três partes: ativar a entrega uma vez, registrar o endpoint e selecioná-lo em um agendamento.

1. Ativar a entrega por webhook

No Exportelier Automation, abra Configurações → Entrega externa e ative Ativar entrega por webhook. Aparece uma caixa de confirmação: é o momento em que um administrador do site aceita explicitamente que os dados saem da Atlassian.

Enquanto essa chave estiver desligada, o destino de entrega Webhook permanece esmaecido em todos os agendamentos e nada é enviado.

2a. Registrar um webhook de entrada do Slack

O Slack emite URLs de webhooks de entrada por meio de um app do Slack:

  1. Abra api.slack.com/apps e escolha Create New App → From scratch. Dê um nome — por exemplo Exportelier — e selecione o workspace de destino.
  2. Na barra lateral do app, abra Incoming Webhooks e ative Activate Incoming Webhooks.
  3. Clique em Add New Webhook to Workspace, selecione o canal que deve receber as notificações e confirme com Allow.
  4. Copie a Webhook URL gerada. Ela tem o formato https://hooks.slack.com/services/T…/B…/…. Trate-a como uma senha: qualquer pessoa que a tenha pode publicar nesse canal.
  5. No Exportelier Automation, vá em Configurações → Endpoints de webhook, defina Canal como Webhook de entrada do Slack, cole a URL em Endpoint e clique em Adicionar endpoint.

O Exportelier aceita apenas URLs HTTPS no host hooks.slack.com. As mensagens aparecem com o nome e o ícone do app do Slack que você criou; ambos são alterados no Slack em Basic Information → Display Information.

Não é uma URL de gatilho do Workflow Builder

O Slack Workflow Builder também fornece URLs hooks.slack.com, mas no formato https://hooks.slack.com/triggers/…, e elas esperam as variáveis nomeadas daquele fluxo de trabalho em vez de um campo text. A verificação de host do Exportelier aceita esse tipo de URL, mas nenhuma mensagem legível aparecerá no canal. Use um webhook de entrada (/services/…) de um app do Slack, conforme descrito acima.

2b. Registrar um webhook de fluxo de trabalho do Microsoft Teams

A Microsoft descontinuou os webhooks de conectores do Office 365 em maio de 2026. Por isso o Exportelier só aceita novos endpoints do Teams vindos do Microsoft Teams Workflows.

  1. No canal do Teams de destino, abra Mais opções (…) → Workflows.
  2. Selecione Send webhook alerts to a channel. Esse é o modelo Anyone. Se você criar o fluxo de trabalho do zero, escolha o gatilho When a Teams webhook request is received e defina o tipo de autenticação como Anyone.
  3. Autentique a conta Microsoft que será dona do fluxo de trabalho, selecione a equipe e o canal e adicione o fluxo. A Microsoft informa que esses modelos de webhook do Teams não exigem licença premium.
  4. Copie a URL gerada. Trate-a como uma senha: qualquer pessoa com essa URL assinada pode acionar o fluxo de trabalho.
  5. No Exportelier Automation, vá em Configurações → Endpoints de webhook, defina Canal como Webhook de fluxo de trabalho do Microsoft Teams, cole a URL em Endpoint e clique em Adicionar endpoint.

As URLs suportadas usam HTTPS em um subdomínio de environment.api.powerplatform.com ou logic.azure.com. O Exportelier não envia cabeçalho OAuth; a URL secreta Anyone autoriza a requisição.

As mensagens aparecem sob a identidade padrão do bot Workflows da Microsoft. A Microsoft não oferece nome ou ícone de bot personalizados para essas publicações por webhook.

Conectores do Office 365 descontinuados

Endpoints *.webhook.office.com armazenados continuam visíveis como Ação necessária para que os agendamentos não sejam alterados silenciosamente. Crie e teste um novo endpoint de fluxo de trabalho, atualize todos os agendamentos afetados e só então exclua o endpoint legado. Endpoints legados não ficam disponíveis para novos agendamentos e falham localmente antes de qualquer requisição ser enviada.

2c. Verificar o endpoint

Todo endpoint registrado tem um botão Testar. Ele publica uma mensagem fixa —

Exportelier test message: this webhook endpoint is configured correctly. No export was generated.

— pelo mesmo controle de saída, pelo mesmo segredo armazenado e pelo mesmo gerador de payload que uma execução agendada usa, de modo que um teste bem-sucedido comprova o caminho de entrega e não apenas o formato da URL. A linha mostra Entregue em caso de sucesso; em caso de falha, o motivo aparece acima da tabela e corresponde à lista de solução de problemas abaixo.

O botão fica esmaecido enquanto a entrega por webhook estiver desativada, porque nada seria enviado.

3. Selecionar o endpoint em um agendamento

Abra Agendamentos, edite o agendamento que deve notificar e adicione o destino de entrega Webhook. Escolha o Canal e depois o Endpoint armazenado — os endpoints são listados pela referência mascarada, porque a URL em si nunca é devolvida ao navegador após o salvamento.

As duas opções de link são ativadas por padrão e podem ser desativadas separadamente. Um agendamento pode combinar destinos: a mesma execução pode anexar o documento a um item do Jira e publicar uma notificação por webhook. O Exportelier conclui o destino de anexo antes de um webhook que solicita o link do documento, independentemente da ordem exibida.

Solução de problemas

Nada chega imediatamente. O Exportelier Automation verifica agendamentos vencidos a cada cinco minutos, então uma entrega pode atrasar até cinco minutos em relação ao horário configurado. Para verificar um endpoint sem esperar uma execução, use o botão Testar em Configurações → Endpoints de webhook — ele relata as mesmas mensagens que uma execução agendada.

Verifique o resultado da última execução. A lista Agendamentos tem uma coluna Última execução com o status Bem-sucedida, Parcialmente bem-sucedida ou Falha na execução, e mostra o motivo da falha. Uma execução que gerou o documento mas não conseguiu publicar o webhook é relatada como Parcialmente bem-sucedida.

MensagemO que significa
A entrega por webhook foi desativada por um administrador.A chave Ativar entrega por webhook em Configurações → Entrega externa está desligada.
O endpoint do webhook não está configurado.O endpoint armazenado foi revogado no Exportelier enquanto um agendamento ainda o referenciava. Registre-o novamente e selecione-o de novo no agendamento.
O segredo armazenado não corresponde a este canal de webhook.O canal do agendamento foi trocado para o outro provedor sem escolher um endpoint correspondente.
O endpoint do webhook rejeitou a solicitação.O provedor respondeu com erro — normalmente um webhook revogado no Slack ou um fluxo de trabalho do Teams desativado ou excluído. Crie um novo endpoint no lado do provedor.
Um webhook do Slack deve usar uma URL https de hooks.slack.com.A URL foi rejeitada ao salvar. Copie-a novamente da página Incoming Webhooks do app do Slack.
Este conector do Microsoft Teams não é mais compatível.Um conector *.webhook.office.com descontinuado. Substitua-o por um endpoint de fluxo de trabalho conforme descrito acima.

Nada chega ao canal, mas a execução consta como bem-sucedida. Slack e Teams respondem 200 antes de a mensagem ser renderizada. Verifique se o webhook ainda está vinculado ao canal esperado — no Slack em Incoming Webhooks, no Teams em Workflows.

Confiabilidade e segurança

  • A entrega por webhook vem desativada por padrão e exige confirmação explícita do administrador.
  • As URLs dos endpoints são armazenadas como segredos criptografados do Forge, nunca são devolvidas ao navegador após o salvamento e são exibidas apenas como referência mascarada. Não devem constar em tickets, capturas de tela ou logs.
  • As opções de link ativadas enviam o endereço do site Jira e, em exportações de um único item, a chave do item ao provedor externo. As URLs geradas não contêm credenciais nem parâmetros de consulta assinados e ainda exigem autenticação e permissões do Jira.
  • As requisições expiram após 10 segundos e são repetidas apenas uma vez, somente em falhas de rede, HTTP 429 ou 5xx. Uma resposta 4xx é definitiva e não é repetida.
  • Uma resposta bem-sucedida do provedor, incluindo HTTP 200 ou 202, marca o destino como entregue.

Consulte Arquitetura de segurança para entender como o tráfego de saída é isolado, e a página API para acionamento programático.