Esta página descreve como configurar webhooks no Secure Source Manager.
Os webhooks são pedidos HTTP acionados por um evento no Secure Source Manager e enviados para um URL especificado pelo utilizador.
Antes de começar
Funções necessárias
Para receber as autorizações de que precisa para criar webhooks, peça ao seu administrador que lhe conceda as seguintes funções de IAM:
-
Administrador do repositório do Secure Source Manager (
roles/securesourcemanager.repoAdmin
) no repositório do Secure Source Manager -
Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor
) na instância do Secure Source Manager
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para obter informações sobre a concessão de funções do Secure Source Manager, consulte os artigos Controlo de acesso com o IAM e Conceda aos utilizadores acesso à instância.
Configure um webhook
- Na interface Web do Secure Source Manager, navegue para o repositório para o qual quer criar um webhook.
- Clique em Definições.
- Clique em Webhooks e, de seguida, em Adicionar webhook.
No campo ID do comando, introduza um ID para o webhook.
No campo URL de destino, introduza o URL do webhook. Por exemplo, se quiser acionar uma compilação no Jenkins, pode configurar um acionador de webhook e, em seguida, introduzir o URL do acionador do Jenkins aqui para acionar a compilação no Jenkins.
Se o URL do webhook contiver os valores da chave e do segredo introduzidos quando criou o acionador do webhook, remova-os do final do URL de destino e copie-os para o campo String de consulta sensível.
Para localizar a chave e o segredo no URL do webhook, procure o texto que começa com
key=
Por exemplo, dado o seguinte URL:
https://cloudbuild.googleapis.com/v1/projects/my-project/triggers/test-trigger:webhook?key=eitIfKhYnv0LrkdsyHqIros8fbsheKRIslfsdngf&secret=Hello%20Secret%20Manager
Copie e remova a parte que começa com o ponto de interrogação
?key=...
do campo URL de destino. Em seguida, remova o ponto de interrogação inicial, mova a parte restantekey=...
para o campo String de consulta sensível.Na secção Acionar em, selecione uma das seguintes opções:
- Push: para acionar quando é enviado um push para o repositório.
- Pull request state changed: para acionar uma alteração no estado do pedido de envio.
Se selecionou Push, pode introduzir uma lista de autorizações para eventos push no campo Filtro de ramificação.
O campo Filtro de ramificação usa o padrão glob e apenas as operações nas ramificações correspondentes acionam uma compilação. Se o campo estiver vazio ou for
*
, são comunicados eventos push para todas as ramificações. Para obter informações sobre a sintaxe, consulte a documentação glob.Clique em Adicionar webhook.
O webhook é apresentado na página Webhooks.
Teste o webhook
- Na página Webhooks do Secure Source Manager, clique no webhook que quer testar.
Aceda à parte inferior da página e clique em Testar entrega.
É adicionado um evento de marcador de posição à fila de fornecimento. Pode demorar alguns segundos até aparecer no histórico de envio.
Também pode usar um comando
git
para enviar ou unir um pedido de obtenção para testar o webhook.Verifique o estado da compilação ou do evento acionado no histórico de compilação do serviço onde configurou o acionador de webhook.
Também pode ver o Pedido e a Resposta ao fornecimento de teste na secção Fornecimentos recentes da página do webhook do Secure Source Manager depois de enviar o primeiro fornecimento de teste.
Substitua as variáveis YAML do Cloud Build por dados de payload
Se estiver a usar webhooks para estabelecer ligação ao Cloud Build, pode substituir as variáveis YAML do Cloud Build por dados de payload de webhook do Secure Source Manager.
Na página Webhooks do Secure Source Manager, na secção Entregas recentes, clique na linha superior.
O cabeçalho Request e o conteúdo enviados pela carga útil do webhook são apresentados.
Navegue para o painel de controlo do Cloud Build e, de seguida, clique em Acionadores.
Clique no acionador que quer configurar.
Na secção Avançado, em Variáveis de substituição, clique em + Adicionar variável.
Introduza o nome e o valor da variável. O prefixo do valor é
body
.Por exemplo, para substituir
_REPO_URL
pelo campo de dados da carga útilrepository.clone_url
e_COMMIT_SHA
pelo SHA de confirmação mais recente no YAML do Cloud Build, introduza os seguintes nomes e valores:- Variável 1:
_REPO_URL
Valor 1:$(body.repository.clone_url)
- Variável 2:
_COMMIT_SHA
Valor 2:$(body.after)
O ficheiro YAML do Cloud Build é semelhante ao seguinte:
steps: - name: gcr.io/cloud-builders/git env: - '_REPO_URL=$_REPO_URL' - '_COMMIT_SHA=$_COMMIT_SHA' script: | #!/bin/sh git clone ${_REPO_URL} /workspace cd /workspace git reset --hard ${_COMMIT_SHA}
- Variável 1: