feat(alerting): Implement new Teams Workflow alert (#847)
* POC Teams Workflow Alerting Signed-off-by: James Hillyard <james.hillyard@payara.fish> * Document Teams Workflow Alert Signed-off-by: James Hillyard <james.hillyard@payara.fish> * Rename 'teamsworkflow' to 'teams-workflows' Signed-off-by: James Hillyard <james.hillyard@payara.fish> * Fix README Table Format Signed-off-by: James Hillyard <james.hillyard@payara.fish> * Fix Test to Expect Correct Emoji Signed-off-by: James Hillyard <james.hillyard@payara.fish> --------- Signed-off-by: James Hillyard <james.hillyard@payara.fish> Co-authored-by: TwiN <twin@linux.com>
This commit is contained in:
68
README.md
68
README.md
@ -67,7 +67,8 @@ Have any feedback or questions? [Create a discussion](https://github.com/TwiN/ga
|
||||
- [Configuring PagerDuty alerts](#configuring-pagerduty-alerts)
|
||||
- [Configuring Pushover alerts](#configuring-pushover-alerts)
|
||||
- [Configuring Slack alerts](#configuring-slack-alerts)
|
||||
- [Configuring Teams alerts](#configuring-teams-alerts)
|
||||
- [Configuring Teams alerts *(Deprecated)*](#configuring-teams-alerts-deprecated)
|
||||
- [Configuring Teams Workflow alerts](#configuring-teams-workflow-alerts)
|
||||
- [Configuring Telegram alerts](#configuring-telegram-alerts)
|
||||
- [Configuring Twilio alerts](#configuring-twilio-alerts)
|
||||
- [Configuring AWS SES alerts](#configuring-aws-ses-alerts)
|
||||
@ -566,7 +567,8 @@ endpoints:
|
||||
| `alerting.pagerduty` | Configuration for alerts of type `pagerduty`. <br />See [Configuring PagerDuty alerts](#configuring-pagerduty-alerts). | `{}` |
|
||||
| `alerting.pushover` | Configuration for alerts of type `pushover`. <br />See [Configuring Pushover alerts](#configuring-pushover-alerts). | `{}` |
|
||||
| `alerting.slack` | Configuration for alerts of type `slack`. <br />See [Configuring Slack alerts](#configuring-slack-alerts). | `{}` |
|
||||
| `alerting.teams` | Configuration for alerts of type `teams`. <br />See [Configuring Teams alerts](#configuring-teams-alerts). | `{}` |
|
||||
| `alerting.teams` | Configuration for alerts of type `teams`. *(Deprecated)* <br />See [Configuring Teams alerts](#configuring-teams-alerts-deprecated). | `{}` |
|
||||
| `alerting.teams-workflows` | Configuration for alerts of type `teams-workflows`. <br />See [Configuring Teams Workflow alerts](#configuring-teams-workflow-alerts). | `{}` |
|
||||
| `alerting.telegram` | Configuration for alerts of type `telegram`. <br />See [Configuring Telegram alerts](#configuring-telegram-alerts). | `{}` |
|
||||
| `alerting.twilio` | Settings for alerts of type `twilio`. <br />See [Configuring Twilio alerts](#configuring-twilio-alerts). | `{}` |
|
||||
|
||||
@ -1176,7 +1178,12 @@ Here's an example of what the notifications look like:
|
||||

|
||||
|
||||
|
||||
#### Configuring Teams alerts
|
||||
#### Configuring Teams alerts *(Deprecated)*
|
||||
|
||||
> [!CAUTION]
|
||||
> **Deprecated:** Office 365 Connectors within Microsoft Teams are being retired ([Source: Microsoft DevBlog](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/)).
|
||||
> Existing connectors will continue to work until December 2025. The new [Teams Workflow Alerts](#configuring-teams-workflow-alerts) should be used with Microsoft Workflows instead of this legacy configuration.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|:-----------------------------------------|:-------------------------------------------------------------------------------------------|:--------------------|
|
||||
| `alerting.teams` | Configuration for alerts of type `teams` | `{}` |
|
||||
@ -1230,6 +1237,61 @@ Here's an example of what the notifications look like:
|
||||
|
||||

|
||||
|
||||
#### Configuring Teams Workflow alerts
|
||||
|
||||
> [!NOTE]
|
||||
> This alert is compatible with Workflows for Microsoft Teams. To setup the workflow and get the webhook URL, follow the [Microsoft Documentation](https://support.microsoft.com/en-us/office/create-incoming-webhooks-with-workflows-for-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498).
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|:---------------------------------------------------|:-------------------------------------------------------------------------------------------|:-------------------|
|
||||
| `alerting.teams-workflows` | Configuration for alerts of type `teams` | `{}` |
|
||||
| `alerting.teams-workflows.webhook-url` | Teams Webhook URL | Required `""` |
|
||||
| `alerting.teams-workflows.default-alert` | Default alert configuration. <br />See [Setting a default alert](#setting-a-default-alert) | N/A |
|
||||
| `alerting.teams-workflows.overrides` | List of overrides that may be prioritized over the default configuration | `[]` |
|
||||
| `alerting.teams-workflows.title` | Title of the notification | `"⛑ Gatus"` |
|
||||
| `alerting.teams-workflows.overrides[].group` | Endpoint group for which the configuration will be overridden by this configuration | `""` |
|
||||
| `alerting.teams-workflows.overrides[].webhook-url` | Teams WorkFlow Webhook URL | `""` |
|
||||
|
||||
```yaml
|
||||
alerting:
|
||||
teams-workflows:
|
||||
webhook-url: "https://********.webhook.office.com/webhookb2/************"
|
||||
# You can also add group-specific to keys, which will
|
||||
# override the to key above for the specified groups
|
||||
overrides:
|
||||
- group: "core"
|
||||
webhook-url: "https://********.webhook.office.com/webhookb3/************"
|
||||
|
||||
endpoints:
|
||||
- name: website
|
||||
url: "https://twin.sh/health"
|
||||
interval: 30s
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[BODY].status == UP"
|
||||
- "[RESPONSE_TIME] < 300"
|
||||
alerts:
|
||||
- type: teams-workflows
|
||||
description: "healthcheck failed"
|
||||
send-on-resolved: true
|
||||
|
||||
- name: back-end
|
||||
group: core
|
||||
url: "https://example.org/"
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: teams-workflows
|
||||
description: "healthcheck failed"
|
||||
send-on-resolved: true
|
||||
```
|
||||
|
||||
Here's an example of what the notifications look like:
|
||||
|
||||

|
||||
|
||||
|
||||
#### Configuring Telegram alerts
|
||||
| Parameter | Description | Default |
|
||||
|
Reference in New Issue
Block a user