Skip to main content
Senden Sie Corgea-Benachrichtigungen an Slack, indem Sie unter Integrations → Webhooks einen Webhook aus Slack Workflow Builder verbinden.
Die separate Zeile Slack unter Automation Integrations ist veraltet. Erstellen Sie neue Slack-Benachrichtigungen über Webhooks. Bestehende Slack-Integrationen funktionieren weiterhin und lassen sich über View All testen oder löschen.
Automatisierungsintegrationen mit Slack als veraltet gekennzeichnet

Voraussetzungen

  • Admin-Zugriff in Corgea
  • Berechtigung, Workflows in Ihrem Slack-Arbeitsbereich zu erstellen

Einrichten des Slack Workflow Builders

Mit Slack Workflow Builder können Sie die Top-Level-Felder des Corgea-Payloads einer Channel-Nachricht zuordnen.
Slack Workflow Builder unterstützt nur JSON-Schlüssel auf oberster Ebene. Verschachtelte Pfade wie data.message oder data.summary.total_issues werden nicht unterstützt und führen häufig zu HTTP 400 invalid_workflow_input.Bei Type = Slack und einer Workflow-Builder-URL (hooks.slack.com/triggers/...) flacht Corgea nur scan.started, scan.completed, scan.failed und webhook.test zu einem Top-Level-Payload ab. Ordnen Sie message, pull_request_id, scan_url und true_positive_count zu, nicht verschachtelte data.*-Felder.Andere abonnierte Ereignisse auf demselben Slack-Webhook (zum Beispiel issue.status_changed oder sla.violation) erhalten weiterhin die verschachtelte Nachricht. Bevorzugen Sie Scan-Lifecycle-Abonnements für Workflow Builder oder verwenden Sie einen benutzerdefinierten Body / nicht-Slack-Ziel für diese Ereignisse.
1

Workflow erstellen

  1. Öffnen Sie in Slack Ihr Arbeitsbereichs-Menü
  2. Öffnen Sie Tools → Workflow Builder
  3. Klicken Sie auf Create
  4. Wählen Sie Webhook als Trigger
  5. Nennen Sie den Workflow und fahren Sie fort
2

Workflowschritte konfigurieren

  1. Kopieren Sie die Webhook-URL des Workflow-Builders (hooks.slack.com/triggers/...)
  2. Fügen Sie im Webhook-Auslöser Schritt Variablen hinzu, deren Namen den obersten Schlüsseln von Corgea entsprechen (Slack erkennt Payload-Felder nicht automatisch). Fügen Sie mindestens hinzu: message, pull_request_id, scan_url, true_positive_count, scan_id, event_type, project_name, status, branch, company
  3. Fügen Sie den Schritt Send a message hinzu. Corgea veröffentlicht nicht selbstständig in Slack.
  4. Fügen Sie die Webhook-Variablen über Insert a variable in die Nachricht ein. Direkt eingegebener Text wie {message} funktioniert nicht.
Beispiel für einen flachen scan.completed-Text, den Corgea an den Workflow Builder sendet (verschachtelte project, summary und scheduled_scan_ids sind nicht enthalten):
Bei scan.failed enthält das flache Payload außerdem das Top-Level-Feld error, sofern vorhanden.Beginnen Sie mit message für eine versandfertige Zusammenfassung, fügen Sie dann pull_request_id, scan_url und true_positive_count für die PR-Triage hinzu.Die message eines abgeschlossenen Scans verwendet die Anzahl der True Positives, nicht die Gesamtzahl der Issues: Scan completed for {project} (PR #N): X true-positive finding(s) [(Y with fixes)]. View: {scan_url} Y with fixes zählt nur Fixes für diese True-Positive-Findings.
  1. Beenden und veröffentlichen Sie den Workflow
3

In Corgea konfigurieren

  1. Öffnen Sie Integrations → Webhooks
  2. Erstellen Sie einen Webhook
  3. Setzen Sie Type auf Slack
  4. Geben Sie einen Namen ein und fügen Sie die Workflow-Builder-URL ein
  5. Abonnieren Sie scan.completed und/oder scan.failed, optional scan.started
  6. Optional unter Scan Event Filters:
    • Only pull request / merge request scans — überspringt Scans ohne PR oder MR
    • Only completed scans with true-positive findings — überspringt scan.completed, wenn true_positive_count gleich 0 ist; scan.failed bleibt unverändert
  7. Klicken Sie auf Create Webhook und speichern Sie den einmalig angezeigten Secret Key
  8. Prüfen Sie die Zustellung mit Test

Erwartetes Verhalten beim Webhook-Test

Wenn Sie im Slack Workflow Builder-Ziel auf Test Webhook klicken, sendet Corgea ein einfaches Beispiel wie:
company entspricht den Live-Scan-Events. company_id enthält aus Kompatibilitätsgründen denselben Wert für ältere Test-Consumer. Andere Ziele als Slack erhalten dieselben Felder im regulären Envelope unter data. Erwartetes Ergebnis:
  • HTTP 2xx von Slack (nicht 400 invalid_workflow_input)
  • Eine nicht-leere Slack-Nachricht, wenn Sie die Top-Level-Variable message zuordnen
  • Variablennamen, die mit Produktions-Scan-Ereignissen übereinstimmen (damit Sie PR # / Scan-Link / TP-Anzahl während des Tests zuordnen können)

Benachrichtigungsinhalt

Für Slack Workflow Builder (Type = Slack + hooks.slack.com/triggers/...), ordnen Sie diese obersten Felder zu: true_positive_count entspricht der Sicherheitszählung der Scan-Benutzeroberfläche: schließt status=false_positive, hold_reason=false_positive und detected_by=code-quality aus. Verschachtelte Felder wie summary, project, scheduled_scan_ids, scan_errors, created_at und processed_at bleiben unter data für Zapier/Andere verfügbar (und in der Lieferhistorie), werden jedoch nicht für den Slack Workflow Builder abgeflacht.

Hinweise zur Kompatibilität

  • Zapier / Other: erhalten weiterhin den verschachtelten Envelope (event_id, event_type, timestamp, data) einschließlich data.message, data.summary und der neuen Triage-Felder unter data.
  • Bestehende Slack Workflow Builder-Konfigurationen, die verschachtelte data.* abbildeten, funktionieren nicht – auf oberste Ebenen (message, nicht data.message) neu zuordnen.
  • Die Delivery History in Corgea speichert den verschachtelten Envelope, auch wenn Slack einen flachen HTTP-Body erhält.
  • Nicht-Scan-Ereignisse auf einem Slack WF-Webhooks werden nicht abgeflacht; behalten Sie diese bei Zapier/Other oder einem benutzerdefinierten Body, wenn Sie nutzbare Slack-Variablen benötigen.

Incoming Webhooks und Workflow Builder

  • Empfohlen: Workflow-Builder-URLs (hooks.slack.com/triggers/...) mit einem Schritt Send a message. Corgea flacht scan.* und webhook.test für Type = Slack ab.
  • Eingehende Webhooks (hooks.slack.com/services/...): Werden beim Speichern abgelehnt, es sei denn, Sie fügen einen benutzerdefinierten Body hinzu, dessen gerendertes JSON ein oberstes nicht-leeres Stringfeld text enthält (Slack-Fallback-Text; optionale blocks sind daneben erlaubt). {"text": "{{message}}"} funktioniert nur, wenn der Webhook auf scan.started / scan.completed / scan.failed / scheduled_scan.daily_report beschränkt ist ({{message}} ist für andere Ereignisse leer). Ohne einen gültigen Body schlagen Zustellungen fehl und der Webhook kann automatisch pausieren.

Verwalten bestehender Slack-Integrationen

Wenn Sie noch Integrationen in der veralteten Slack-Zeile haben, öffnen Sie View All, um sie zu testen oder zu löschen:
Alle Slack-Integrationen-Modale zur Verwaltung bestehender Integrationen anzeigen

Anpassungsoptionen

Mit dem Workflow-Builder können Sie:
  • Nachrichten nach Schweregrad oder Projekt an verschiedene Kanäle weiterleiten
  • Erinnerungen oder Folgeschritte hinzufügen
  • Bedingte Logik basierend auf Scan-Ergebnissen erstellen (zum Beispiel nur benachrichtigen, wenn true_positive_count größer als 0 ist)
  • Die gleichen Payload-Variablen über mehrere Aktionen wiederverwenden
Verwenden Sie bevorzugt Corgeas Scan Event Filters (nur PRs sowie abgeschlossene Scans mit Findings), um unnötige Benachrichtigungen aus geplanten oder vollständigen Scans ohne Drittanbieter wie Zapier zu vermeiden.

Zusätzliche Ressourcen