Conecte o Semaphore às suas ferramentas

Gerencie recursos, execute tarefas e workflows e obtenha resultados pela REST API. Conecte eventos recebidos com webhooks.

Automação em uma ferramenta separada interrompe o fluxo

Seus portais, pipelines e ferramentas já conduzem o trabalho. Separar a automação exige repetir configurações, trocar interfaces e coletar resultados manualmente.

Uma API para configuração e execução

Gerencie o SemaphoreProjetos, acesso e configuração de automação
Dispare automaçãoTarefas, workflows e execuções por eventos
Obtenha resultadosStatus, logs e saída da execução

Gerencie o Semaphore pelos seus próprios sistemas

Crie e atualize projetos, acesso e recursos de automação pela REST API. Mantenha o Semaphore sincronizado com catálogo de serviços, processo de integração de pessoas ou ferramentas de infraestrutura.

Dispare automação e acompanhe o resultado

Conecte suas ferramentas à mesma automação

Mantenha a operação em um modelo de tarefa

Seu portal inicia o mesmo trabalho que um engenheiro executa na interface.

Modelos de tarefas

Dispare uma sequência de trabalhos

Conecte tarefas, dados, aprovações e ramificações baseadas no resultado.

Workflows

Opções de integração REST API e webhook

Direcione eventos recebidos ao trabalho certo

Use um alias webhook de projeto para avaliar critérios de integração e selecionar trabalhos que aceitam o evento. Um alias específico chama uma integração diretamente e ignora seus critérios. Compare repositório, branch ou campos de evento quando sistemas compartilham endpoint e teste solicitações correspondentes e não correspondentes.

Mapeie payloads de eventos para entradas de execução

Leia cabeçalhos ou campos do corpo com extratores e mapeie para valores de ambiente ou parâmetros de tarefa compatíveis. Passe valores como versão de release, nome de serviço ou referência da solicitação sem recriar o trabalho salvo. Os mapeamentos de parâmetros devem corresponder às entradas que o modelo expõe.

Autentique chamadas de API e webhooks recebidos

Chamadas REST API usam um token pessoal e as permissões da conta Semaphore correspondente. Integrações webhook têm autenticação própria, incluindo webhooks GitHub e Bitbucket, Token, HMAC SHA-256 ou SHA-512 e BasicAuth. Configure o método suportado pelo emissor e separe as credenciais da solicitação das credenciais de infraestrutura do trabalho.

Gerencie o Semaphore pelos seus próprios sistemas

A REST API abrange projetos, repositórios, inventários, credenciais, grupos de variáveis, modelos, agendamentos e integrações, além de execução e Pro Workflow API. Provisione recursos pelo serviço, inicie uma operação configurada e leia status e saída. A referência OpenAPI documenta parâmetros, corpos e esquemas de resposta.

Acompanhe a tarefa criada pela solicitação

Uma tarefa criada é uma execução na fila, não uma execução concluída. Guarde o identificador retornado pela API e consulte periodicamente os endpoints documentados de tarefas para obter o status e a saída. Assim, seu serviço distingue um erro de solicitação, uma execução aguardando e um resultado concluído, além de encaminhar o engenheiro diretamente às evidências reais. Não presuma o comportamento da entrega: um serviço de origem pode tentar novamente após um tempo limite, mesmo que a primeira solicitação tenha chegado. Portanto, trate duplicidades quando a operação tiver consequências e torne a automação idempotente. Enviar resultados para chat ou e-mail é uma capacidade separada.

Conecte GitHub, Bitbucket e outras fontes de eventos

Integrações oferecem autenticação de webhooks GitHub e Bitbucket, tokens, HMAC SHA-256 ou SHA-512 e Basic Auth. Compare cabeçalhos ou campos do corpo recebidos e extraia os valores necessários ao trabalho salvo. Use a REST API quando o chamador também precisar inspecionar resultados ou gerenciar recursos.

FAQ

Devo usar REST API ou integração webhook para iniciar um trabalho?

Use webhook quando um evento externo deva selecionar modelo predefinido e mapear valores para entradas aceitas. Use REST API para um fluxo mais explícito de recursos e execução, como iniciar tarefa e ler status. Em ambos, a automação usa o modelo de execução configurado do Semaphore. Escolha pelo que o chamador precisa enviar e acompanhar.

Qual a diferença entre aliases de projeto e específicos de integração?

Um alias de projeto avalia os critérios de correspondência configurados nas suas integrações e pode iniciar aquelas que correspondem à solicitação. Um alias específico de integração direciona a solicitação a uma única integração, sem avaliar seus critérios. Essa diferença importa quando você espera que uma regra de branch ou tipo de evento controle a execução. Escolha o endpoint deliberadamente e teste payloads correspondentes e não correspondentes, em vez de presumir que o mesmo filtro se aplica a todos os caminhos de alias.

Como um webhook passa uma versão de release ou valor de ambiente?

Configure extratores para ler cabeçalhos ou campos do corpo relevantes e mapeá-los para valores de ambiente ou parâmetros documentados da tarefa. Os destinos de parâmetros devem corresponder às entradas aceitas pelo modelo. Mantenha o mapeamento específico: uma versão de release deve se tornar a entrada pretendida, não um fragmento irrestrito de comando. Valide o valor na automação quando seu significado exigir e teste campos ausentes ou inesperados antes do uso em produção.

Que identidade e permissões uma solicitação API usa?

Um token de API atua com as permissões do seu usuário Semaphore. Use uma identidade cujo acesso ao projeto corresponda às operações pretendidas pela integração e proteja o token onde o chamador o armazena. A API não contorna a autorização do projeto. Para integrações por webhook, configure deliberadamente também a autenticação documentada da solicitação e a exposição do endpoint. Separe a autenticação do chamador das credenciais que a tarefa resultante usa para acessar a infraestrutura.

Como meu serviço acompanha uma tarefa depois de iniciá-la?

Em um fluxo REST API, retenha o identificador de tarefa retornado pela operação documentada e use os métodos correspondentes para inspecionar estado e saída. Uma solicitação bem-sucedida significa que a execução foi solicitada, não que o trabalho de infraestrutura terminou com sucesso. Seu serviço deve distinguir erros de solicitação, tarefas aguardando ou em execução e resultados concluídos. Encaminhe engenheiros à tarefa quando precisarem investigar as evidências reais de execução.

As novas tentativas de um webhook garantem que o trabalho execute apenas uma vez?

Não presuma execução exatamente uma vez nem garantias de entrega durável. Um serviço externo pode repetir uma solicitação após tempo limite mesmo quando a primeira chegou ao Semaphore. Projete o tratamento de duplicidades e as decisões de nova tentativa conforme as consequências da operação e torne a automação subjacente idempotente quando adequado. Mantenha uma correlação entre o evento de origem e a execução acompanhada pelo serviço para que engenheiros entendam entregas repetidas ou incertas.

Onde encontro a especificação da API Semaphore?

A referência deste site renderiza o documento Swagger/OpenAPI publicado com a versão Semaphore. Operações, caminhos e esquemas correspondem a uma versão específica, não a um resumo manual. Consulte por recurso em /api-docs/ ou leia o documento original para gerar um cliente. Sempre confira a especificação da versão realmente usada, pois endpoints e esquemas podem mudar entre versões.

Uma integração webhook precisa de endpoint exposto à internet?

O sistema chamador precisa alcançar sua instância Semaphore, mas isso não exige internet pública. Rede privada, VPN ou balanceador interno bastam quando o chamador está dentro. Nossa verificação de critérios e extratores usou listener só de loopback sem autenticação, não um exemplo para endpoint exposto. Sempre que o alias puder ser acessado fora da rede confiável, configure autenticação compatível e restrinja também a exposição na rede.

Como testar uma integração antes de conectar um sistema real?

Primeiro direcione a integração a um modelo inofensivo e envie os payloads com curl ou outro cliente HTTP. Envie um corpo sem correspondência e confirme que nenhuma tarefa aparece; depois envie um correspondente e confirme o início de exatamente uma tarefa. Abra os Detalhes: a integração fica registrada como origem e os valores extraídos aparecem para a execução. É a sequência que usamos localmente e detecta uma chave incorreta no critério antes de um serviço externo depender dele.

Posso gerenciar recursos Semaphore e executar workflows pela API?

Sim. A REST API abrange projetos, repositórios, inventários, credenciais, grupos de variáveis, modelos e outros recursos. Seu portal ou serviço de infraestrutura pode configurar, iniciar tarefas e ler status e saída. Pro também expõe execuções e aprovações de workflows pela API para um pipeline CI/CD iniciar uma operação completa. Use a referência OpenAPI para parâmetros e esquemas de resposta.