From cf5717dc398ff5dae56cc5876b3f179cf70bfd19 Mon Sep 17 00:00:00 2001 From: Jura Khrapunov Date: Mon, 30 Dec 2024 09:22:12 -0500 Subject: [PATCH] Updated Teams hook messaging --- functions.sh | 2 +- hooks/letsencrypt_drupal_hooks.sh | 18 +++++++++--------- letsencrypt_drupal.sh | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/functions.sh b/functions.sh index 13d4958..d12115f 100644 --- a/functions.sh +++ b/functions.sh @@ -57,7 +57,7 @@ slackpost() COLOR="attention" fi escapedText=$(echo $TEXT | sed 's/"/\"/g' | sed "s/'/\'/g") - json="{\"type\": \"message\", \"attachments\": [{\"contentType\": \"application/vnd.microsoft.card.adaptive\",\"contentUrl\": null,\"content\": {\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"type\": \"AdaptiveCard\",\"version\": \"1.2\",\"body\": [{\"type\": \"TextBlock\",\"text\": \"$escapedText\", \"color\":\"$COLOR\"}]}}]}" + json="{\"type\": \"message\", \"attachments\": [{\"contentType\": \"application/vnd.microsoft.card.adaptive\",\"contentUrl\": null,\"content\": {\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"type\": \"AdaptiveCard\",\"version\": \"1.2\",\"body\": [{\"type\": \"TextBlock\",\"text\": \"${ENVIRONMENT}\", \"size\": \"large\"}, {\"type\": \"TextBlock\",\"text\": \"$escapedText\", \"color\":\"$COLOR\", \"wrap\": true}]}}]}" curl -s -H "Content-Type: application/json" -d "$json" "$TEAMS_WEBHOOK_URL" || logline "Failed to send message to Teams: ${USERNAME}: ${TEXT}" else logline "No Slack/Teams: ${USERNAME}: ${TEXT}" diff --git a/hooks/letsencrypt_drupal_hooks.sh b/hooks/letsencrypt_drupal_hooks.sh index 2854b8a..331963b 100755 --- a/hooks/letsencrypt_drupal_hooks.sh +++ b/hooks/letsencrypt_drupal_hooks.sh @@ -65,22 +65,22 @@ deploy_cert() { # - TIMESTAMP # Timestamp when the specified certificate was created. - slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: Starting deployment of new certificate for ${DOMAIN}." + slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "Starting deployment of new certificate for ${DOMAIN}." # Should deployment be atempted? if [ -z ${CERT_DEPLOY_ENVIRONMENT_UUID+x} ] then # No deploy. Just notify Slack and ask for manual deploy. - slackpost "${PROJECT_ROOT}" "warning" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: *New certificate for ${DOMAIN} was generated.* This instance of morpht/letsencrypt_drupal *is not set up to deploy certificate* automatically. The certificate needs to be uploaded to Acquia manually*.\n\nSSH to \`drush ${DRUSH_ALIAS} ssh\` to read files.\nLogin to Acquia and open target environment. Open SSL tab on the left side. Click Install SSL certificate.\n\nText fields:\nSSL certificate: \`cat ${FULLCHAINFILE}\`\nSSL private key: \`cat ${KEYFILE}\`\nCA intermediate certificates: \`cat ${CHAINFILE}\`" + slackpost "${PROJECT_ROOT}" "warning" "SSL bot ${DRUSH_ALIAS}" "*New certificate for ${DOMAIN} was generated.* This instance of morpht/letsencrypt_drupal *is not set up to deploy certificate* automatically. The certificate needs to be uploaded to Acquia manually*.\n\nSSH to \`drush ${DRUSH_ALIAS} ssh\` to read files.\nLogin to Acquia and open target environment. Open SSL tab on the left side. Click Install SSL certificate.\n\nText fields:\nSSL certificate: \`cat ${FULLCHAINFILE}\`\nSSL private key: \`cat ${KEYFILE}\`\nCA intermediate certificates: \`cat ${CHAINFILE}\`" else # Run certificate deployment. RESULT=$(php $CURRENT_DIR/../acquia_cloud_cert_deployment/cert_deploy.php "${CERT_DEPLOY_ENVIRONMENT_UUID}" "${KEYFILE}" "${FULLCHAINFILE}" "${CHAINFILE}" "${TIMESTAMP}" --activate --label-prefix "letsencrypt_drupal" 2>&1) if [ $? -eq 0 ] then # Send successful result to slack. - slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: SSL certificate deployment successful. \`\`\`${RESULT}\`\`\`" + slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "SSL certificate deployment successful. \`\`\`${RESULT}\`\`\`" else # Send failure notification to slack. - slackpost "${PROJECT_ROOT}" "danger" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: *SSL certificate deployment failure.* Manual review/fix required! \`\`\`${RESULT}\`\`\`\n\nNew certificate for ${DOMAIN} *was generated and needs to be uploaded to Acquia manually*.\n\nSSH to \`drush ${DRUSH_ALIAS} ssh\` to read files.\nLogin to Acquia and open target environment. Open SSL tab on the left side. Click Install SSL certificate.\n\nText fields:\nSSL certificate: \`cat ${FULLCHAINFILE}\`\nSSL private key: \`cat ${KEYFILE}\`\nCA intermediate certificates: \`cat ${CHAINFILE}\`" + slackpost "${PROJECT_ROOT}" "danger" "SSL bot ${DRUSH_ALIAS}" "*SSL certificate deployment failure.* Manual review/fix required! \`\`\`${RESULT}\`\`\`\n\nNew certificate for ${DOMAIN} *was generated and needs to be uploaded to Acquia manually*.\n\nSSH to \`drush ${DRUSH_ALIAS} ssh\` to read files.\nLogin to Acquia and open target environment. Open SSL tab on the left side. Click Install SSL certificate.\n\nText fields:\nSSL certificate: \`cat ${FULLCHAINFILE}\`\nSSL private key: \`cat ${KEYFILE}\`\nCA intermediate certificates: \`cat ${CHAINFILE}\`" fi # Output for logging. echo "${RESULT}" @@ -106,7 +106,7 @@ unchanged_cert() { # - CHAINFILE # The path of the file containing the intermediate certificate(s). - slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: Certificate for ${DOMAIN} is still valid and therefore wasn't reissued. All good." + slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "Certificate for ${DOMAIN} is still valid and therefore wasn't reissued. All good." } invalid_challenge() { @@ -122,7 +122,7 @@ invalid_challenge() { # - RESPONSE # The response that the verification server returned - slackpost "${PROJECT_ROOT}" "danger" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: Invalid_challenge: Challenge response has failed for ${DOMAIN} with ${RESPONSE}. Manual fix required!" + slackpost "${PROJECT_ROOT}" "danger" "SSL bot ${DRUSH_ALIAS}" "Invalid_challenge: Challenge response has failed for ${DOMAIN} with ${RESPONSE}. Manual fix required!" } request_failure() { @@ -141,21 +141,21 @@ request_failure() { # - REQTYPE # The kind of request that was made (GET, POST...) - slackpost "${PROJECT_ROOT}" "danger" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: Request_failure: HTTP request has failed with status code: ${STATUSCODE} and reason: ${REASON}. Manual fix required!" + slackpost "${PROJECT_ROOT}" "danger" "SSL bot ${DRUSH_ALIAS}" "Request_failure: HTTP request has failed with status code: ${STATUSCODE} and reason: ${REASON}. Manual fix required!" } startup_hook() { # This hook is called before the cron command to do some initial tasks # (e.g. starting a webserver). - slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: SSL certificate check is starting..." + slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "SSL certificate check is starting..." } exit_hook() { # This hook is called at the end of the cron command and can be used to # do some final (cleanup or other) tasks. - slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: SSL certificate check finished." + slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "SSL certificate check finished." } HANDLER="$1"; shift diff --git a/letsencrypt_drupal.sh b/letsencrypt_drupal.sh index 4990f80..90ac00e 100755 --- a/letsencrypt_drupal.sh +++ b/letsencrypt_drupal.sh @@ -31,7 +31,7 @@ self_update() { reslog=$(git log HEAD..origin/master --oneline) if [[ "${reslog}" != "" ]]; then echo "Found a new version of me, updating myself..." - slackpost "${PROJECT_ROOT}" "warning" "undp/letsencrypt_drupal on ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: Found a new version of me, updating myself..." + slackpost "${PROJECT_ROOT}" "warning" "undp/letsencrypt_drupal on ${DRUSH_ALIAS}" "Found a new version of me, updating myself..." # Remove dehydrated library to make sure we get new version. rm -rf ${CURRENT_DIR}/dehydrated @@ -57,7 +57,7 @@ self_update() { cd ${CURRENT_DIR} || exit echo "Already the latest version." - slackpost "${PROJECT_ROOT}" "good" "undp/letsencrypt_drupal on ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: The script is already the latest version." + slackpost "${PROJECT_ROOT}" "good" "undp/letsencrypt_drupal on ${DRUSH_ALIAS}" "The script is already the latest version." } main() { @@ -100,10 +100,10 @@ main() { if [ $? -eq 0 ] then # Send result to slack. - slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: SSL Dehydrated script success. \`\`\`${DEHYDRATED_RESULT}\`\`\`" + slackpost "${PROJECT_ROOT}" "good" "SSL bot ${DRUSH_ALIAS}" "SSL Dehydrated script success. \`\`\`${DEHYDRATED_RESULT}\`\`\`" else # Send result to slack. - slackpost "${PROJECT_ROOT}" "danger" "SSL bot ${DRUSH_ALIAS}" "${PROJECT}.${ENVIRONMENT}: *SSL Dehydrated script failure.* Manual review/fix required! \`\`\`${DEHYDRATED_RESULT}\`\`\`" + slackpost "${PROJECT_ROOT}" "danger" "SSL bot ${DRUSH_ALIAS}" "*SSL Dehydrated script failure.* Manual review/fix required! \`\`\`${DEHYDRATED_RESULT}\`\`\`" fi # Output for logging. echo "${DEHYDRATED_RESULT}"