From 923397cca6db804585d580c2b80bc9776a531c7f Mon Sep 17 00:00:00 2001 From: Luis Toledo Date: Tue, 30 Oct 2018 13:46:57 -0300 Subject: [PATCH] set default properties at project/framework level for https://github.com/rundeck/rundeck/issues/3459. --- README.md | 2 +- build.gradle | 34 +++++++++++++++++- .../slack/SlackNotificationPlugin.java | 17 +++++++-- src/main/resources/resources/icon.png | Bin 0 -> 33717 bytes 4 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 src/main/resources/resources/icon.png diff --git a/README.md b/README.md index 3dd43aa..006fe44 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ See the [Included Plugins | Rundeck Documentation](http://rundeck.org/docs/plugi ## Download jarfile -1. Download jarfile from [releases](https://github.com/higanworks/rundeck-slack-incoming-webhook-plugin/releases). +1. Download jarfile from [releases](https://github.com/rundeck-plugins/slack-incoming-webhook-plugin/releases). 2. copy jarfile to `$RDECK_BASE/libext` ## Build diff --git a/build.gradle b/build.gradle index b0983d3..91cd0b7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,12 @@ +plugins { + id 'java' + id 'pl.allegro.tech.build.axion-release' version '1.7.1' +} + apply plugin: 'java' +apply plugin: 'pl.allegro.tech.build.axion-release' + sourceCompatibility = 1.6 -project.version = 1.0 defaultTasks 'clean', 'build' configurations{ @@ -13,6 +19,32 @@ configurations{ } } +scmVersion { + ignoreUncommittedChanges = false + tag { + prefix = 'v' + versionSeparator = '' + def origDeserialize=deserialize + + //apend .0 to satisfy semver if the tag version is only X.Y + deserialize = { config, position, tagName -> + println("config:" + config) + println("position:" + position) + println("tagName:" + tagName) + def orig = origDeserialize(config, position, tagName) + println("orig:" + orig) + if (orig.split('\\.').length < 3) { + orig += ".0" + } + println("orig2:" + orig) + orig + } + } +} + +println("scmVersion.version:" + scmVersion.version) +project.version = scmVersion.version + repositories { mavenCentral() } diff --git a/src/main/java/com/bitplaces/rundeck/plugins/slack/SlackNotificationPlugin.java b/src/main/java/com/bitplaces/rundeck/plugins/slack/SlackNotificationPlugin.java index 209d521..d531826 100644 --- a/src/main/java/com/bitplaces/rundeck/plugins/slack/SlackNotificationPlugin.java +++ b/src/main/java/com/bitplaces/rundeck/plugins/slack/SlackNotificationPlugin.java @@ -63,14 +63,21 @@ public class SlackNotificationPlugin implements NotificationPlugin { private static final Configuration FREEMARKER_CFG = new Configuration(); - @PluginProperty(title = "WebHook Base URL", description = "Slack Incoming WebHook Base URL", required = true, defaultValue = "https://hooks.slack.com/services") + @PluginProperty(title = "WebHook Base URL", + description = "Slack Incoming WebHook Base URL", + defaultValue = "https://hooks.slack.com/services", + scope=PropertyScope.Instance) private String webhook_base_url; @Password - @PluginProperty(title = "WebHook Token", description = "WebHook Token, like T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX", required = true) + @PluginProperty(title = "WebHook Token", + description = "WebHook Token, like T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX", + scope=PropertyScope.Instance) private String webhook_token; - @PluginProperty(title = "Slack Channel", description = "Slack Channel, like #channel-name (optional)") + @PluginProperty(title = "Slack Channel", + description = "Slack Channel, like #channel-name (optional)", + scope=PropertyScope.Instance) private String slack_channel; /** @@ -107,6 +114,10 @@ public boolean postNotification(String trigger, Map executionData, Map config) { throw new IllegalArgumentException("Unknown trigger type: [" + trigger + "]."); } + if(this.webhook_base_url.isEmpty() || this.webhook_token.isEmpty()){ + throw new IllegalArgumentException("URL or Token not set"); + } + String webhook_url=this.webhook_base_url+"/"+this.webhook_token; String message = generateMessage(trigger, executionData, config, this.slack_channel); diff --git a/src/main/resources/resources/icon.png b/src/main/resources/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0871f2acd3d9b3e8ecf6a8abda2ce8fec11cae GIT binary patch literal 33717 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 DzkZEf literal 0 HcmV?d00001