Compartilhar via


Consumidores de gancho de serviço

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

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

Para configurar um gancho de serviço, você cria uma assinatura que especifica o evento, o consumidor e a ação. Com alguns consumidores, você cria uma assinatura no serviço do 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.

Barramento de Serviço do Azure

Service Bus é um serviço de mensagens que facilita a comunicação assíncrona entre aplicativos e serviços. Como consumidor do gancho de serviço, ele fornece integração a filas e tópicos do Barramento de Serviço e também aos 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 com suporte: 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 caracteres de conexão de SAS (assinatura de acesso compartilhado) a ser usada para se conectar ao Barramento de Serviço. 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, períodos, hifens, barras de avanço e sublinhados. O nome deve começar e terminar com uma letra ou um número. O hub já deve existir. string Sim
    tagsExpression Marcas Uma expressão de marcador direcionada a um conjunto específico de dispositivos. Para mais informações, veja Expressões de roteamento e marcação. string Não

Enviar uma mensagem a uma fila do Barramento de Serviço

Essa ação envia uma representação de cadeia de caracteres JSON de um evento a uma fila do Barramento de Serviço especificada. Para obter mais informações, consulte filas do Barramento de Serviço, tópicos e assinaturas.

  • ID do consumidor: azureServiceBus

  • ID da ação: serviceBusQueueSend

  • Eventos com suporte: 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 Barramento de Serviço 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 caracteres de conexão de SAS a ser usada para se conectar ao Barramento de Serviço. 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, períodos, hifens, barras de avanço e sublinhados. O nome deve começar e terminar com uma letra ou um 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 inicializada Uma opção para enviar mensagens ao Barramento de Serviço como cadeias de caracteres não serializadas em vez de como cadeias de caracteres serializadas .NET. Selecione essa configuração quando o receptor não for cliente .NET, por exemplo, quando o cliente usar a Biblioteca de Clientes do Azure para Node. boolean Não
    resourceDetailsToSend Detalhes do recurso a serem enviados O número de campos de recurso que serão enviados à fila. As possibilidades são: todos os campos, nenhum, e um número mínimo. string Não
    messagesToSend Mensagens a serem enviadas Os tipos de mensagens a serem enviadas à fila. string Não
    detailedMessagesToSend Mensagens detalhadas a serem enviadas Os tipos de mensagens detalhadas a serem enviadas à fila. string Não

Enviar uma mensagem a um tópico do Barramento de Serviço

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

  • ID do consumidor: azureServiceBus

  • ID da ação: serviceBusTopicSend

  • Eventos com suporte: 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 Barramento de Serviço 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 caracteres de conexão de SAS a ser usada para se conectar ao Barramento de Serviço. 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, períodos, hifens, barras de avanço e sublinhados. O nome deve começar e terminar com uma letra ou um 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 inicializada Uma opção para enviar mensagens ao Barramento de Serviço como cadeias de caracteres não serializadas em vez de como cadeias de caracteres serializadas .NET. Selecione essa configuração quando o receptor não for cliente .NET, por exemplo, quando o cliente usar a Biblioteca de Clientes do Azure para Node. boolean Não
    resourceDetailsToSend Detalhes do recurso a serem enviados O número de campos de recurso que serão enviados ao tópico. As possibilidades são: todos os campos, nenhum, e um número mínimo. string Não
    messagesToSend Mensagens a serem enviadas Os tipos de mensagens que devem ser enviadas para o tópico. string Não
    detailedMessagesToSend Mensagens detalhadas a serem enviadas Os tipos de mensagens detalhadas que devem ser 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 faz 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

Essa 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 com suporte: 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 somente em letras minúsculas da fila a ser usada no Armazenamento. Uma fila com esse nome será criada se ela ainda não existir. string Sim
    visiTimeout Tempo limite de visibilidade da mensagem O valor do 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 vida útil da mensagem. number Sim
    ttl Tempo de vida útil da mensagem O intervalo de vida útil (TTL) da mensagem da fila, em segundos. O valor máximo que você pode usar é sete dias ou 604.800 segundos. number Sim
    resourceDetailsToSend Detalhes do recurso a serem enviados O número de campos de recurso que serão enviados à fila. As possibilidades são: todos os campos, nenhum, e um número mínimo. string Não
    messagesToSend Mensagens a serem enviadas Os tipos de mensagens a serem enviadas à fila. string Não
    detailedMessagesToSend Mensagens detalhadas a serem enviadas Os tipos de mensagens detalhadas a serem enviadas à fila. string Não

Bamboo

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

Enfileirar uma compilação

Essa ação enfileira uma compilação do Bamboo.

  • ID do consumidor: bamboo

  • ID da ação: queueBuild

  • Eventos com suporte: git.push, , build.completetfvc.checkin

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    serverBaseUrl URL de base do Bamboo O URI que contém o nome do host do servidor do Bamboo. uri Sim
    basicAuthCredentials Credenciais básicas de autenticação Credenciais padrão a serem usadas 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 TLS (Transport Layer Security). É recomendável usar entidades de serviço e identidades gerenciadas no Azure DevOps. string Sim
    planName Plano O nome do plano a ser enfileirado. string Sim

Datadog

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

Postar um evento no Datadog

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

  • ID do consumidor: datadog

  • ID da ação: postEventInDatadog

  • Eventos com suporte: todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    apiKey Chave de API do Datadog A chave de acesso para sua conta do Datadog. Você pode encontrar sua chave de API no portal do Datadog. Vá para o seu perfil e selecione Configurações da Organização>Chaves de API. string Sim
    accountType Tipo de conta datadog O tipo de sua conta do Datadog. Você pode determinar o tipo de conta do nome do host da URL que sua conta do 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 e editor de gráficos de software livre.

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

Essa ação cria uma anotação no Grafana.

  • ID do consumidor: grafana

  • ID da ação: addAnnotation

  • Eventos com suporte: ms.vss-release.deployment-completed-event

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    url URL do Grafana A URL a ser usada para postar uma anotação no Grafana. uri Sim
    apiToken Token de API O token de acesso para postar anotações em um banco de dados grafana. Para obter informações sobre como criar um token, consulte Criar tokens e dashboards da Conta de Serviço para uma organização. string Sim
    tags Marcas A lista separada por vírgulas de marcas a serem usadas para adicionar anotações. string Sim
    annotationDeploymentDurationWindow Anotar a janela de duração da implantação Uma opção para configurar a janela de duração de uma anotação.
    - Quando selecionada, a anotação se aplica 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 versã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 controle O ID do painel ao qual adicionar a anotação. Quando uma ID não é especificada, a anotação é adicionada no nível global. string Não

Jenkins

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

Disparar uma compilação do Git

Essa ação usa o plug-in git do Jenkins para disparar um build em um repositório Git.

  • ID do consumidor: jenkins

  • ID da ação: triggerGitBuild

  • Eventos com suporte: git.push, git.pullrequest.merged

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    serverBaseUrl O URL base do Jenkins 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 por meio do TLS. É recomendável usar 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 interna do Jenkins
    - A integração estendida fornecida pelo plug-in do Servidor do Azure DevOps se esse plug-in estiver instalado no servidor Jenkins
    string Não

Iniciar uma compilação genérica

Essa ação dispara um build genérico do Jenkins que invoca a URL de build do Jenkins.

  • ID do consumidor: jenkins

  • ID da ação: triggerGenericBuild

  • Eventos com suporte: git.push, , git.pullrequest.merged, build.complete, , tfvc.checkinms.vss-release.deployment-completed-event

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    serverBaseUrl O URL base do Jenkins 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 por meio do TLS. É recomendável usar entidades de serviço e identidades gerenciadas no Azure DevOps. string Sim
    buildName Construir O nome da compilação a ser disparada. string Sim
    useTfsPlugin Nível de integração O nível de integração selecionado, que é um dos dois valores:
    - A API interna do Jenkins
    - A integração estendida fornecida pelo plug-in do Servidor do Azure DevOps se esse plug-in estiver instalado no servidor Jenkins
    string Não
    buildAuthToken Token de build Um token de autorização para uma compilação. Somente os usuários que conhecem o token podem disparar compilações remotamente. string Não
    buildParameterized Aceita parâmetros Uma opção que especifica se o build aceita parâmetros. boolean Não
    buildParams Parâmetros de build Compile parâmetros na forma de pares nome-valor. Em cada par, o nome e o valor são separados por dois-pontos, como <parameter>:<value>. Cada par de nome-valor aparece em sua própria linha. string Não

Slack

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

Postar uma mensagem em um canal

Essa ação posta 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 com suporte: todos os eventos

  • Configurações:

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

Trello

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

Criar um cartão

Essa 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 hook de serviço para Azure DevOps Services e TFS com Trello.

  • ID do consumidor: trello

  • ID da ação: createCard

  • Eventos com suporte: todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    userToken Token de usuário 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 Quadro O nome do quadro no qual o cartão Trello é criado. string Sim
    listId Lista O nome da lista na qual o cartão Trello é criado. string Sim
    labels Rótulos Uma lista separada por vírgulas de cores de rótulo a serem aplicadas ao cartão criado. Os nomes de cores de rótulo válidos são red, orange, yellow, , green, 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 trello. Quando esse 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 do texto do evento é usada como o nome. Você pode usar placeholders para inserir conteúdo do evento no nome. Para obter mais informações, consulte Criar um hook de serviço para Azure DevOps Services e TFS com 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 hook de serviço para Azure DevOps Services e TFS com Trello. string Não

Cria uma lista

Essa 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 hook de serviço para Azure DevOps Services e TFS com Trello.

  • ID do consumidor: trello

  • ID da ação: createList

  • Eventos com suporte: todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    userToken Token de usuário 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 Quadro O nome do quadro no qual a lista trello é criada. string Sim
    addToBottom Criar na parte inferior do quadro Uma opção que indica se o cartão deve ser criado no início ou no final do quadro. Quando esse 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 do texto do evento é usada como o nome. Você pode usar placeholders para inserir conteúdo do evento no nome. Para obter mais informações, consulte Criar um hook de serviço para Azure DevOps Services e TFS com Trello. string Não

Ganchos da Web

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

Postar via HTTP

Essa ação posta 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 no conteúdo do evento. Para obter mais informações, consulte Webhooks.

  • ID do consumidor: webHooks

  • ID da ação: httpRequest

  • Eventos com suporte: todos os eventos

  • Configurações:

    ID de entrada Nome Descrição Tipo de dados Obrigatório
    url URL A URL para a qual enviar um HTTP POST. uri Sim
    acceptUntrustedCerts Aceitar certificados SSL não confiáveis Uma opção para não exigir um certificado SSL (Secure Sockets Layer) de confiança para um endpoint. Use essa 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 por meio do TLS. É recomendável usar entidades de serviço e identidades gerenciadas no Azure DevOps. string Sim
    httpHeaders Cabeçalhos HTTP Chaves e valores de cabeçalho HTTP na forma de pares chave-valor. Em cada par, a chave e o valor são separados por dois-pontos, como <key>:<value>. Cada par de chave-valor aparece em sua própria linha. Esses valores podem ser visualizados por qualquer pessoa que tenha acesso à assinatura do gancho de serviço. string Não
    resourceDetailsToSend Detalhes do recurso a serem enviados O número de campos de recurso que serão enviados à fila. As possibilidades são: todos os campos, nenhum, e um número mínimo. string Não
    messagesToSend Mensagens a serem enviadas Os tipos de mensagens a serem enviadas à fila. string Não
    detailedMessagesToSend Mensagens detalhadas a serem enviadas Os tipos de mensagens detalhadas a serem enviadas à fila. string Não

Zendesk

O Zendesk é um pacote SaaS (software como serviço) que oferece emissão de tíquetes de help-desk, acompanhamento de problemas e suporte ao atendimento ao cliente.

Criar um comentário privado em um tíquete

Essa ação cria um comentário privado em um tíquete do Zendesk.

  • ID do consumidor: zendesk

  • ID da ação: createPrivateComment

  • Eventos com suporte: workitem.commented

  • Configurações:

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