This is an automated email from the ASF dual-hosted git repository.
lehelb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 547f1016db NIFI-14089 Add MethodsEndpointUrlPrefix Property to
PublishSlack Processor
547f1016db is described below
commit 547f1016db50c6cd62175e831faf3aff0289b020
Author: Ryosuke Takahashi <[email protected]>
AuthorDate: Tue Dec 17 21:37:44 2024 +0900
NIFI-14089 Add MethodsEndpointUrlPrefix Property to PublishSlack Processor
This closes #9586.
Signed-off-by: Lehel Boer <[email protected]>
---
.../apache/nifi/processors/slack/PublishSlack.java | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git
a/nifi-extension-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PublishSlack.java
b/nifi-extension-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PublishSlack.java
index 4390d2a476..299fa934b5 100644
---
a/nifi-extension-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PublishSlack.java
+++
b/nifi-extension-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PublishSlack.java
@@ -17,6 +17,8 @@
package org.apache.nifi.processors.slack;
+import com.slack.api.Slack;
+import com.slack.api.SlackConfig;
import com.slack.api.bolt.App;
import com.slack.api.bolt.AppConfig;
import com.slack.api.methods.MethodsClient;
@@ -211,6 +213,15 @@ public class PublishSlack extends AbstractProcessor {
.required(false)
.build();
+ static PropertyDescriptor METHODS_ENDPOINT_URL_PREFIX = new
PropertyDescriptor.Builder()
+ .name("Methods Endpoint Url Prefix")
+ .description("Customization of the Slack Client. Set the
methodsEndpointUrlPrefix. If you need to set a different URL prefix for Slack
API Methods calls, " +
+ "you can set the one. Default value:
https://slack.com/api/")
+ .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
+ .required(false)
+ .build();
+
private static final List<PropertyDescriptor> properties =
List.of(ACCESS_TOKEN,
CHANNEL,
PUBLISH_STRATEGY,
@@ -218,7 +229,8 @@ public class PublishSlack extends AbstractProcessor {
CHARACTER_SET,
SEND_CONTENT_AS_ATTACHMENT,
MAX_FILE_SIZE,
- THREAD_TS);
+ THREAD_TS,
+ METHODS_ENDPOINT_URL_PREFIX);
public static final Relationship REL_SUCCESS = new Relationship.Builder()
@@ -279,7 +291,14 @@ public class PublishSlack extends AbstractProcessor {
private App createSlackApp(final ProcessContext context) {
final String botToken = context.getProperty(ACCESS_TOKEN).getValue();
+ final String methodsEndpointUrlPrefix =
context.getProperty(METHODS_ENDPOINT_URL_PREFIX).getValue();
+
+ final SlackConfig slackConfig = new SlackConfig();
+ if (context.getProperty(METHODS_ENDPOINT_URL_PREFIX).isSet()) {
+ slackConfig.setMethodsEndpointUrlPrefix(methodsEndpointUrlPrefix);
+ }
final AppConfig appConfig = AppConfig.builder()
+ .slack(Slack.getInstance(slackConfig))
.singleTeamBotToken(botToken)
.build();