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_DEPLOYMENT_KIND: production
|
||||||
JOB_STATUS: ${{ job.status }}
|
JOB_STATUS: ${{ job.status }}
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
|
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 }}"
|
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
|
||||||
run: |
|
run: |
|
||||||
python3 ./.github/workflows/notify/notify-slack.py
|
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_DEPLOYMENT_KIND: production
|
||||||
JOB_STATUS: ${{ job.status }}
|
JOB_STATUS: ${{ job.status }}
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
|
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 }}"
|
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
|
||||||
run: |
|
run: |
|
||||||
python3 ./.github/workflows/notify/notify-slack.py
|
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_DEPLOYMENT_KIND: production
|
||||||
JOB_STATUS: ${{ job.status }}
|
JOB_STATUS: ${{ job.status }}
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
|
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 }}"
|
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
|
||||||
run: |
|
run: |
|
||||||
python3 ./.github/workflows/notify/notify-slack.py
|
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_DEPLOYMENT_KIND: production
|
||||||
JOB_STATUS: ${{ job.status }}
|
JOB_STATUS: ${{ job.status }}
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
|
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 }}"
|
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
|
||||||
run: |
|
run: |
|
||||||
python3 ./.github/workflows/notify/notify-slack.py
|
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_DEPLOYMENT_KIND: staging
|
||||||
JOB_STATUS: ${{ job.status }}
|
JOB_STATUS: ${{ job.status }}
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
|
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"
|
JOB_TITLE: "Dashboard deployment to saleor-master-staging"
|
||||||
run: |
|
run: |
|
||||||
python3 ./.github/workflows/notify/notify-slack.py
|
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_DEPLOYMENT_KIND: staging
|
||||||
JOB_STATUS: ${{ job.status }}
|
JOB_STATUS: ${{ job.status }}
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLOUD_DEPLOYMENTS_WEBHOOK_URL }}
|
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 }}"
|
JOB_TITLE: "Dashboard deployment to ${{ env.ENVIRONMENT }}"
|
||||||
run: |
|
run: |
|
||||||
python3 ./.github/workflows/notify/notify-slack.py
|
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/
|
# Development notifier configuration is available at: https://api.slack.com/apps/A0210C30YLD/
|
||||||
self.slack_endpoint = os.environ["SLACK_WEBHOOK_URL"]
|
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)
|
# Workflow Run ID to retrieve the logs permalink of the actual run (failed/succeeded)
|
||||||
self.run_id: str = os.environ["GITHUB_RUN_ID"]
|
self.run_id: str = os.environ["GITHUB_RUN_ID"]
|
||||||
|
|
||||||
|
@ -73,10 +76,11 @@ class JobNotifier:
|
||||||
|
|
||||||
def make_slack_message(self) -> dict:
|
def make_slack_message(self) -> dict:
|
||||||
status = self.job_status.capitalize()
|
status = self.job_status.capitalize()
|
||||||
|
mention = self.slack_mention_group_id if status == "Failure" else ""
|
||||||
# Dev deployment triggered by JohnDoe: Success
|
# Dev deployment triggered by JohnDoe: Success
|
||||||
text = (
|
text = (
|
||||||
f"{self.author} {self.job_kind} finished for '{self.deployment_kind.capitalize()}', result: "
|
f"{self.author} {self.job_kind} finished for '{self.deployment_kind.capitalize()}', result: "
|
||||||
f"{status}"
|
f"{status} {mention}"
|
||||||
)
|
)
|
||||||
message_data = {
|
message_data = {
|
||||||
"attachments": [
|
"attachments": [
|
||||||
|
|
Loading…
Reference in a new issue