IBM Cloud Docs
Configurando webhooks

Configurando webhooks

IBM Cloud® Internet Services tem alertas que você pode configurar através da API para avisar quando ocorrerem eventos. Use webhooks para notificar um serviço externo quando eventos ocorrem em sua conta.

Os alertas estão disponíveis apenas para os planos Enterprise.

Configuração de webhooks no console

Para configurar webhooks no console, navegue até a página Account (Conta ) e selecione a guia Alerts (Alertas ). Na seção Alertas, selecione a guia webhooks.

Criação de um webhook no console

  1. Clique em Criar.
  2. Insira um nome para o seu webhook.
  3. Insira a URL do webhook. Esse URL não pode ser atualizado; se você quiser alterá-lo, deverá excluir e recriar o webhook.
  4. Insira o segredo do webhook. O segredo não pode ser atualizado; se você quiser alterá-lo, deverá excluir e recriar o webhook.

Edição de um webhook no console

Para editar um webhook no console, clique no ícone de lápis ao lado do nome do webhook que deseja atualizar. Você pode editar apenas o nome do webhook. Se você precisar modificar um webhook, é recomendável excluir e recriar o webhook em vez de editá-lo.

Exclusão de um webhook no console

Para excluir um webhook no console, clique no ícone de estouro do menu Ações do webhook que deseja excluir e selecione Excluir. Selecione Excluir na caixa de confirmação para confirmar ou Cancelar para fechar a caixa de confirmação sem concluir a operação de exclusão.

Configuração de webhooks na CLI

Criação de um webhook a partir da CLI

Para criar um webhook a partir da CLI, execute o seguinte comando.

ibmcloud cis alert-webhook-create --name NAME --url URL [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]

Em que:

  • --name value é o nome do webhook.
    • o valor -url é o ponto de extremidade POST a ser chamado quando um alerta for enviado.
    • o valor -secret é o segredo que é passado no cabeçalho de autenticação do webhook quando um alerta de webhook é enviado.
  • -i, --instance value é o nome ou ID da instância. Se não for definido, será usada a instância de contexto especificada por 'cis instance-set INSTANCE'.
  • --output value: especifica o formato de saída; somente JSON é suportado.

Listagem de todos os webhooks da CLI

Para listar um webhook na CLI, execute o seguinte comando.

ibmcloud cis alert-webhooks [-i, --instance INSTANCE] [--output FORMAT]

Em que:

  • -i, --instance value é o nome ou ID da instância. Se não for definido, será usada a instância de contexto especificada por 'cis instance-set INSTANCE'.
  • --output value: especifica o formato de saída; somente JSON é suportado.

Obtenção de detalhes de um webhook na CLI

Para obter um webhook da CLI, execute o seguinte comando.

ibmcloud cis alert-webhook WEBHOOK_ID [-i, --instance INSTANCE] [--output FORMAT]

Em que:

  • WEBHOOK_ID é o ID do webhook.
  • -i, --instance value é o nome ou ID da instância. Se não for definido, será usada a instância de contexto especificada por 'cis instance-set INSTANCE'.
  • --output value: especifica o formato de saída; somente JSON é suportado.

Atualização de um webhook a partir da CLI

Para atualizar um webhook a partir da CLI, execute o seguinte comando.

ibmcloud cis alert-webhook-update WEBHOOK_ID [--name NAME] [--url URL] [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]

Em que:

  • WEBHOOK_ID é o ID do webhook.
  • --name value é o nome do webhook.
    • o valor -url é o ponto de extremidade POST a ser chamado quando um alerta for enviado.
    • o valor -secret é o segredo que é passado no cabeçalho de autenticação do webhook quando um alerta de webhook é enviado.
  • -i, --instance value é o nome ou ID da instância. Se não for definido, será usada a instância de contexto especificada por 'cis instance-set INSTANCE'.
  • --output value: especifica o formato de saída; somente JSON é suportado.

Exclusão de um webhook da CLI

Para excluir um webhook da CLI, execute o seguinte comando.

ibmcloud cis alert-webhook-delete WEBHOOK_ID [-i, --instance INSTANCE] [-f, --force]

Em que:

  • WEBHOOK_ID é o ID do webhook.
  • i, --instance value é o nome ou ID da instância. Se não for definido, será usada a instância de contexto especificada por 'cis instance-set INSTANCE'.
  • -f, --force: tenta excluir o webhook sem solicitar confirmação.

Configuração de webhooks com a API

Para chamar esses métodos, deve-se estar designado a uma ou mais funções de acesso do IAM.

  • internet-svcs.zones.read
  • internet-svcs.zones.update

É possível verificar seu acesso indo para Usuários > name > Políticas de acesso.

Criação de um webhook com a API

A criação de um alerta de webhook é um processo de duas etapas. Primeiro, crie o webhook, em seguida, use o ID na resposta recebida para criar o alerta.

Para criar um webhook com a API, siga estas etapas:

  1. Configure seu ambiente de API com as variáveis corretas.
  2. Armazene a seguinte variável a ser usada no comando da API:
    • crn: o CRN completo codificado por url da instância de serviço.
    • name: o nome do webhook.
    • url: a URL do webhook.
    • secret: o segredo opcional ou a chave de API necessária para usar o webhook.
  3. Quando todas as variáveis forem iniciadas, crie o webhook:
curl -X POST https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks
-H 'content-type: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'
-d '{"name":"Example Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'

Listagem de todos os webhooks com a API

Para listar todos os webhooks com a API, siga estas etapas:

  1. Configure seu ambiente de API com as variáveis corretas.
  2. Armazene a seguinte variável a ser usada no comando da API:
    • crn: o CRN completo codificado por url da instância de serviço.
  3. Quando todas as variáveis forem iniciadas, obtenha a lista de webhooks:
curl -X GET https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks
-H 'content-type: application/json'
-H 'accept: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'

Obter detalhes de um webhook com a API

Para obter os detalhes de um webhook por meio da API, siga estas etapas:

  1. Configure seu ambiente de API com as variáveis corretas.
  2. Armazene a seguinte variável a ser usada no comando da API:
    • crn: o CRN completo codificado por url da instância de serviço.
    • webhook_id: identificador de webhook de alerta.
  3. Quando todas as variáveis forem iniciadas, obtenha os detalhes do webhook:
curl -X GET https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
-H 'content-type: application/json'
-H 'accept: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'

Atualização de um webhook com a API

Para atualizar um webhook com a API, siga estas etapas:

  1. Configure seu ambiente de API com as variáveis corretas.
  2. Armazene a seguinte variável a ser usada no comando da API:
    • crn: o CRN completo codificado por url da instância de serviço.
    • webhook_id: identificador de webhook de alerta.
    • name: o nome do webhook.
    • url: a URL do webhook.
    • secret: o segredo opcional ou a chave de API necessária para usar o webhook.
  3. Quando todas as variáveis forem iniciadas, atualize o webhook:
curl -X PUT https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
-H 'content-type: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'
-d '{"name":"Example Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'

Exclusão de um webhook com a API

Para excluir um webhook por meio da API, siga estas etapas:

  1. Configure seu ambiente de API com as variáveis corretas.
  2. Armazene a seguinte variável a ser usada no comando da API:
    • crn: o CRN completo codificado por url da instância de serviço.
    • webhook_id: identificador de webhook de alerta.
  3. Quando todas as variáveis forem iniciadas, exclua o webhook:
curl -X DELETE https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
-H 'content-type: application/json'
-H 'accept: application/json'
-H 'x-auth-user-token: Bearer xxxxxx'