Partilhar via


Consumidores de ganchos de serviço

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

Você pode usar um gancho de serviço para executar uma ação em um serviço ao consumidor quando ocorre um evento em um projeto do Azure DevOps. Por exemplo, um gancho de serviço pode notificar um consumidor quando uma compilação falhar.

Para configurar um gancho de serviço, crie uma assinatura que especifique o evento, o consumidor e a ação. Com alguns consumidores, você cria uma assinatura no serviço ao consumidor, não no Azure DevOps. Este artigo fornece informações sobre as configurações de consumidor que você usa ao criar programaticamente uma assinatura no Azure DevOps.

Você pode selecionar entre os seguintes consumidores ao criar uma assinatura no Azure DevOps:

Para obter informações sobre esses consumidores e outros que você pode integrar com ganchos de serviço, consulte Serviços disponíveis.

Azure Service Bus

O Service Bus é um serviço de mensagens que facilita a comunicação assíncrona entre aplicativos e serviços. Como um consumidor de gancho de serviço, ele fornece integração com filas e tópicos do Barramento de Serviço e também com Hubs de Notificação do Azure.

Enviar uma mensagem para um hub de notificação

Essa ação envia uma notificação de modelo genérica para uma instância especificada dos Hubs de Notificação.

  • ID do consumidor: azureServiceBus

  • ID da ação: serviceBusNotificationHubSend

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    connectionString Cadeia de conexão SAS A cadeia de conexão de assinatura de acesso compartilhado (SAS) a ser usada para se conectar ao Service Bus. Essa cadeia de conexão está disponível no portal do Azure. string Sim
    notificationHubName Nome do hub de notificação O nome do hub de notificação para o qual enviar a notificação. O nome pode conter apenas letras, números, pontos, hífenes, barras e sublinhados. O nome deve começar e terminar com uma letra ou número. O hub já deveria existir. string Sim
    tagsExpression Etiquetas Uma expressão de tag direcionada a um conjunto específico de dispositivos. Para obter mais informações, consulte Roteamento e expressões de tag. string Não

Enviar uma mensagem para uma fila do Service Bus

Esta ação envia uma representação JSON de um evento para uma fila especificada do Service Bus. Para obter mais informações, consulte Filas, tópicos e assinaturas do Service Bus.

  • ID do consumidor: azureServiceBus

  • ID da ação: serviceBusQueueSend

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    AuthenticationMechanismInputId Modo de autenticação O modo de autenticação a ser usado: uma cadeia de conexão ou uma conexão de serviço. string Não
    ServiceConnectionInputId Conexões do Azure Resource Manager A ID de uma conexão de serviço. string Não
    ServiceBusHostNameInputId Nome do host do Service Bus O nome do host no portal do Azure, no formato sb://<Service-Bus-name>.servicebus.windows.net. string Não
    connectionString Cadeia de conexão SAS A cadeia de conexão SAS a ser usada para se conectar ao Service Bus. Essa cadeia de conexão está disponível no portal do Azure. string Não
    queueName Nome da fila O nome da fila para a qual enviar a mensagem. O nome pode conter apenas letras, números, pontos, hífenes, barras e sublinhados. O nome deve começar e terminar com uma letra ou número. Se a fila não existir, ela será criada se a cadeia de conexão especificada tiver as permissões necessárias. string Sim
    bypassSerializer Enviar como cadeia de caracteres não serializada Uma opção para enviar mensagens para o Service Bus como cadeias de caracteres não serializadas em vez de como cadeias de caracteres serializadas do .NET. Selecione esta configuração quando o recetor não for um cliente .NET, por exemplo, quando o cliente usar a Azure Client Library para Node.js. boolean Não
    resourceDetailsToSend Detalhes do recurso a enviar O número de campos de recurso a serem enviados para a fila. As possibilidades são: todos os campos, um número mínimo e nenhum. string Não
    messagesToSend Mensagens a enviar Os tipos de mensagens que serão enviadas para a fila. string Não
    detailedMessagesToSend Mensagens detalhadas a enviar Os tipos de mensagens detalhadas a serem enviadas para a fila. string Não

Enviar uma mensagem para um tópico do Service Bus

Esta ação envia uma representação de cadeia de caracteres JSON de um evento para um tópico especificado do Service Bus. Para obter mais informações, consulte Usar o portal do Azure para criar um tópico do Service Bus e assinaturas para o tópico.

  • ID do consumidor: azureServiceBus

  • ID da ação: serviceBusTopicSend

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    AuthenticationMechanismInputId Modo de autenticação O modo de autenticação a ser usado. string Não
    ServiceConnectionInputId Conexões do Azure Resource Manager A ID de uma conexão de serviço. string Não
    ServiceBusHostNameInputId Nome do host do Service Bus O nome do host no portal do Azure, no formato sb://{Service-Bus-name}.servicebus.windows.net. string Não
    connectionString Cadeia de conexão SAS A cadeia de conexão SAS a ser usada para se conectar ao Service Bus. Essa cadeia de conexão está disponível no portal do Azure. string Não
    topicName Nome do tópico O nome do tópico para o qual enviar a mensagem. O nome pode conter apenas letras, números, pontos, hífenes, barras e sublinhados. O nome deve começar e terminar com uma letra ou número. Se o tópico não existir, ele será criado se a cadeia de conexão especificada tiver as permissões necessárias. string Sim
    bypassSerializer Enviar como cadeia de caracteres não serializada Uma opção para enviar mensagens para o Service Bus como cadeias de caracteres não serializadas em vez de como cadeias de caracteres serializadas do .NET. Selecione esta configuração quando o recetor não for um cliente .NET, por exemplo, quando o cliente usar a Azure Client Library para Node.js. boolean Não
    resourceDetailsToSend Detalhes do recurso a enviar O número de campos de recurso a serem enviados para o tópico. As possibilidades são: todos os campos, um número mínimo e nenhum. string Não
    messagesToSend Mensagens a enviar Os tipos de mensagens a enviar para o tópico. string Não
    detailedMessagesToSend Mensagens detalhadas a enviar Os tipos de mensagens detalhadas a serem enviadas para o tópico. string Não

Armazenamento do Azure

O armazenamento é uma solução de armazenamento em nuvem para vários tipos de dados. O Armazenamento de Filas do Azure é uma parte do Armazenamento que fornece filas de mensagens que podem atuar como consumidores de ganchos de serviço.

Inserir uma mensagem em uma fila de armazenamento

Esta ação insere uma representação de cadeia de caracteres JSON de um evento em uma fila de armazenamento especificada. Para obter mais informações, consulte O que é o Armazenamento de Filas do Azure?.

  • ID do consumidor: azureStorageQueue

  • ID da ação: enqueue

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    AuthenticationMechanismInputId Modo de autenticação O modo de autenticação a ser usado. string Não
    ServiceConnectionInputId Conexões do Azure Resource Manager A ID de uma conexão de serviço. string Não
    accountName Nome da conta de armazenamento O nome associado à sua conta de armazenamento. Esse nome está disponível no portal do Azure. string Sim
    accountKey Chave da conta de armazenamento A chave associada à sua conta de armazenamento. string Não
    queueName Nome da fila O nome da fila, somente em minúsculas, a ser usada no Storage. Uma fila com este nome será criada se ainda não existir. string Sim
    visiTimeout Tempo limite de visibilidade da mensagem O valor de tempo limite de visibilidade, em segundos, para a mensagem enfileirada, em relação ao tempo do servidor. O valor deve ser maior ou igual a 0 e não pode ser maior que sete dias, ou 604.800 segundos. O tempo limite de visibilidade deve ser definido como um valor menor do que o valor de tempo de vida útil da mensagem. number Sim
    ttl Tempo de vida da mensagem O intervalo de tempo de vida para a mensagem na fila, em segundos. O valor máximo que você pode usar é sete dias, ou 604.800 segundos. number Sim
    resourceDetailsToSend Detalhes do recurso a enviar O número de campos de recurso a serem enviados para a fila. As possibilidades são: todos os campos, um número mínimo e nenhum. string Não
    messagesToSend Mensagens a enviar Os tipos de mensagens que serão enviadas para a fila. string Não
    detailedMessagesToSend Mensagens detalhadas a enviar Os tipos de mensagens detalhadas a serem enviadas para a fila. string Não

Bambu

O Bamboo é um servidor de integração contínua da Atlassian.

Enfileirar uma compilação

Esta ação põe em fila uma build do Bamboo.

  • ID do consumidor: bamboo

  • ID da ação: queueBuild

  • Eventos suportados: git.push, build.complete, tfvc.checkin

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    serverBaseUrl URL da base de bambu O URI que contém o nome do host do servidor Bamboo. uri Sim
    basicAuthCredentials Credenciais básicas de autenticação Credenciais padrão para usar para autenticar no servidor Bamboo. Para evitar o envio de credenciais em texto sem formatação, use o protocolo HTTPS para criptografar as credenciais por meio do Transport Layer Security (TLS). Recomendamos o uso de entidades de serviço e identidades gerenciadas no Azure DevOps. string Sim
    planName Plano O nome do plano para a fila de espera. string Sim

Datadog

Datadog é uma plataforma de monitoramento e análise para ambientes em nuvem.

Publicar um evento no Datadog

Esta ação cria um evento e métricas correspondentes no Datadog.

  • ID do consumidor: datadog

  • ID da ação: postEventInDatadog

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    apiKey Chave da API Datadog A chave de acesso para a sua conta Datadog. Você pode encontrar sua chave de API no portal Datadog. Aceda ao seu perfil e, em seguida, selecione Definições da Organização>Chaves de API. string Sim
    accountType Tipo de Conta Datadog O tipo da sua conta Datadog. Você pode determinar seu tipo de conta a partir do nome do host do URL que sua conta Datadog usa:
    - app.datadoghq.com: US
    - app.datadoghq.eu: EU
    - us3.datadoghq.com: US3
    - us5.datadoghq.com: US5
    - ap1.datadoghq.com: AP1
    - app.dog-gov.com: GOV
    string Sim

Grafana

Grafana é um painel de código aberto e editor de gráficos.

Adicionar uma anotação a um banco de dados Grafana

Esta ação cria uma anotação em Grafana.

  • ID do consumidor: grafana

  • ID da ação: addAnnotation

  • Eventos suportados: ms.vss-release.deployment-completed-event

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    url Grafana URL O URL a ser usado para postar uma anotação no Grafana. uri Sim
    apiToken Token de API O token de acesso para publicar anotações num banco de dados Grafana. Para obter informações sobre como criar um token, consulte Criar tokens de conta de serviço e painéis para uma organização. string Sim
    tags Etiquetas A lista separada por vírgulas de tags a serem usadas para adicionar anotações. string Sim
    annotationDeploymentDurationWindow Anotar duração da janela de implantação Uma opção para configurar a janela de duração de uma anotação.
    - Quando selecionada, a anotação aplica-se ao tempo entre o início e a conclusão da implantação.
    - Quando não selecionada, a anotação se aplica à conclusão da implantação.
    boolean Não
    text Texto Uma descrição personalizada para uma anotação. Quando não especificada, essa configuração descreve a liberação e o status. Essa configuração pode incluir links, como <a href="https://www.contoso.com" target="_blank">Contoso</a>. string Não
    dashboardId Painel de controlo A ID do painel ao qual adicionar a anotação. Quando um ID não é especificado, a anotação é adicionada no nível global. string Não

Jenkins

Jenkins é um servidor de integração contínua que você pode usar para construir e testar projetos de software continuamente.

Acionar uma compilação do Git

Esta ação usa o plug-in Jenkins Git para acionar uma compilação em um repositório Git.

  • ID do consumidor: jenkins

  • ID da ação: triggerGitBuild

  • Eventos suportados: git.push, git.pullrequest.merged

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    serverBaseUrl Jenkins base URL O URI que contém o nome do host do servidor Jenkins. uri Sim
    basicAuthCredentials Credenciais básicas de autenticação Credenciais de autenticação HTTP padrão. Para evitar o envio de credenciais em texto sem formatação, use o protocolo HTTPS para criptografar as credenciais via TLS. Recomendamos o uso de entidades de serviço e identidades gerenciadas no Azure DevOps. string Sim
    useTfsPlugin Nível de integração O nível de integração selecionado, que é um dos dois valores:
    - A API Jenkins integrada
    - A integração estendida fornecida pelo plug-in do Azure DevOps Server se esse plug-in estiver instalado no servidor Jenkins
    string Não

Acionar uma compilação genérica

Essa ação aciona uma compilação genérica do Jenkins que invoca a URL de compilação do Jenkins.

  • ID do consumidor: jenkins

  • ID da ação: triggerGenericBuild

  • Eventos suportados: git.push, git.pullrequest.merged, build.complete, tfvc.checkin, ms.vss-release.deployment-completed-event

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    serverBaseUrl Jenkins base URL O URI que contém o nome do host do servidor Jenkins. uri Sim
    basicAuthCredentials Credenciais básicas de autenticação Credenciais de autenticação HTTP padrão. Para evitar o envio de credenciais em texto sem formatação, use o protocolo HTTPS para criptografar as credenciais via TLS. Recomendamos o uso de entidades de serviço e identidades gerenciadas no Azure DevOps. string Sim
    buildName Construir O nome da compilação a ser acionada. string Sim
    useTfsPlugin Nível de integração O nível de integração selecionado, que é um dos dois valores:
    - A API Jenkins integrada
    - A integração estendida fornecida pelo plug-in do Azure DevOps Server se esse plug-in estiver instalado no servidor Jenkins
    string Não
    buildAuthToken Token de construção Um token de autorização para uma compilação. Somente os usuários que conhecem o token podem acionar compilações remotamente. string Não
    buildParameterized Aceita parâmetros Uma opção que especifica se a compilação aceita parâmetros. boolean Não
    buildParams Parâmetros de construção Crie parâmetros na forma de pares nome-valor. Em cada par, o nome e o valor são separados por dois pontos, tal como <parameter>:<value>. Cada par nome-valor aparece em sua própria linha. string Não

Slack

O Slack é uma plataforma pesquisável para comunicação em equipe.

Publicar uma mensagem num canal

Esta ação publica uma mensagem sobre um evento em um canal do Slack. Para obter mais informações, consulte Criar um gancho de serviço para o Azure DevOps com o Slack.

  • ID do consumidor: slack

  • ID da ação: postMessageToChannel

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    url URL do Slack webhook O URL do webhook fornecido pelo Slack para enviar solicitações HTTP POST para. uri Sim

Trello

O Trello é uma ferramenta de gerenciamento de projetos que usa quadros, listas e cartões para ajudar as equipes a rastrear fluxos de trabalho.

Criar um cartão

Esta ação cria um cartão em uma lista existente no Trello. Um cartão pode representar uma tarefa, um problema, um evento ou outros itens relacionados ao projeto. Para obter mais informações, consulte Criar um gancho de serviço para os Serviços de DevOps do Azure e o TFS com o Trello.

  • ID do consumidor: trello

  • ID da ação: createCard

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    userToken Token de utilizador Um token de usuário que fornece acesso aos recursos do Trello. Para obter um token, vá para a página de autorização do Trello. string Sim
    boardId Conselho O nome da placa na qual o cartão Trello é criado. string Sim
    listId Lista O nome da lista na qual o cartão do Trello é criado. string Sim
    labels Etiquetas Uma lista separada por vírgulas de cores de rótulo para aplicar ao cartão criado. Os nomes de cores de rótulo válidos são red, orange, , yellowgreen, bluee purple. string Não
    addToTop Criar no início da lista Uma opção que indica se o cartão deve ser criado no início ou no final da lista do Trello. Quando este campo é true, o cartão é criado no início. boolean Não
    cardName Nome do cartão O nome do novo cartão. Por padrão, a descrição de texto do evento é usada como o nome. Pode utilizar marcadores para inserir o conteúdo do evento no nome. Para obter mais informações, consulte Criar um gancho de serviço para os Serviços de DevOps do Azure e o TFS com o Trello. string Não
    cardDescription Descrição do cartão A descrição do novo cartão. Por padrão, a descrição detalhada do Markdown do evento é usada como a descrição. Você pode usar espaços reservados para inserir conteúdo do evento na descrição. Para obter mais informações, consulte Criar um gancho de serviço para os Serviços de DevOps do Azure e o TFS com o Trello. string Não

Criar uma lista

Esta ação cria uma lista em um quadro existente no Trello. Uma lista é usada para organizar cartões em um quadro e normalmente representa um estado. Para obter mais informações, consulte Criar um gancho de serviço para os Serviços de DevOps do Azure e o TFS com o Trello.

  • ID do consumidor: trello

  • ID da ação: createList

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    userToken Token de utilizador Um token de usuário que fornece acesso aos recursos do Trello. Para obter um token, vá para a página de autorização do Trello. string Sim
    boardId Conselho O nome do quadro no qual a lista do Trello é criada. string Sim
    addToBottom Criar na parte inferior do quadro Uma opção que indica se deseja criar o cartão no início ou no final do quadro. Quando este campo é true, o cartão é criado no final. boolean Não
    listName Nome da lista O nome da nova lista. Por padrão, a descrição de texto do evento é usada como o nome. Pode utilizar marcadores para inserir o conteúdo do evento no nome. Para obter mais informações, consulte Criar um gancho de serviço para os Serviços de DevOps do Azure e o TFS com o Trello. string Não

Ganchos da Web

Os Webhooks fornecem uma maneira de enviar uma representação JSON de um evento de DevOps do Azure para qualquer serviço que tenha um ponto de extremidade público.

Enviar via HTTP

Esta ação publica uma representação de objeto JSON de um evento em uma URL especificada. Os pontos de extremidade HTTPS são recomendados devido ao potencial de dados privados na carga útil do evento. Para obter mais informações, consulte Webhooks.

  • ID do consumidor: webHooks

  • ID da ação: httpRequest

  • Eventos suportados: Todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    url URL O URL para o qual enviar um HTTP POST. uri Sim
    acceptUntrustedCerts Aceitar certificados SSL não confiáveis Uma opção que não exige um certificado SSL (Secure Sockets Layer) confiável para um endpoint. Use esta opção somente durante o desenvolvimento e o teste. boolean Não
    basicAuthCredentials Credenciais básicas de autenticação Credenciais de autenticação HTTP padrão. Para evitar o envio de credenciais em texto sem formatação, use o protocolo HTTPS para criptografar as credenciais via TLS. Recomendamos o uso de entidades de serviço e identidades gerenciadas no Azure DevOps. string Sim
    httpHeaders Cabeçalhos de HTTP Chaves e valores de cabeçalho HTTP na forma de pares chave-valor. Em cada par, a chave e o valor estão separados por dois pontos, como <key>:<value>. Cada par chave-valor aparece na sua própria linha. Esses valores podem ser visualizados por qualquer pessoa que tenha acesso à assinatura do webhook. string Não
    resourceDetailsToSend Detalhes do recurso a enviar O número de campos de recurso a serem enviados para a fila. As possibilidades são: todos os campos, um número mínimo e nenhum. string Não
    messagesToSend Mensagens a enviar Os tipos de mensagens que serão enviadas para a fila. string Não
    detailedMessagesToSend Mensagens detalhadas a enviar Os tipos de mensagens detalhadas a serem enviadas para a fila. string Não

Zendesk

A Zendesk é uma suite de software como serviço (SaaS) que oferece gestão de tickets de help-desk, gestão de problemas e suporte ao cliente.

Criar um comentário privado em um ticket

Essa ação cria um comentário privado em um ticket do Zendesk.

  • ID do consumidor: zendesk

  • ID da ação: createPrivateComment

  • Eventos suportados: workitem.commented

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    accountName Nome da conta O nome da conta Zendesk. Você pode encontrar o nome da conta no URL da sua conta Zendesk, que tem o formato https://<account-name>.zendesk.com. string Sim
    username Nome de Utilizador O nome de usuário do usuário do Zendesk que atualiza os tickets. string Sim
    apiToken Token de API O token da API do Zendesk. Para encontrar o token, vá para o aplicativo Zendesk e depois selecione Administração>Canais>API. string Sim