From 2ae83e178b364e9730c64c38ac4a6c3ba6c9aa37 Mon Sep 17 00:00:00 2001 From: Damian Lance Date: Sat, 14 Aug 2021 08:01:47 -0600 Subject: [PATCH] Google Cloud Support Slackbot (#673) --- README.md | 1 + tools/google-cloud-support-slackbot/.env | 19 + tools/google-cloud-support-slackbot/README.md | 163 ++++ .../archive/README.md | 10 + tools/google-cloud-support-slackbot/default | 24 + .../google_cloud_support_slackbot.py | 855 ++++++++++++++++++ .../google_cloud_support_slackbot_icon.svg | 1 + ...google_cloud_support_slackbot_icon_big.png | Bin 0 -> 164883 bytes ...ogle_cloud_support_slackbot_icon_small.png | Bin 0 -> 29690 bytes .../requirements.txt | 55 ++ 10 files changed, 1128 insertions(+) create mode 100644 tools/google-cloud-support-slackbot/.env create mode 100644 tools/google-cloud-support-slackbot/README.md create mode 100644 tools/google-cloud-support-slackbot/archive/README.md create mode 100644 tools/google-cloud-support-slackbot/default create mode 100644 tools/google-cloud-support-slackbot/google_cloud_support_slackbot.py create mode 100644 tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon.svg create mode 100644 tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon_big.png create mode 100644 tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon_small.png create mode 100644 tools/google-cloud-support-slackbot/requirements.txt diff --git a/README.md b/README.md index 98e3feafdd..b69547a7f9 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ creates relationships between assets and outputs a format compatible with [graph * [GCS Usage Recommender](tools/gcs-usage-recommender) - A tool that generates bucket-level intelligence and access patterns across all projects for a GCP project to generate recommended object lifecycle management. * [GCS to BigQuery](tools/gcs2bq) - A tool fetches object metadata from all Google Cloud Storage buckets and exports it in a format that can be imported into BigQuery for further analysis. * [GKE Billing Export](tools/gke-billing-export) - Google Kubernetes Engine fine grained billing export. +* [Google Cloud Support Slackbot](tools/google-cloud-support-slackbot) - Slack application that pulls Google Cloud support case information via the Cloud Support API and pushes the information to Slack * [GSuite Exporter Cloud Function](tools/gsuite-exporter-cloud-function/) - A script that deploys a Cloud Function and Cloud Scheduler job that executes the GSuite Exporter tool automatically on a cadence. * [GSuite Exporter](tools/gsuite-exporter/) - A Python package that automates syncing Admin SDK APIs activity reports to a GCP destination. The module takes entries from the chosen Admin SDK API, converts them into the appropriate format for the destination, and exports them to a destination (e.g: Stackdriver Logging). * [Hive to BigQuery](tools/hive-bigquery/) - A Python framework to migrate Hive table to BigQuery using Cloud SQL to keep track of the migration progress. diff --git a/tools/google-cloud-support-slackbot/.env b/tools/google-cloud-support-slackbot/.env new file mode 100644 index 0000000000..8185f15e0c --- /dev/null +++ b/tools/google-cloud-support-slackbot/.env @@ -0,0 +1,19 @@ +# Copyright 2021 Google LLC +# +# 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. + + +SLACK_TOKEN= +SIGNING_SECRET= +ORG_ID= +API_KEY= diff --git a/tools/google-cloud-support-slackbot/README.md b/tools/google-cloud-support-slackbot/README.md new file mode 100644 index 0000000000..68dc3039bf --- /dev/null +++ b/tools/google-cloud-support-slackbot/README.md @@ -0,0 +1,163 @@ +# ![Google Cloud Support Slackbot](google_cloud_support_slackbot_icon.svg) +# Slack Integration for Google Cloud Support + +Slack app for pulling Google Cloud Support case information via the Cloud Support API and pushing it to Slack. The goal is to help reduce the overall time to resolution for cases of all priorities by putting case updates in Slack where they will be more easily noticed by their devs and engineers. + +The app currently supports the following commands: + +* /google-cloud-support track-case [case_number] -- case updates will be posted to this channel +* /google-cloud-support add-comment [case_number] [comment] -- adds a comment to the case +* /google-cloud-support change-priority [case_number] [priority, e.g. P2] -- changes the priority of the case +* /google-cloud-support stop-tracking [case_number] -- case updates will no longer be posted to this channel +* /google-cloud-support list-tracked-cases -- lists all cases being tracked in this channel +* /google-cloud-support list-tracked-cases-all -- lists all cases being tracked in the workspace +* /google-cloud-support case-details [case_number] -- pull all of the case data as json +* /google-cloud-support sitrep -- report of all active cases in the org + +# Setup Guide + +**Before proceeding, you will need Premium Support to use the Cloud Support API and by association the slackbot** +Setting up your first Slack app can be a daunting task, which is why we are providing a step-by-step guide. + +## Setup Part 1 - Allow list the Support API + +To get access to the API, you will need to send your Techincal Account Manager the following: + +1. The **org id** where you have Premium Support enabled +2. A **project id** where the API will be allow listed +3. The name of a **service account** in the project from step 2, with the service account having the following roles at the org level: + 1. **Tech Support Editor** + 1. **Org Viewer** +4. The **email addresses** of the people that will be enabling the API in the project + +Your Techincal Account Manager will file a request with the Support API team to give you access. The team typically processes these requests within 24 hours + +## Setup Part 2 - Google Cloud Phase 1 + +In the first phase of our Google Cloud setup, we will verify that our network is setup properly, create a lightweight VM to house our bot, and enable our Cloud Support API and create ourselves an API key. Go to [Google Cloud](https://cloud.google.com/console). **These steps need to be carried out in the project you specified in Part 1 of this setup guide.** + +### Networking + +From **VPC network > Firewall rules**, verify rules exist to **allow SSH and HTTP**. + +1. **If your project doesn't have a VPC, you will need to create one from VPC networks**. Select **Automatic** for your Subnet creation mode, and **allow-ssh** from **Firewall rules** +2. If it doesn't exist, create the following firewall rule: + 1. Name: `default-allow-http` + 1. Priority: `1000` + 1. Direction: `Ingress` + 1. Action on match: `Allow` + 1. Targets: `Specified target tags` + 1. Target tags: `http-server` + 1. Source filter: `IP ranges` + 1. Source IP ranges: `0.0.0.0/0` + 1. Protocols and Ports: `Specified protocols and ports` + 1. tcp: `80` +3. If an SSH firewall rule doesn't exist, create the following firewall rule: + 1. Name: `default-allow-ssh` + 1. Priority: `65534` + 1. Direction: `Ingress` + 1. Action on match: `Allow` + 1. Targets: `All instances in the network` + 1. Source filter: `IP ranges` + 1. Source IP ranges: `0.0.0.0/0` + 1. Protocols and Ports: `Specified protocols and ports` + 1. tcp: `22` + +*Note that if you had to create the SSH firewall rule in Step 3, you will want to disable it after you complete the entire setup* + +### VM + +Go to **Compute Engine > VM instances** and perform the following: + +1. Click **+ Create Instance** + 1. Under **Machine Configuration**, set the **Machine type** field to **e2-micro**. This should suffice for most implementations. If your team makes heavy use of the Cloud Support and the bot, you may need to upgrade the machine type + 1. Under **Identity and API access > Service Account**, select your **service account** that was allow listed for the Cloud Support API + 1. Under **Firewall**, select **Allow HTTP traffic**. If this option isn't available and you create the firewall rule in the Networking steps, then you will want to contact your Networking team about policies that may be preventing HTTP traffic + 1. Click to expand **Management, security, disks, networking, sole tenancy** + 1. Select the **Networking** tab + 1. Under **Network interfaces**, click the network interface box + 1. Set **Network** to the VPC where you have your firewall rules + 1. Under **External IP**, select **Create IP address**. Choose whichever name and network service tier you prefer + 1. Click **Create** + +### API Enablement and the API Key + +From **APIs & Services > Library** ... + +1. Search for and enable the **Cloud Logging API** +2. Search for and enable the **Cloud Support API** + +From **APIs & Services > Credentials** + +1. Click **+Create** and select **API key** +2. Copy your key and choose to **Restrict Key** + 1. Under **Application restrictions**, you may select **IP addresses** to restrict usage the VM you created + 1. Under **API restrictions**, select **Restrict Key** and from the **Select APIs** dropdown, click **Google Cloud Support API** + +## Setup Part 3 - Slack App + +Go to [Slack Apps](http://api.slack.com/apps) to do the following: + +1. Click **Create New App** and select **From scratch**. Name your app `Google Cloud Support Bot` and select your workspace +2. Under **Settings > Basic Information**, scroll down to **Display Information** and upload the [google_cloud_support_buddy_big.png](google_cloud_support_buddy_big.png) or an icon of your choosing +3. Go to **Features > Slash Commands** and create the following command: + 1. Command: `/google-cloud-support ` + 1. Request URL: `http:///google-cloud-support` + 1. Short description: `Track and manage your Google Cloud support cases in Slack. Use /google-cloud-support help for the list of commands` + 1. Usage Hint: `[command] [parameter 1] [parameter 2] [parameter 3]` +4. Go to **Features > OAuth & Permissions**. Scroll down to **Scopes** and add the **chat:write** scope. Add the **commands** scope if it isn't listed already listed +5. At the top of the **Features > OAuth & Permissions** page, under **OAuth Tokens for Your Workspace**, click **Install to Workspace**. Copy the token. You may need Slack admin approval to install the app +6. Go to **Settings > Basic Information** and under **App Credentials** copy the `Signing Secret` + +## Setup Part 4 - Google Cloud Phase 2 + +Return to [Google Cloud](https://cloud.google.com/console) and from **Compute Engine > VM instances**, perform the following: + +1. SSH into the VM that you created in part 2 of this setup guide +2. Run the following commands: + 1. `sudo apt-get update` + 1. `sudo apt-get -y install subversion` + 1. `sudo apt-get -y install python3-pip` + 1. `sudo apt-get -y install nginx` + 1. `cd /` + 1. `sudo svn export https://github.com/GoogleCloudPlatform/professional-services/trunk/tools/google-cloud-support-slackbot` + 1. `cd /google-cloud-support-slackbot` + 1. Use sudo to open the `default` file with your editor of choice, and replace with the external ip address of your VM. Then save and close the file + 1. `sudo mv default /etc/nginx/sites-available/` + 1. Use sudo to open the `.env` file with your editor of choice. Enter your API Key, Slack Token, and numeric org id in their respective locations. Then save and close the file + 1. `sudo chmod +x google_cloud_support_slackbot.py` +3. Close the SSH session +4. From Compute Engine > VM instances, click your VM name to go to your VM instance details +5. Stop the VM +6. Once the VM is stopped, click the 'EDIT' button +7. Scroll down to the Custom metadata section and add the following key-value pair: + 1. key: `startup-script` + 1. value: + `cd /google-cloud-support-slackbot` + `pip3 install -r requirements.txt` + `/google-cloud-support-slackbot/google_cloud_support_slackbot.py` +8. Scroll to the bottom of the page and click 'Save' +9. Start your VM + +## Testing + +To verify that everything was setup correctly, do the following: +1. Go to your Slack workspace +2. Under **Channels** right-click the channel where you want to add the bot and select **Open channel details** +3. Select the **Integrations** tab +4. In the **Apps** section, click **Add apps** and then add the bot +5. Open the channel where you added the bot and run the `/google-cloud-support help` command. If it returns a list of available help commands then everything was setup correctly. If it returns an error that the dispatch failed, then you will need to debug. The most likely culprits are an issue with an org security policy, or a missed step somewhere + +## Closing + +With that you should be all setup! And as a reminder, if you had to create the SSH firewall rule, it is recommended that you go back and disable it. If you ever need to SSH into the machine you can always enable the rule again as needed. + +As the Cloud Support API continues to expand and we collect more feedback for requested features, we will release newer versions of the bot and move the previous version into the archive folder. To replace your current bot with the latest version you will only need to do the following: + +1. SSH into your VM instance +2. Run the following commands: + 1. `cd /google-cloud-support-slackbot` + 1. `sudo svn export --force https://github.com/GoogleCloudPlatform/professional-services/trunk/tools/google-cloud-support-slackbot/google_cloud_support_slackbot.py` + 1. `sudo chmod +x google_cloud_support_slackbot.py` +3. Close your SSH session +4. Stop and Start your VM diff --git a/tools/google-cloud-support-slackbot/archive/README.md b/tools/google-cloud-support-slackbot/archive/README.md new file mode 100644 index 0000000000..a52082746e --- /dev/null +++ b/tools/google-cloud-support-slackbot/archive/README.md @@ -0,0 +1,10 @@ +# Changelog +## v0 +/google-cloud-support track-case [case_number] -- case updates are posted to the channel where this command is run +/google-cloud-support add-comment [case_number] [comment] -- adds a comment to the case +/google-cloud-support change-priority [case_number] [priority, e.g. P2] -- changes the priority of the case +/google-cloud-support stop-tracking [case_number] -- case updates will no longer be posted to the channel where this command is run +/google-cloud-support list-tracked-cases -- lists all cases being tracked in the current channel +/google-cloud-support list-tracked-cases-all -- lists all cases being tracked in the workspace +/google-cloud-support case-details [case_number] -- pull all of the case data as json +/google-cloud-support sitrep -- report of all active cases in the org. diff --git a/tools/google-cloud-support-slackbot/default b/tools/google-cloud-support-slackbot/default new file mode 100644 index 0000000000..b263cec014 --- /dev/null +++ b/tools/google-cloud-support-slackbot/default @@ -0,0 +1,24 @@ +# Copyright 2021 Google LLC + +# 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. + +server { + listen 80; + listen [::]:80; + + server_name ; + + location /google-cloud-support { + proxy_pass http://localhost:5000/google-cloud-support; + } +} diff --git a/tools/google-cloud-support-slackbot/google_cloud_support_slackbot.py b/tools/google-cloud-support-slackbot/google_cloud_support_slackbot.py new file mode 100644 index 0000000000..db0b5d7679 --- /dev/null +++ b/tools/google-cloud-support-slackbot/google_cloud_support_slackbot.py @@ -0,0 +1,855 @@ +#!/usr/bin/env python3 + +# Copyright 2021 Google LLC + +# 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. + +import slack +import os +import json +import requests +import time +import re +import logging +from pathlib import Path +from dotenv import load_dotenv +from flask import Flask, request, Response +from slackeventsapi import SlackEventAdapter +from multiprocessing import Process +from googleapiclient.discovery import build_from_document +from datetime import datetime +from gevent.pywsgi import WSGIServer + +# To run this on the cheapest possible VM, we will only log Warnings and Errors +logging.basicConfig(filename='error.log') +flask_logger = logging.getLogger('werkzeug') +flask_logger.setLevel(logging.WARNING) + +logging.warning('Started at: {}'.format(datetime.now())) + +# Load our environment variables from the .env file +env_path = Path('.') / '.env' +load_dotenv(dotenv_path=env_path) + +app = Flask(__name__) + +client = slack.WebClient(token=os.environ['SLACK_TOKEN']) +ORG_ID = os.environ['ORG_ID'] +SLACK_SIGNING_SECRET = os.environ['SIGNING_SECRET'] +API_KEY = os.environ['API_KEY'] +MAX_RETRIES = 3 + +slack_events = SlackEventAdapter(SLACK_SIGNING_SECRET, "/slack/events", app) + +# Get our discovery doc and build our service +r = requests.get('https://cloudsupport.googleapis.com/$discovery/rest?key={}&labels=V2_TRUSTED_TESTER&version=v2alpha'.format(API_KEY)) +r.raise_for_status() +support_service = build_from_document(r.json()) + +cases_file = 'support_cases.json' +tracked_cases_file = 'tracked_cases.json' +tracked_cases = [] + +if os.path.exists(tracked_cases_file): + with open(tracked_cases_file) as tcf: + try: + tracked_cases_json = json.load(tcf) + except json.decoder.JSONDecodeError as e: + logging.error(e, ' : {}'.format(datetime.now())) + else: + for tracked_case in tracked_cases_json: + tracked_cases.append(tracked_case) + + +class SupportCase: + """ + Represent a Google Cloud Support Case. + + Attributes + ---------- + case_number : str + a unique string of numbers that is the id for the case + resource_name : str + a unique string including the org or project id and the case id examples: + organizations/12345/cases/67890 + projects/12345/cases/67890 + case_title : str + the title the user gave the case when they created it + description : str + the user's description of the case as provided in the support ticket + escalated : bool + whether or not a case has been escalated. This field doesn't exist in + the response until after a case has been escalated. True means the case + is escalated + case_creator : str + name of the user that opened the support case + create_time : str + timestamp of when the case was created + update_time : str + timestamp of the last update made to the case + priority : str + the current priority of the case, represented as S0, S1, S2, S3, or S4 + state : str + the status of the support ticket. Can be NEW, IN_PROGRESS_GOOGLE_SUPPORT, + ACTION_REQUIRED, SOLUTION_PROVIDED, or CLOSED + comment_list : list + all public comments made on the case as strings. Comments are sorted with + newest comments at the top + """ + + def __init__(self,caseobj): + """ + Parameters + ---------- + caseobj : json + json for an individual case + """ + self.case_number = re.search('(?:cases/)([0-9]+)', caseobj['name'])[1] + self.resource_name = caseobj['name'] + self.case_title = caseobj['displayName'] + self.description = caseobj['description'] + if 'escalated' in caseobj: + self.escalated = caseobj['escalated'] + else: + self.escalated = False + self.case_creator = caseobj['creator']['displayName'] + self.create_time = str(datetime.fromisoformat( + caseobj['createTime'].replace('Z', '+00:00'))) + self.update_time = str(datetime.fromisoformat( + caseobj['updateTime'].replace('Z', '+00:00'))) + self.priority = caseobj['severity'].replace('S', 'P') + self.state = caseobj['state'] + self.comment_list = [] + case_comments = support_service.cases().comments() + request = case_comments.list(parent=self.resource_name) + while request is not None: + try: + comments = request.execute(num_retries=MAX_RETRIES) + except BrokenPipeError as e: + logging.error(e, ' : {}'.format(datetime.now())) + time.sleep(1) + else: + if "comments" in comments: + for comment in comments['comments']: + self.comment_list.append(comment) + request = case_comments.list_next(request, comments) + + +# Handle all calls to the support bot +@app.route('/google-cloud-support', methods=['POST']) +def gcp_support() -> Response: + """ + Takes a user's slash command from Slack and executes it. Multiprocessing is used + on commands that modify the case to prevent Slack timeouts. + + Parameters + ---------- + request : Request + message and metadata that was submitted by Slack + + Returns + ------- + Response + tells Slack that the command was received and not to throw a timeout alert + 200 + HTTP 200 OK + 403 + HTTP 403 Forbidden, received if the request signature can't be verified + """ + # Verify that the request is coming from our Slack + slack_timestamp = request.headers.get('X-Slack-Request-Timestamp') + slack_signature = request.headers.get('X-Slack-Signature') + result = slack_events.server.verify_signature(slack_timestamp, slack_signature) + if result == False: + return Response(), 403 + + data = request.form + token = data.get('token') + channel_id = data.get('channel_id') + channel_name = data.get('channel_name') + user_id = data.get('user_id') + user_name = data.get('user_name') + user_inputs = data.get('text').split(' ', 1) + command = user_inputs[0] + + if command == 'track-case': + try: + case = user_inputs[1] + except IndexError as e: + logging.error(e, ' : {}'.format(datetime.now())) + client.chat_postEphemeral(channel=channel_id, user=user_id, text="The track-case command expects argument [case_number]." + " The case number provided did not match with any cases in your org") + track_case(channel_id, channel_name, case, user_id) + elif command == 'add-comment': + try: + parameters = user_inputs[1].split(' ', 1) + case = parameters[0] + comment = parameters[1] + except IndexError as e: + logging.error(e, ' : {}'.format(datetime.now())) + client.chat_postEphemeral(channel=channel_id, user=user_id, text="The add-comment command expects arguments [case_number] [comment]." + " The comment does not need to be encapsulated in quotes." + " Your case number did not match with any cases in your org.") + p = Process(target=add_comment, args=(channel_id, case, comment, user_id, user_name,)) + p.start() + elif command == 'change-priority': + try: + parameters = user_inputs[1].split(' ', 1) + case = parameters[0] + priority = parameters[1] + except IndexError as e: + logging.error(e, ' : {}'.format(datetime.now())) + client.chat_postEphemeral(channel=channel_id, user=user_id, text="The change-priority command expects arguments " + "[case_number] [priority, must be either P1|P2|P3|P4]." + " Your case number did not match with any cases in your org, or the priority did not match the expected values.") + p = Process(target=change_priority, args=(channel_id, case, priority, user_id,)) + p.start() + elif command == 'escalate': + escalate_disabled = True # Escalate isn't working right now so it will be disabled until we can fix in v1 + if escalate_disabled == False: + try: + parameters = user_inputs[1].split(' ', 2) + case = parameters[0] + reason = parameters[1] + justification = parameters[2] + except IndexError as e: + client.chat_postEphemeral(channel=channel_id, user=user_id, text="The escalate command expects arguments " + "[reason, must be either REASON_UNSPECIFIED|RESOLUTION_TIME|TECHNICAL_EXPERTISE|BUSINESS_IMPACT] [justification]." + " The justification does not need to be encapsulated in quotes." + " Either your case number did not match with any cases in your org, the reason did not match one " + "of the expected values, or the justification was missing") + p = Process(target=escalate, args=(channel_id, case, user_id, reason, justification, user_name)) + p.start() + elif command == 'stop-tracking': + try: + case = user_inputs[1] + except IndexError as e: + logging.error(e, ' : {}'.format(datetime.now())) + client.chat_postEphemeral(channel=channel_id, user=user_id, text="The stop-tracking command expects arguments [case_number].") + stop_tracking(channel_id, channel_name, case, user_id) + elif command == 'close-case': + close_disabled = True # Close isn't an available command so it will be disabled until the API is ready + if close_disabled == False: + try: + case = user_inputs[1] + except IndexError as e: + client.chat_postEphemeral(channel=channel_id, user=user_id, text="The close-case command expects arguments [case_number]") + close_case(channel_id,case,user_id) + elif command == 'list-tracked-cases': + list_tracked_cases(channel_id, channel_name, user_id) + elif command == 'list-tracked-cases-all': + list_tracked_cases_all(channel_id, user_id) + elif command == 'case-details': + case = user_inputs[1] + case_details(channel_id, case, user_id) + elif command == 'sitrep': + sitrep(channel_id, user_id) + elif command == 'help': + context = '' + post_help_message(channel_id, user_id, context) + else: + context == "Sorry, that wasn't a recognized command. " + post_help_message(channel_id, user_id, context) + + return Response(), 200 + + +def post_help_message(channel_id, user_id, context): + """ + Informs the user of the app's available commands. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + context : str + Extra information to go with the help message. Usually a statement of a command not existing + """ + client.chat_postEphemeral(channel=channel_id, user=user_id, + text=f"{context}Here are the available commands:" + "\n/google-cloud-support track-case [case number] -- case updates will be posted to this channel" + "\n/google-cloud-support add-comment [case number] [comment] -- adds a comment to the case" + "\n/google-cloud-support change-priority [case number] [priority, e.g. P1] -- changes the priority of the case" + "\n/google-cloud-support stop-tracking [case number] -- case updates will no longer be posted to this channel" + "\n/google-cloud-support list-tracked-cases -- lists all cases being tracked in this channel" + "\n/google-cloud-support list-tracked-cases-all -- lists all cases being tracked in the workspace" + "\n/google-cloud-support case-details [case_number] -- pull all of the case deta as json" + "\n/google-cloud-support sitrep -- report of all active cases in the org") + + +def case_not_found(channel_id, user_id, case): + """ + Informs the user of their case could not be found. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + case : str + unique id of the case + """ + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"Case {case} could not be found in your org." + " If this case was recently created, please give the system 60 seconds to fetch it." + " Otherwise, double check your case number or confirm the org being tracked with your Slack admin.") + + +def track_case(channel_id, channel_name, case, user_id): + """ + Add a Google Cloud support case to a list of tracked cases. If the case can't be + found in the list of active support cases, notify the user. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + channel_name : str + designated channel name of the channel. For users to understand where their + cases are being tracked in Slack + case : str + unique id of the case + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + """ + parent = get_parent(case) + if parent == 'Case not found': + case_not_found(channel_id, user_id, case) + else: + tracker = { + "channel_id": channel_id, + "case": case, + "channel_name": channel_name + } + + exists = False + + for tc in tracked_cases: + if tc['channel_id'] == channel_id and tc['case'] == case: + exists = True + break + + if exists == False: + tracked_cases.append(tracker) + + try: + file_overwrite(tracked_cases_file, tracked_cases) + except OSError as e: + logging.error(e, ' : {}'.format(datetime.now())) + time.sleep(0.1) + file_overwrite(tracked_cases_file, tracked_cases) + + client.chat_postMessage(channel=channel_id, text=f"{channel_name} is now tracking case {case}") + else: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"Case {case} is already being tracked in {channel_name}") + + +def add_comment(channel_id, case, comment, user_id, user_name): + """ + Add a comment to a Google Cloud support case. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + case : str + unique id of the case + comment : str + comment to be added to the case + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + user_name : str + Slack user_name of the user that ran the command. Appended to the end of the + comment to identify who submitted submitted it, otherwise all comments will + show as coming from the case creator + """ + client.chat_postEphemeral(channel=channel_id, user=user_id, text="Your request is processing ...") + parent = get_parent(case) + + if parent == 'Case not found': + case_not_found(channel_id, user_id, case) + else: + req_body = { + "body" : comment + '\n*Comment submitted by {} via Google Cloud Support Slack bot*'.format(user_name) + } + req = support_service.cases().comments().create(parent=parent, body=req_body) + try: + req.execute(num_retries=MAX_RETRIES) + except BrokenPipeError as e: + logging.error(e, ' : {}'.format(datetime.now())) + client.chat_postEphemeral(channel=channel_id, user=user_id, text="Your comment may not have posted. Please try again later.") + else: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"You added a new comment on case {case}: {comment}") + + +def change_priority(channel_id, case, priority, user_id): + """ + Changes the priority of a Google Cloud Support case. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + case : str + unique id of the case + priority : str + the current priority of the case, represented as S0, S1, S2, S3, or S4 + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + """ + client.chat_postEphemeral(channel=channel_id, user=user_id, text="Your request is processing ...") + parent = get_parent(case) + if parent == 'Case not found': + case_not_found(channel_id, user_id, case) + else: + body = { + "severity": priority.replace("P", "S") + } + update_mask = "case.severity" + req = support_service.cases().patch(name=parent, updateMask=update_mask, body=body) + try: + req.execute(num_retries=MAX_RETRIES) + except BrokenPipeError as e: + logging.error(e, ' : {}'.format(datetime.now())) + client.chat_postEphemeral(channel=channel_id, user=user_id, text="Your attempt to change the case priority has failed. Please try again later.") + else: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"You have changed the priority of case {case} to {priority}.") + + +def escalate(channel_id, case, user_id, reason, justification, user_name): + """ + Escalates a Google Cloud support case, setting the escalated boolean to True. + This code is currently disabled and we will look to include a working version + of it in the v1 release of the bot. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + case : str + unique id of the case + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + reason : str + reason for the escalation. Must be a value of either REASON_UNSPECIFIED, + RESOLUTION_TIME, TECHNICAL_EXPERTISE, or BUSINESS_IMPACT + justification : str + user submitted string justifying the need for an escalation + user_name : str + Slack user_name of the user that ran the command. Appended to the end of the + justification to identify who submitted the escalation, otherwise all escalations + will show as coming from the case creator + """ + client.chat_postEphemeral(channel=channel_id, user=user_id, text="Your request is processing ... ") + parent = get_parent(case) + if parent == 'Case not found': + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"Case {case} could not be found in your org. If this case was recently created, please give the system 60 seconds to fetch it. Otherwise, double check your case number or confirm the org being tracked with your Slack admin.") + else: + signed_justification = justification + '\n *Sent by {} via Google Cloud Support Slack bot'.format(user_name) + body = { + 'escalation' : { + 'reason': reason, + 'justification': signed_justification + } + } + escalation_mask = ['escalation.reason', 'escalation.justification'] + req = support_service.cases().escalate(name=parent, body=body) + try: + req.execute(num_retries=MAX_RETRIES) + except BrokenPipeError as e: + client.chat_postEphemeral(channel=channel_id, user=user_id, text="Your attempt to escalate may have failed. Please contact your account team or try again later.") + else: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"You have escalated case {case}") + + +def stop_tracking(channel_id, channel_name, case, user_id): + """ + Remove a case from the list of tracked Google Cloud support cases. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + channel_name : str + user designated channel name. For users to understand where their cases are being + tracked in Slack + case : str + unique id of the case + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + """ + exists = False + for tc in tracked_cases: + if tc['channel_id'] == channel_id and tc['case'] == case: + tracked_cases.remove(tc) + + try: + file_overwrite(tracked_cases_file, tracked_cases) + except OSError as e: + logging.error(e, ' : {}'.format(datetime.now())) + time.sleep(0.2) + file_overwrite(tracked_cases_file, tracked_cases) + + exists = True + break + + if exists == True: + client.chat_postMessage(channel=channel_id, text=f"Case {case} is no longer being tracked in {channel_name}") + else: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"Case {case} not found in tracker for {channel_name}") + + +# Close a given support case, this API is not yet available +def close_case(channel_id, case, user_id): + """ + Closes a Google Cloud support case. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + case : str + unique id of the case + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + """ + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"You have closed case {case} and it will no longer be tracked") + + # Notify the channels tracking this case that the case has been closed and then remove the case + # the case from the tracker for that channel + for tc in tracked_cases: + if tc['case'] == case: + client.chat_postMessage(channel=tc['channel_id'], text=f"Case {case} has been closed and will no longer be tracked") + tracked_cases.remove(tc) + + +def list_tracked_cases(channel_id, channel_name, user_id): + """ + Display all of the tracked Google Cloud support cases for the current channel + to the user that submitted the command. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + channel_name : str + user designated channel name. For users to understand where their cases are being + tracked in Slack + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + """ + local_tracked_cases = [] + for tc in tracked_cases: + if tc['channel_id'] == channel_id: + local_tracked_cases.append(tc['case']) + if len(local_tracked_cases) > 0: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"Currently tracking cases {local_tracked_cases}") + else: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"There are no cases currently being tracked in this channel") + + +def list_tracked_cases_all(channel_id, user_id): + """ + Display all the Google Cloud support cases being tracked in the Slack worskpace + to the user that submitted the command. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + """ + all_tracked_cases = [] + for tc in tracked_cases: + temp = { + "channel": tc['channel_name'], + "case": tc['case'] + } + all_tracked_cases.append(temp) + + if len(all_tracked_cases) > 0: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"Currently tracking cases {all_tracked_cases}") + else: + client.chat_postEphemeral(channel=channel_id, user=user_id, text=f"There are no cases currently being tracked in Slack") + + +def case_details(channel_id, case, user_id): + """ + Sends the data of a single case as json to the channel where the request originated. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + case : str + unique id of the case + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + """ + with open(cases_file) as f: + cases = json.load(f) + + if case in cases: + pretty_json = json.dumps(cases[case], indent=4, sort_keys=True) + client.chat_postMessage(channel=channel_id, text=f"Here are the details on case {case}: \n{pretty_json}") + else: + case_not_found(channel_id, user_id, case) + + +def sitrep(channel_id, user_id): + """ + Lists the following details for all cases in the org: + case id, priority, title, isEscalated, case creation time, last case update time, + case status, and case creator. + + Additionally, provides a summary of the number of the number of cases open by + priority, the total number of cases, and the total number of escalated cases. + + Parameters + ---------- + channel_id : str + unique string used to idenify a Slack channel. Used to send messages to the channel + user_id : str + the Slack user_id of the user who submitted the request. Used to send ephemeral + messages to the user + """ + p1 = 0 + p2 = 0 + p3 = 0 + p4 = 0 + esc_count = 0 + report = ('This is the current state of Google Cloud Support cases:' + '\n\ncase,priority,title,escalated,create_time,last_updated,state,case_creator') + with open(cases_file) as f: + cases = json.load(f) + + for case in cases: + if cases[case]['priority'] == 'P1': + p1 += 1 + elif cases[case]['priority'] == 'P2': + p2 += 1 + elif cases[case]['priority'] == 'P3': + p3 += 1 + else: + p4 += 1 + + if cases[case]['escalated'] == True: + esc_count += 1 + + report = report + '\n{},{},{},{},{},{},{},{}'.format( + case, + cases[case]['priority'], + cases[case]['case_title'], + cases[case]['escalated'], + cases[case]['create_time'], + cases[case]['update_time'], + cases[case]['state'], + cases[case]['case_creator']) + + report = (report + '\n\n' + '\n{} P1 cases are open' + '\n{} P2 cases are open' + '\n{} P3 cases are open' + '\n{} P4 cases are open' + '\nTotal cases open: {}' + '\nEscalated cases: {}' + ).format(str(p1), str(p2), str(p3), str(p4), str(p1 + p2 + p3 + p4), str(esc_count)) + + client.chat_postMessage(channel=channel_id, text=f"{report}") + + +def case_updates(): + """ + Infinite loop that pulls all of the open Google Cloud support cases for our org and their + associated public comments every 15 seconds and compares it to the cases and + comments from the previous pull. If any change is detected between the two versions + of the case, the change is posted to any channel that is tracking it. + """ + query_string = 'organization="organizations/{}" AND state=OPEN'.format(ORG_ID) + + while True: + loop_skip = False + sleep_timer = 15 + cases = {} + if os.path.exists(cases_file): + with open(cases_file) as f: + try: + cases = json.load(f) + except json.decoder.JSONDecodeError as e: + logging.error(e, ' : {}'.format(datetime.now())) + pass + + req = support_service.cases().search(query=query_string) + try: + resp = req.execute(num_retries=MAX_RETRIES).get('cases', []) + except BrokenPipeError as e: + logging.error(e, ' : {}'.format(datetime.now())) + time.sleep(5) + continue + + temp_cases = {} + + for case in resp: + try: + temp_case = SupportCase(case) + except NameError as e: + logging.error(e, ' : {}'.format(datetime.now())) + loop_skip = True + break + try: + temp_cases[temp_case.case_number] = temp_case + except AttributeError as e: + logging.error(e, ' : {}'.format(datetime.now())) + loop_skip = True + break + + if loop_skip == True: + time.sleep(5) + continue + + # Remove the cases from our dictionary that are no longer active + for key in cases: + delete_entry = True + for temp_key in temp_cases: + if key == temp_key: + delete_entry = False + break + if delete_entry == True: + notify_slack(key, 'closed', '') + del cases[key] + + # Check for existing cases that have a new update time. Post their relevant update + # to the channels that are tracking those cases. + for temp_key in temp_cases: + if temp_key in cases: + if cases[temp_key]['comment_list'] != temp_cases[temp_key].comment_list: + if 'googleSupport' in temp_cases[temp_key].comment_list[0]['creator']: + notify_slack(temp_key, 'comment', temp_cases[temp_key].comment_list[0]['body']) + if cases[temp_key]['priority'] != temp_cases[temp_key].priority: + notify_slack(temp_key, 'priority', temp_cases[temp_key].priority) + if cases[temp_key]['escalated'] != temp_cases[temp_key].escalated: + if temp_cases[temp_key].escalated == True: + notify_slack(temp_key, 'escalated', temp_cases[temp_key].escalated) + else: + notify_slack(temp_key, 'de-escalated', temp_cases[temp_key].escalated) + + # Replace the stored case list with our latest pull and update the file + try: + file_overwrite(cases_file, temp_cases) + except OSError as e: + logging.error(e, ' : {}'.format(datetime.now())) + sleep_timer = 2 + + # Wait to try again so we don't spam the API + time.sleep(sleep_timer) + + +def notify_slack(case, update_type, update_text): + """ + Sends update messages to Slack. + + Parameters + ---------- + case : str + unique id of the case + update_type : str + specifies what was changed in the case + update_text : str + update relevant content that is injected into the Slack message + """ + if os.path.exists(tracked_cases_file): + tracker = [] + with open(tracked_cases_file) as tcf: + try: + tracked_cases_json = json.load(tcf) + except json.decoder.JSONDecodeError as e: + logging.error(e, ' : {}'.format(datetime.now())) + else: + for tracked_case in tracked_cases_json: + tracker.append(tracked_case) + for t in tracker: + if t['case'] == case: + if update_type == 'comment': + client.chat_postMessage(channel=t['channel_id'], text=f"You have an update from your support engineer on case {case}: \n{update_text}") + elif update_type == 'priority': + client.chat_postMessage(channel=t['channel_id'], text=f"The priority of case {case} has been changed to {update_text}") + elif update_type == 'closed': + client.chat_postMessage(channel=t['channel_id'], text=f"Case {case} has been closed") + elif update_type == 'escalated': + client.chat_postMessage(channel=t['channel_id'], text=f"Case {case} has been escalated") + elif update_type == 'de-escalated': + client.chat_postMessage(channel=t['channel_id'], text=f"Case {case} has been de-escalated") + + +def file_overwrite(output_file, content_dict): + """ + Replaces the json of a file or creates the file if it doesn't already exist. + + Parameters + ---------- + output_file : str + the name of the file we will be creating or replacing the content + content_dict : dict + data to be written to the file. Currently either our tracked cases or + all Google Cloud support cases + """ + if os.path.exists(output_file): + with open(output_file, "r+") as f: + data = f.read() + f.seek(0) + f.write(json.dumps(content_dict, default=lambda x: x.__dict__)) + f.truncate() + else: + with open(output_file, "w") as f: + f.write(json.dumps(content_dict, default=lambda x: x.__dict__)) + + +def get_parent(case) -> str: + """ + Retrieves the full parent path for a given case id. + + Parameters + ---------- + case : str + unique id of the case + """ + fetch_cases = {} + if os.path.exists(cases_file): + with open(cases_file) as f: + fetch_cases = json.load(f) + if case in fetch_cases: + return fetch_cases[case]['resource_name'] + else: + return 'Case not found' + + +if __name__ == "__main__": + p = Process(target=case_updates) + p.start() + http_server = WSGIServer(('', 5000), app) + http_server.serve_forever() + p.join() diff --git a/tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon.svg b/tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon.svg new file mode 100644 index 0000000000..d7d9b53434 --- /dev/null +++ b/tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon_big.png b/tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon_big.png new file mode 100644 index 0000000000000000000000000000000000000000..54c8858e3b68404a45f952d71adae32344799c74 GIT binary patch literal 164883 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�$Os4 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%0A`a+X5e)M`f-;uL;ZLAjnEF`7zH~D( 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

KX1#-CJ+P*lIkwc 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 SKi$OtoI7*DqT-Yf`hNk=_{0VP literal 0 HcmV?d00001 diff --git a/tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon_small.png b/tools/google-cloud-support-slackbot/google_cloud_support_slackbot_icon_small.png new file mode 100644 index 0000000000000000000000000000000000000000..e22ccc5fe880ad09136dd8536ade1339ea84230d GIT binary patch literal 29690 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 z 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 literal 0 HcmV?d00001 diff --git a/tools/google-cloud-support-slackbot/requirements.txt b/tools/google-cloud-support-slackbot/requirements.txt new file mode 100644 index 0000000000..5244ef1ad4 --- /dev/null +++ b/tools/google-cloud-support-slackbot/requirements.txt @@ -0,0 +1,55 @@ +aiohttp==3.7.4.post0 +asn1crypto==0.24.0 +async-timeout==3.0.1 +attrs==21.2.0 +cachetools==4.2.2 +certifi==2021.5.30 +click==7.1.2 +crcmod==1.7 +cryptography==2.6.1 +distro-info==0.21 +entrypoints==0.3 +Flask==1.1.4 +gevent==21.8.0 +google-api-core==1.31.0 +google-api-python-client==2.12.0 +google-auth==1.32.1 +google-auth-httplib2==0.1.0 +googleapis-common-protos==1.53.0 +greenlet==1.1.1 +httplib2==0.19.1 +idna==2.10 +importlib-metadata==4.5.0 +itsdangerous==1.1.0 +Jinja2==2.11.3 +keyring==17.1.1 +keyrings.alt==3.1.1 +MarkupSafe==1.1.1 +multidict==5.1.0 +packaging==21.0 +protobuf==3.17.3 +pyasn1==0.4.8 +pyasn1-modules==0.2.8 +pycrypto==2.6.1 +pyee==7.0.4 +PyGObject==3.30.4 +pyparsing==2.4.7 +python-apt==1.8.4.3 +python-dotenv==0.18.0 +pytz==2021.1 +pyxdg==0.25 +requests==2.25.1 +rsa==4.7.2 +SecretStorage==2.3.1 +six==1.16.0 +slackclient==2.9.3 +slackeventsapi==2.2.1 +typing-extensions==3.10.0.0 +unattended-upgrades==0.1 +uritemplate==3.0.1 +urllib3==1.26.6 +Werkzeug==1.0.1 +yarl==1.6.3 +zipp==3.4.1 +zope.event==4.5.0 +zope.interface==5.4.0