Notify dashboard-dev group on deployment failures (#3531)
This commit is contained in:
parent
6c176f649a
commit
44ba16e7ee
7 changed files with 11 additions and 1 deletions
1
.github/workflows/deploy-cloud.yaml
vendored
1
.github/workflows/deploy-cloud.yaml
vendored
|
@ -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
|
||||
|
|
1
.github/workflows/deploy-demo-staging.yaml
vendored
1
.github/workflows/deploy-demo-staging.yaml
vendored
|
@ -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
|
||||
|
|
1
.github/workflows/deploy-demo.yaml
vendored
1
.github/workflows/deploy-demo.yaml
vendored
|
@ -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
|
||||
|
|
1
.github/workflows/deploy-gcp.yml
vendored
1
.github/workflows/deploy-gcp.yml
vendored
|
@ -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
|
||||
|
|
1
.github/workflows/deploy-master-staging.yaml
vendored
1
.github/workflows/deploy-master-staging.yaml
vendored
|
@ -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
|
||||
|
|
1
.github/workflows/deploy-staging.yaml
vendored
1
.github/workflows/deploy-staging.yaml
vendored
|
@ -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
|
||||
|
|
6
.github/workflows/notify/notify-slack.py
vendored
6
.github/workflows/notify/notify-slack.py
vendored
|
@ -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": [
|
||||
|
|
Loading…
Reference in a new issue