Konfigurieren Sie Webhooks in Argo CD manuell

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Konfigurieren Sie Webhooks auf der Argo CD, um Synchronisierungsbenachrichtigungen an die DevOps Change Velocity-Anwendung zu senden.

    Vorbereitungen

    Erforderliche Rolle: Argo CD-Administrator

    Warum und wann dieser Vorgang ausgeführt wird

    Das Abonnement von Argo CD-Anwendungsereignissen kann mit definiert werden Benachrichtigungen.argoproj.io/subscribe.<trigger>.<service>: <recipient> Anmerkung.

    Prozedur

    1. Aktualisieren Sie auf der Argo CD ConfigMap: Argocd-Notifications-cm.yaml Zum Einrichten der Benachrichtigungen, die an gesendet werden DevOps Change-Geschwindigkeit.
      apiVersion: v1 
      kind: configMap 
      metadata: 
        name: argocd-notifications-cm 
        namespace: default 
      data: 
        context: | 
          argocdUrl: "https://<argocdURL>" 
        service.webhook.sn_devops_argocd: | 
          url: https://<instance>.service-now.com/api/sn_devops/v2/devops/tool/orchestration?toolId=<toolId> 
          basicAuth: #optional username password 
            username: "" 
            password: "" 
        template.app-sync-succeeded: | 
          webhook: 
            sn_devops_argocd: 
              method: POST 
              body: | 
                {  
                "titleLink" : "http://<argocdURL>/applications/{{.app.metadata.name}}", 
                "syncStatus" : "{{.app.status.sync.status}}", 
                "repo" : "{{.app.spec.source.repoURL}}", 
                "revision": "{{.app.status.sync.revision}}", 
                "path": "/repos/{{call .repo.FullNameByRepoURL .app.spec.source.repoURL}}/statuses/{{.app.status.operationState.operation.sync.revision}}", 
                "commitAuthor" : "{{(call .repo.GetCommitMetadata .app.status.sync.revision).Author}}", 
                "commitMessage" : "{{(call .repo.GetCommitMetadata .app.status.sync.revision).Message}}", 
                "commitTags" : "{{(call .repo.GetCommitMetadata .app.status.sync.revision).Tags}}", 
                "startedAt" : "{{.app.status.operationState.startedAt}}", 
                "finishedAt" : "{{.app.status.operationState.finishedAt}}", 
                "message": "{{.app.metadata.name}} app is synced" 
                } 
        trigger.on-sync-status-unknown: | 
          - description: Application status is 'Unknown' 
            send: 
            - app-sync-status-unknown 
            when: app.status.sync.status == 'Unknown' 
        trigger.on-sync-succeeded: | 
          - description: Application syncing has succeeded 
            send: 
            - app-sync-succeeded 
            when: app.status.operationState.phase in ['Succeeded'] 
        subscriptions: | 
          - recipients: 
            - sn_devops_argocd 
            triggers: 
            - on-sync-succeeded 
            - on-sync-status-unknown
    2. Öffnen Sie die Argo CD-App, für die Sie Webhooks konfigurieren.
    3. Navigieren Sie zu APP-DETAILS > ZUSAMMENFASSUNG .
    4. Fügen Sie hinzu Benachrichtigungen.argoproj.io/subscribe.<trigger>.<service>: <recipient> Anmerkung mit der Auslöserbedingung zum Synchronisieren des Change-Status für Ihre Instanz.
      Beispiel: Benachrichtigungen.argoproj.io/subscribe.on-Sync-successful.sn_devops_argocd .Benachrichtigungsabonnement.