Add slack monitor action (#11684)

This commit is contained in:
Pere Miquel Brull 2023-05-19 14:55:41 +02:00 committed by GitHub
parent 6902c7c2dc
commit 2f6fe28a3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,53 @@
# Copyright 2021 Collate
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: monitor-slack-link
on:
schedule:
- cron: '0 */2 * * *'
workflow_dispatch:
permissions:
id-token: write
contents: read
jobs:
monitor-slack-link:
runs-on: ubuntu-latest
steps:
- name: Monitor Link
id: monitor
continue-on-error: true
run: |
sudo apt-get update && sudo apt-get install -y jq
curl -XPOST \
https://www.linkmonitor.dev/api/v1/validate \
-H "Content-Type: application/json" \
--data '{"url": "https://slack.open-metadata.org"}' | jq -e '.status == "active"' || exit 1
- name: Slack on Failure
if: steps.monitor.outcome != 'success'
uses: slackapi/slack-github-action@v1.23.0
with:
payload: |
{
"text": "🔥 Slack invitation link has expired! 🔥"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_MONITOR_SLACK_WEBHOOK }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
- name: Force failure
if: steps.monitor.outcome != 'success'
run: |
exit 1