Notify dashboard-dev group on deployment failures (#3531)

This commit is contained in:
Cezary Miącz 2023-04-20 15:44:27 +02:00 committed by GitHub
parent 6c176f649a
commit 44ba16e7ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 11 additions and 1 deletions

View file

@ -66,6 +66,7 @@ jobs:
JOB_DEPLOYMENT_KIND: production
JOB_STATUS: ${{ job.status }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
SLACK_MENTION_GROUP_ID: ${{ secrets.SLACK_DASHBOARD_GROUP_ID }}
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
run: |
python3 ./.github/workflows/notify/notify-slack.py

View file

@ -81,6 +81,7 @@ jobs:
JOB_DEPLOYMENT_KIND: production
JOB_STATUS: ${{ job.status }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
SLACK_MENTION_GROUP_ID: ${{ secrets.SLACK_DASHBOARD_GROUP_ID }}
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
run: |
python3 ./.github/workflows/notify/notify-slack.py

View file

@ -50,6 +50,7 @@ jobs:
JOB_DEPLOYMENT_KIND: production
JOB_STATUS: ${{ job.status }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
SLACK_MENTION_GROUP_ID: ${{ secrets.SLACK_DASHBOARD_GROUP_ID }}
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
run: |
python3 ./.github/workflows/notify/notify-slack.py

View file

@ -55,6 +55,7 @@ jobs:
JOB_DEPLOYMENT_KIND: production
JOB_STATUS: ${{ job.status }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
SLACK_MENTION_GROUP_ID: ${{ secrets.SLACK_DASHBOARD_GROUP_ID }}
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
run: |
python3 ./.github/workflows/notify/notify-slack.py

View file

@ -59,6 +59,7 @@ jobs:
JOB_DEPLOYMENT_KIND: staging
JOB_STATUS: ${{ job.status }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
SLACK_MENTION_GROUP_ID: ${{ secrets.SLACK_DASHBOARD_GROUP_ID }}
JOB_TITLE: "Dashboard deployment to saleor-master-staging"
run: |
python3 ./.github/workflows/notify/notify-slack.py

View file

@ -85,6 +85,7 @@ jobs:
JOB_DEPLOYMENT_KIND: staging
JOB_STATUS: ${{ job.status }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
SLACK_MENTION_GROUP_ID: ${{ secrets.SLACK_DASHBOARD_GROUP_ID }}
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
run: |
python3 ./.github/workflows/notify/notify-slack.py

View file

@ -46,6 +46,9 @@ class JobNotifier:
# Development notifier configuration is available at: https://api.slack.com/apps/A0210C30YLD/
self.slack_endpoint = os.environ["SLACK_WEBHOOK_URL"]
# ID of Slack Group to mention in case of failure
self.slack_mention_group_id = os.getenv("SLACK_MENTION_GROUP_ID", default="")
# Workflow Run ID to retrieve the logs permalink of the actual run (failed/succeeded)
self.run_id: str = os.environ["GITHUB_RUN_ID"]
@ -73,10 +76,11 @@ class JobNotifier:
def make_slack_message(self) -> dict:
status = self.job_status.capitalize()
mention = self.slack_mention_group_id if status == "Failure" else ""
# Dev deployment triggered by JohnDoe: Success
text = (
f"{self.author} {self.job_kind} finished for '{self.deployment_kind.capitalize()}', result: "
f"{status}"
f"{status} {mention}"
)
message_data = {
"attachments": [