Triggers and Templates Catalog
Triggers
| NAME | DESCRIPTION | TEMPLATE |
|---|---|---|
| on-created | Application is created. | app-created |
| on-deleted | Application is deleted. | app-deleted |
| on-deployed | Application is synced and healthy. Triggered once per commit. | app-deployed |
| on-health-degraded | Application has degraded | app-health-degraded |
| on-sync-failed | Application syncing has failed | app-sync-failed |
| on-sync-running | Application is being synced | app-sync-running |
| on-sync-status-unknown | Application status is ‘Unknown’ | app-sync-status-unknown |
| on-sync-succeeded | Application syncing has succeeded | app-sync-succeeded |
Templates
app-created
definition:
email:subject: Application {{.app.metadata.name}} has been created.message: Application {{.app.metadata.name}} has been created.teams:title: Application {{.app.metadata.name}} has been created.
app-deleted
definition:
email:subject: Application {{.app.metadata.name}} has been deleted.message: Application {{.app.metadata.name}} has been deleted.teams:title: Application {{.app.metadata.name}} has been deleted.
app-deployed
definition:
email:subject: New version of an application {{.app.metadata.name}} is up and running.message: |{{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} is now running new version of deployments manifests.slack:attachments: |[{"title": "{{ .app.metadata.name}}","title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}","color": "#18be52","fields": [{"title": "Sync Status","value": "{{.app.status.sync.status}}","short": true},{"title": "Repository","value": "{{.app.spec.source.repoURL}}","short": true},{"title": "Revision","value": "{{.app.status.sync.revision}}","short": true}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"title": "{{$c.type}}","value": "{{$c.message}}","short": true}{{end}}]}]deliveryPolicy: PostgroupingKey: ""notifyBroadcast: falseteams:facts: |[{"name": "Sync Status","value": "{{.app.status.sync.status}}"},{"name": "Repository","value": "{{.app.spec.source.repoURL}}"},{"name": "Revision","value": "{{.app.status.sync.revision}}"}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"name": "{{$c.type}}","value": "{{$c.message}}"}{{end}}]potentialAction: |-[{"@type":"OpenUri","name":"Operation Application","targets":[{"os":"default","uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}"}]},{"@type":"OpenUri","name":"Open Repository","targets":[{"os":"default","uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"}]}]themeColor: '#000080'title: New version of an application {{.app.metadata.name}} is up and running.
app-health-degraded
definition:
email:subject: Application {{.app.metadata.name}} has degraded.message: |{{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} has degraded.Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.slack:attachments: |[{"title": "{{ .app.metadata.name}}","title_link": "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}","color": "#f4c030","fields": [{"title": "Health Status","value": "{{.app.status.health.status}}","short": true},{"title": "Repository","value": "{{.app.spec.source.repoURL}}","short": true}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"title": "{{$c.type}}","value": "{{$c.message}}","short": true}{{end}}]}]deliveryPolicy: PostgroupingKey: ""notifyBroadcast: falseteams:facts: |[{"name": "Health Status","value": "{{.app.status.health.status}}"},{"name": "Repository","value": "{{.app.spec.source.repoURL}}"}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"name": "{{$c.type}}","value": "{{$c.message}}"}{{end}}]potentialAction: |[{"@type":"OpenUri","name":"Open Application","targets":[{"os":"default","uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}"}]},{"@type":"OpenUri","name":"Open Repository","targets":[{"os":"default","uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"}]}]themeColor: '#FF0000'title: Application {{.app.metadata.name}} has degraded.
app-sync-failed
definition:
email:subject: Failed to sync application {{.app.metadata.name}}.message: |{{if eq .serviceType "slack"}}:exclamation:{{end}} The sync operation of application {{.app.metadata.name}} has failed at {{.app.status.operationState.finishedAt}} with the following error: {{.app.status.operationState.message}}Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .slack:attachments: |[{"title": "{{ .app.metadata.name}}","title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}","color": "#E96D76","fields": [{"title": "Sync Status","value": "{{.app.status.sync.status}}","short": true},{"title": "Repository","value": "{{.app.spec.source.repoURL}}","short": true}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"title": "{{$c.type}}","value": "{{$c.message}}","short": true}{{end}}]}]deliveryPolicy: PostgroupingKey: ""notifyBroadcast: falseteams:facts: |[{"name": "Sync Status","value": "{{.app.status.sync.status}}"},{"name": "Failed at","value": "{{.app.status.operationState.finishedAt}}"},{"name": "Repository","value": "{{.app.spec.source.repoURL}}"}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"name": "{{$c.type}}","value": "{{$c.message}}"}{{end}}]potentialAction: |-[{"@type":"OpenUri","name":"Open Operation","targets":[{"os":"default","uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"}]},{"@type":"OpenUri","name":"Open Repository","targets":[{"os":"default","uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"}]}]themeColor: '#FF0000'title: Failed to sync application {{.app.metadata.name}}.
app-sync-running
definition:
email:subject: Start syncing application {{.app.metadata.name}}.message: |The sync operation of application {{.app.metadata.name}} has started at {{.app.status.operationState.startedAt}}.Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .slack:attachments: |[{"title": "{{ .app.metadata.name}}","title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}","color": "#0DADEA","fields": [{"title": "Sync Status","value": "{{.app.status.sync.status}}","short": true},{"title": "Repository","value": "{{.app.spec.source.repoURL}}","short": true}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"title": "{{$c.type}}","value": "{{$c.message}}","short": true}{{end}}]}]deliveryPolicy: PostgroupingKey: ""notifyBroadcast: falseteams:facts: |[{"name": "Sync Status","value": "{{.app.status.sync.status}}"},{"name": "Started at","value": "{{.app.status.operationState.startedAt}}"},{"name": "Repository","value": "{{.app.spec.source.repoURL}}"}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"name": "{{$c.type}}","value": "{{$c.message}}"}{{end}}]potentialAction: |-[{"@type":"OpenUri","name":"Open Operation","targets":[{"os":"default","uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"}]},{"@type":"OpenUri","name":"Open Repository","targets":[{"os":"default","uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"}]}]title: Start syncing application {{.app.metadata.name}}.
app-sync-status-unknown
definition:
email:subject: Application {{.app.metadata.name}} sync status is 'Unknown'message: |{{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} sync is 'Unknown'.Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.{{if ne .serviceType "slack"}}{{range $c := .app.status.conditions}}* {{$c.message}}{{end}}{{end}}slack:attachments: |[{"title": "{{ .app.metadata.name}}","title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}","color": "#E96D76","fields": [{"title": "Sync Status","value": "{{.app.status.sync.status}}","short": true},{"title": "Repository","value": "{{.app.spec.source.repoURL}}","short": true}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"title": "{{$c.type}}","value": "{{$c.message}}","short": true}{{end}}]}]deliveryPolicy: PostgroupingKey: ""notifyBroadcast: falseteams:facts: |[{"name": "Sync Status","value": "{{.app.status.sync.status}}"},{"name": "Repository","value": "{{.app.spec.source.repoURL}}"}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"name": "{{$c.type}}","value": "{{$c.message}}"}{{end}}]potentialAction: |-[{"@type":"OpenUri","name":"Open Application","targets":[{"os":"default","uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}"}]},{"@type":"OpenUri","name":"Open Repository","targets":[{"os":"default","uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"}]}]title: Application {{.app.metadata.name}} sync status is 'Unknown'
app-sync-succeeded
definition:
email:subject: Application {{.app.metadata.name}} has been successfully synced.message: |{{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} has been successfully synced at {{.app.status.operationState.finishedAt}}.Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .slack:attachments: |[{"title": "{{ .app.metadata.name}}","title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}","color": "#18be52","fields": [{"title": "Sync Status","value": "{{.app.status.sync.status}}","short": true},{"title": "Repository","value": "{{.app.spec.source.repoURL}}","short": true}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"title": "{{$c.type}}","value": "{{$c.message}}","short": true}{{end}}]}]deliveryPolicy: PostgroupingKey: ""notifyBroadcast: falseteams:facts: |[{"name": "Sync Status","value": "{{.app.status.sync.status}}"},{"name": "Synced at","value": "{{.app.status.operationState.finishedAt}}"},{"name": "Repository","value": "{{.app.spec.source.repoURL}}"}{{range $index, $c := .app.status.conditions}}{{if not $index}},{{end}}{{if $index}},{{end}}{"name": "{{$c.type}}","value": "{{$c.message}}"}{{end}}]potentialAction: |-[{"@type":"OpenUri","name":"Operation Details","targets":[{"os":"default","uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"}]},{"@type":"OpenUri","name":"Open Repository","targets":[{"os":"default","uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"}]}]themeColor: '#000080'title: Application {{.app.metadata.name}} has been successfully synced
