#!/usr/bin/env python3
+import os
import sys
import json
import urllib3
-project = sys.argv[1]
-url = sys.argv[2]
-version = sys.argv[3]
+project = os.environ["P_PROJECT"]
+url = os.environ["P_WEBHOOK"]
+version = os.environ["P_VERSION"]
+host = os.environ["P_HOST"]
+if os.environ["P_HTTPS"] == "true":
+ scheme = "https://"
+else:
+ scheme = "http://"
def post(url, data):
urllib3.disable_warnings()
data = {
"icon_url": "https://learn.puppet.com/static/images/logos/Puppet-Logo-Mark-Amber.png",
- "text": "Deployed {} on {}".format(version, project),
+ "text": "Deployed {} of {} on {}{}".format(
+ version,
+ project,
+ scheme,
+ host,
+ ),
}
json_data = json.dumps(data)
unless empty($cf_webhook_url) {
exec { "bot-slack-notify":
refreshonly => true,
- command => "/usr/local/bin/slack-notify Trader '${cf_webhook_url}' '${bot_version}'",
+ environment => [
+ "P_PROJECT=Trader",
+ "P_WEBHOOK=${cf_webhook_url}",
+ "P_VERSION=${bot_version}",
+ "P_HOST=${cf_front_app_host}",
+ "P_HTTPS=${cf_front_app_ssl}",
+ ],
+ command => "/usr/local/bin/slack-notify",
require => File["/usr/local/bin/slack-notify"],
subscribe => Exec["py-cryptoportfolio-dependencies"],
}
unless empty($cf_webhook_url) {
exec { "front-slack-notify":
refreshonly => true,
- command => "/usr/local/bin/slack-notify Front '${cf_webhook_url}' '${front_version}'",
+ environment => [
+ "P_PROJECT=Front",
+ "P_WEBHOOK=${cf_webhook_url}",
+ "P_VERSION=${front_version}",
+ "P_HOST=${cf_front_app_host}",
+ "P_HTTPS=${cf_front_app_ssl}",
+ ],
+ command => "/usr/local/bin/slack-notify",
require => File["/usr/local/bin/slack-notify"],
subscribe => [Exec["go-cryptoportfolio-app"], Exec["web-cryptoportfolio-build"]],
}