Semaphore mit Ihren Tools verbinden
Verwalten Sie Ressourcen, führen Sie Tasks und Workflows aus und rufen Sie Ergebnisse über die REST API ab. Binden Sie eingehende Ereignisse mit Webhooks an.

Automatisierung in einem getrennten Tool unterbricht den Ablauf
Ihre Portale, Pipelines und Infrastrukturtools steuern bereits die Arbeit. Getrennte Automatisierung bedeutet wiederholte Einrichtung, Oberflächenwechsel und manuelles Zusammentragen von Ergebnissen.
Eine API für Einrichtung und Ausführung
Semaphore aus Ihren eigenen Systemen verwalten
Erstellen und aktualisieren Sie Projekte, Zugriffe und Automatisierungsressourcen über die REST API. Halten Sie Semaphore mit Ihrem Servicekatalog, Onboarding-Prozess oder Ihren Infrastrukturtools synchron.
Eine dokumentierte API für die gesamte Plattform
Konfigurieren Sie Ressourcen, verwalten Sie Zugriffe und prüfen Sie den Zustand. Anfragen verwenden die Berechtigungen des authentifizierten Kontos. Die OpenAPI-Referenz dokumentiert Parameter, Anfragekörper und Antworten.
API-Referenz erkundenAutomatisierung auslösen und das Ergebnis verfolgen
Erstellen Sie für REST-Aufrufe ein API-Token für ein Konto mit dem benötigten Projektzugriff. Erstellen Sie für eingehende Webhooks eine Integration, wählen Sie ihr Task Template und konfigurieren Sie die Authentifizierung der Anfragen.
Hinterlegen Sie die Webhook-URL in dem System, das das Ereignis sendet. Wählen Sie die gewünschten Ereignisse über Matcher aus und ordnen Sie Payload-Felder den Aufgabeneingaben zu. Eine direkte REST-Integration kann die API ohne Webhook aufrufen.
Rufen Sie den Aufgaben-Endpunkt mit der Kennung eines gespeicherten Task Template auf oder starten Sie über die Pro Workflow API eine vollständige Abfolge mit Abhängigkeiten und Freigaben. Bewahren Sie die zurückgegebene Ausführungskennung auf, um den Fortschritt zu verfolgen.
Speichern Sie die zurückgegebene Task- oder Workflow-Ausführungs-ID. Lesen Sie Status und Ausgabe über die API, damit Ihr Portal, Ihre Pipeline oder Ihr Infrastrukturdienst das Ergebnis verfolgen kann.
Ihre Tools mit derselben Automatisierung verbinden
Integrationsmöglichkeiten für REST API und Webhooks
Eingehende Ereignisse zum richtigen Job leiten
Verwenden Sie einen Projekt-Webhook-Alias, um Integrationsabgleiche auszuwerten und die Jobs auszuwählen, die ein Ereignis annehmen. Ein integrationsspezifischer Alias ruft direkt eine Integration auf und umgeht ihre Abgleiche. Prüfen Sie Repository-, Branch- oder Ereignisfelder, wenn mehrere Systeme einen Endpunkt teilen, und testen Sie passende sowie nicht passende Anfragen.
Ereignisdaten auf Ausführungseingaben abbilden
Lesen Sie Anfrage-Header oder Felder des Anfrageinhalts mit Wertextraktoren und ordnen Sie sie Umgebungswerten oder unterstützten Task-Parametern zu. Übergeben Sie Werte wie Release-Version, Dienstname oder Anfragereferenz, ohne den gespeicherten Job neu aufzubauen. Parameterzuordnungen müssen den vom Task Template bereitgestellten Eingabeabfragen entsprechen.
API-Aufrufe und eingehende Webhooks authentifizieren
REST-API-Aufrufe verwenden ein persönliches API-Token und die Berechtigungen des zugehörigen Semaphore-Kontos. Webhook-Integrationen besitzen eigene Authentifizierungseinstellungen, unter anderem für GitHub- und Bitbucket-Webhooks, Token, HMAC SHA-256 oder SHA-512 und BasicAuth. Konfigurieren Sie die vom Sender unterstützte Methode und halten Sie dessen Anfrage-Zugangsdaten von den Infrastruktur-Zugangsdaten des Jobs getrennt.
Semaphore aus Ihren eigenen Systemen verwalten
Die REST API umfasst Projekte, Repositories, Inventare, Zugangsdaten, Variable Groups, Task Templates, Zeitpläne und Integrationen sowie Task-Ausführung und die Pro-Workflow-API. Stellen Sie Automatisierungsressourcen aus Ihrem Dienst bereit, starten Sie einen konfigurierten Vorgang und lesen Sie anschließend Status und Ausgabe. Die OpenAPI-Referenz dokumentiert Endpunktparameter, Anfrageinhalte und Antwortschemas.
Verfolgen Sie den von Ihrer Anfrage erstellten Task
Eine erstellte Aufgabe wartet zunächst auf ihre Ausführung und ist noch nicht abgeschlossen. Bewahren Sie die von der API zurückgegebene Kennung auf und fragen Sie Status und Ausgabe über die dokumentierten Aufgaben-Endpunkte ab. So kann Ihr Dienst zwischen einem Anfragefehler, einer wartenden Ausführung und einem abgeschlossenen Ergebnis unterscheiden und direkt auf die tatsächlichen Nachweise verlinken. Setzen Sie keine bestimmte Zustellung voraus: Ein vorgelagerter Dienst kann nach einer Zeitüberschreitung erneut senden, obwohl die erste Anfrage angekommen ist. Behandeln Sie daher Duplikate, wenn der Vorgang Auswirkungen hat, und gestalten Sie die Automatisierung idempotent. Ergebnisse an Chat oder E-Mail zu senden ist eine separate Funktion.
GitHub, Bitbucket und weitere Ereignisquellen anbinden
Integrationen unterstützen die Webhook-Authentifizierung von GitHub und Bitbucket, Tokens, HMAC SHA-256 oder SHA-512 sowie Basic Auth. Gleichen Sie eingehende Header oder Textfelder ab und extrahieren Sie anschließend die Werte, die der gespeicherte Job benötigt. Verwenden Sie die REST API, wenn der Aufrufer auch Ergebnisse prüfen oder Ressourcen verwalten muss.
Dokumentation und verwandte Funktionen
FAQ
Sollte ich zum Starten eines Jobs die REST API oder eine Webhook-Integration verwenden?
Verwenden Sie eine Webhook-Integration, wenn ein externes Ereignis ein vordefiniertes Task Template auswählen und Anfragewerte auf akzeptierte Eingaben abbilden soll. Verwenden Sie die REST API, wenn Ihre Anwendung einen ausdrücklich gesteuerten Ressourcen- und Ausführungsablauf benötigt, etwa Task-Start und Statusabfrage. In beiden Fällen läuft die Automatisierung über das konfigurierte Semaphore-Ausführungsmodell. Wählen Sie danach, was der Aufrufer senden und verfolgen muss.
Was unterscheidet projektbezogene und integrationsspezifische Aliasse?
Ein Projekt-Alias prüft die konfigurierten Matcher seiner Integrationen und kann diejenigen starten, die zur Anfrage passen. Ein integrationsspezifischer Alias spricht eine Integration direkt an, ohne ihre Matcher auszuwerten. Das ist wichtig, wenn eine Branch- oder Ereignistyp-Regel die Ausführung steuern soll. Wählen Sie den Endpunkt bewusst und testen Sie passende sowie nicht passende Payloads. Gehen Sie nicht davon aus, dass derselbe Filter für jeden Alias-Pfad gilt.
Wie kann ein Webhook eine Release-Version oder einen Umgebungswert übergeben?
Konfigurieren Sie Extraktoren so, dass sie die relevanten Anfrageheader oder Body-Felder lesen und dokumentierten Umgebungswerten oder Aufgabenparametern zuordnen. Die Parameterziele müssen zu den erlaubten Eingabeabfragen der Vorlage passen. Begrenzen Sie das Mapping gezielt: Eine Release-Version sollte die vorgesehene Eingabe ergeben, keinen beliebigen Befehlsbaustein. Prüfen Sie den Wert in Ihrer Automatisierung, wenn seine Bedeutung eine Prüfung erfordert, und testen Sie fehlende oder unerwartete Felder vor dem Produktiveinsatz.
Welche Identität und Berechtigungen verwendet eine API-Anfrage?
Ein API-Token handelt mit den Berechtigungen seines Semaphore-Benutzers. Verwenden Sie eine Identität, deren Projektzugriff zu den vorgesehenen Integrationsvorgängen passt, und schützen Sie das Token überall, wo der aufrufende Dienst es speichert. Die API umgeht keine Projektberechtigungen. Konfigurieren Sie bei Webhook-Integrationen außerdem die dokumentierte Anfrageauthentifizierung und die Erreichbarkeit des Endpunkts bewusst. Trennen Sie die Authentifizierung des Aufrufers von den Zugangsdaten, mit denen die entstandene Aufgabe auf Infrastruktur zugreift.
Wie sollte mein Dienst den Task nach dem Start verfolgen?
Speichern Sie bei einem REST-API-Ablauf die von der dokumentierten Operation zurückgegebene Task-Kennung und prüfen Sie Status und Ausgabe über die entsprechenden API-Methoden. Eine erfolgreiche Anfrage bedeutet, dass die Ausführung angefordert wurde, nicht dass die Infrastrukturarbeit erfolgreich abgeschlossen ist. Ihr Dienst sollte zwischen Anfragefehlern, wartenden oder laufenden Tasks und abgeschlossenen Ergebnissen unterscheiden. Verlinken Sie auf den Task, wenn Verantwortliche die tatsächlichen Ausführungsnachweise untersuchen müssen.
Garantieren Webhook-Wiederholungen, dass ein Job nur einmal ausgeführt wird?
Gehen Sie weder von einer genau einmaligen Ausführung noch von garantierter dauerhafter Zustellung aus. Ein externer Dienst kann eine Anfrage nach einer Zeitüberschreitung wiederholen, obwohl die erste Anfrage Semaphore erreicht hat. Richten Sie den Umgang mit Duplikaten und Wiederholungen nach den Folgen des Vorgangs aus und gestalten Sie die zugrunde liegende Automatisierung gegebenenfalls idempotent. Halten Sie die Zuordnung zwischen dem ursprünglichen Ereignis und der von Ihrem Dienst verfolgten Ausführung fest, damit sich wiederholte oder unklare Zustellungen nachvollziehen lassen.
Wo finde ich die Semaphore-API-Spezifikation?
Die Referenz dieser Website stellt das mit dem Semaphore-Release veröffentlichte Swagger-/OpenAPI-Dokument dar. Die angezeigten Operationen, Pfade und Schemas entsprechen damit einer bestimmten Version statt einer manuell geschriebenen Zusammenfassung. Durchsuchen Sie es unter /api-docs/ nach Ressourcen oder lesen Sie das Rohdokument, wenn Sie daraus einen Client erzeugen. Prüfen Sie stets die Spezifikation Ihrer tatsächlich eingesetzten Version, da sich Endpunkte und Anfrageschemas zwischen Releases ändern können.
Benötigt eine Webhook-Integration einen aus dem Internet erreichbaren Endpunkt?
Das aufrufende System muss Ihre Semaphore-Instanz erreichen; dafür ist nicht zwingend das öffentliche Internet erforderlich. Ein privates Netzwerk, VPN oder interner Load Balancer genügt, wenn der Aufrufer darin läuft. Unsere eigene Prüfung von Abgleich und Extraktoren nutzte einen nur über Loopback erreichbaren Listener ohne Authentifizierung. Das ist kein Vorbild für einen öffentlich erreichbaren Endpunkt. Sobald der Alias von außerhalb Ihres vertrauenswürdigen Netzwerks erreichbar ist, konfigurieren Sie eine unterstützte Authentifizierung und beschränken Sie die Erreichbarkeit zusätzlich auf Netzwerkebene.
Wie kann ich eine Integration testen, bevor ich ein echtes System anbinde?
Richten Sie die Integration zunächst auf ein ungefährliches Task Template und senden Sie die Nutzdaten selbst mit curl oder einem anderen HTTP-Client. Senden Sie zuerst einen nicht passenden Inhalt und prüfen Sie, dass kein Task erscheint. Senden Sie dann einen passenden Inhalt und prüfen Sie, dass genau ein Task startet. Öffnen Sie dessen Detailansicht: Sie erfasst die Integration als Quelle und zeigt der Ausführung die extrahierten Werte. Diesen Ablauf haben wir auch lokal verwendet; er deckt einen falschen Abgleichschlüssel auf, bevor ein externer Dienst davon abhängt.
Kann ich Semaphore-Ressourcen über die API verwalten und Workflows ausführen?
Ja. Die REST API umfasst Projekte, Repositories, Inventare, Zugangsdaten, Variable Groups, Task Templates und weitere Automatisierungsressourcen. Ihr Portal oder Infrastrukturdienst kann sie konfigurieren, Tasks starten und Status sowie Ausgabe lesen. Pro stellt außerdem Workflow-Ausführungen und Freigaben über die API bereit. So kann eine CI/CD-Pipeline einen vollständigen mehrstufigen Vorgang starten. Nutzen Sie die OpenAPI-Referenz für Endpunktparameter und Antwortschemas.
