Teams¶
Parameters¶
The Teams notification service send message notifications using Teams bot and requires specifying the following settings:
recipientUrls
- the webhook url map, e.g.channelName: https://example.com
Configuration¶
- Open
Teams
and gotoApps
- Find
Incoming Webhook
microsoft app and click on it - Press
Add to a team
-> select team and channel -> pressSet up a connector
- Enter webhook name and upload image (optional)
- Press
Create
then copy webhook url and store it inargo-rollouts-notification-secret
and define it inargo-rollouts-notification-configmap
apiVersion: v1
kind: ConfigMap
metadata:
name: argo-rollouts-notification-configmap
data:
service.teams: |
recipientUrls:
channelName: $channel-teams-url
apiVersion: v1
kind: Secret
metadata:
name: <secret-name>
stringData:
channel-teams-url: https://example.com
- Create subscription for your Teams integration:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
annotations:
notifications.argoproj.io/subscribe.on-sync-succeeded.teams: channelName
Templates¶
Notification templates can be customized to leverage teams message sections, facts, themeColor, summary and potentialAction feature.
template.app-sync-succeeded: |
teams:
themeColor: "#000080"
sections: |
[{
"facts": [
{
"name": "Sync Status",
"value": "{{.app.status.sync.status}}"
},
{
"name": "Repository",
"value": "{{.app.spec.source.repoURL}}"
}
]
}]
potentialAction: |-
[{
"@type":"OpenUri",
"name":"Operation Details",
"targets":[{
"os":"default",
"uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"
}]
}]
title: Application {{.app.metadata.name}} has been successfully synced
text: Application {{.app.metadata.name}} has been successfully synced at {{.app.status.operationState.finishedAt}}.
summary: "{{.app.metadata.name}} sync succeeded"
facts field¶
You can use facts
field instead of sections
field.
template.app-sync-succeeded: |
teams:
facts: |
[{
"name": "Sync Status",
"value": "{{.app.status.sync.status}}"
},
{
"name": "Repository",
"value": "{{.app.spec.source.repoURL}}"
}]
theme color field¶
You can set theme color as hex string for the message.
template.app-sync-succeeded: |
teams:
themeColor: "#000080"
summary field¶
You can set a summary of the message that will be shown on Notification & Activity Feed
template.app-sync-succeeded: |
teams:
summary: "Sync Succeeded"