Class SlackTool


  • public class SlackTool
    extends java.lang.Object
    Slack API toolbox (see https://https://api.slack.com)
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  SlackTool.SlackMessage
      Slack message
    • Constructor Summary

      Constructors 
      Constructor Description
      SlackTool()
      Default constructor using system admin grant's SLACK_SERVICE system parameter as settings
      SlackTool​(Grant g)
      Constructor using grant's SLACK_SERVICE system parameter as settings
      SlackTool​(org.json.JSONObject settings)
      Constructor using custom settings
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean checkWebhookSignature​(Parameters params)
      Check webhook signature (see https://api.slack.com/docs/verifying-requests-from-slack)
      java.util.Map<java.lang.String,​java.lang.String> getChannels()
      Get channels
      java.lang.String getChannelURL​(java.lang.String name)
      Get channel URL
      java.lang.String getClientId()
      Get Slack API client ID
      java.lang.String getClientSecret()
      Get Slack API client secret
      java.lang.String getDefaultChannel()
      Get default channel name
      java.lang.String getDefaultChannelURL()
      Get default channel URL
      java.lang.String getId()
      Get Slack API application ID
      java.lang.String getSigningSecret()
      Get Slack API signing secret
      boolean isDebug()
      Is in debug mode
      void postMessage​(java.lang.String channelName, java.lang.String message)
      Send a simple message to a channel
      void postMessage​(java.lang.String channelName, org.json.JSONObject message)
      Send a message to a channel (you can use the SlackMessage helper sub-class or build your JSON object message manually)
      void setApplicationId​(java.lang.String id)
      Set Slack API ID
      void setClientId​(java.lang.String clientId)
      Set Slack API client ID
      void setClientSecret​(java.lang.String clientSecret)
      Set Slack API client secret
      void setDebug​(boolean debug)
      Set debug mode
      void setDefaultChannel​(java.lang.String name)
      Set default channel name
      void setSigningSecret​(java.lang.String signingSecret)
      Set Slack API signing secret
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SlackTool

        public SlackTool()
        Default constructor using system admin grant's SLACK_SERVICE system parameter as settings
      • SlackTool

        public SlackTool​(Grant g)
        Constructor using grant's SLACK_SERVICE system parameter as settings
        Parameters:
        g - Grant
      • SlackTool

        public SlackTool​(org.json.JSONObject settings)
        Constructor using custom settings
        Parameters:
        settings - Settings
    • Method Detail

      • setApplicationId

        public void setApplicationId​(java.lang.String id)
        Set Slack API ID
        Parameters:
        id - Application ID
      • getId

        public java.lang.String getId()
        Get Slack API application ID
        Returns:
        Application ID
      • setClientId

        public void setClientId​(java.lang.String clientId)
        Set Slack API client ID
        Parameters:
        clientId - Client ID
      • getClientId

        public java.lang.String getClientId()
        Get Slack API client ID
        Returns:
        Client ID
      • setClientSecret

        public void setClientSecret​(java.lang.String clientSecret)
        Set Slack API client secret
        Parameters:
        clientSecret - Client secret
      • getClientSecret

        public java.lang.String getClientSecret()
        Get Slack API client secret
        Returns:
        Client secret
      • setSigningSecret

        public void setSigningSecret​(java.lang.String signingSecret)
        Set Slack API signing secret
        Parameters:
        signingSecret - Signing secret
      • getSigningSecret

        public java.lang.String getSigningSecret()
        Get Slack API signing secret
        Returns:
        Signing secret
      • getChannels

        public java.util.Map<java.lang.String,​java.lang.String> getChannels()
        Get channels
        Returns:
        Channels
      • setDefaultChannel

        public void setDefaultChannel​(java.lang.String name)
        Set default channel name
        Parameters:
        name - Default channel name
      • getDefaultChannel

        public java.lang.String getDefaultChannel()
        Get default channel name
        Returns:
        Default channel name
      • getChannelURL

        public java.lang.String getChannelURL​(java.lang.String name)
        Get channel URL
        Parameters:
        name - Channel name
        Returns:
        Channel URL
      • getDefaultChannelURL

        public java.lang.String getDefaultChannelURL()
        Get default channel URL
        Returns:
        Channel URL
      • isDebug

        public boolean isDebug()
        Is in debug mode
        Returns:
        True if in debug mode
      • setDebug

        public void setDebug​(boolean debug)
        Set debug mode
        Parameters:
        debug - Debug mode?
      • postMessage

        public void postMessage​(java.lang.String channelName,
                                java.lang.String message)
                         throws APIException
        Send a simple message to a channel
        Parameters:
        channelName - Channel name
        message - Text message
        Throws:
        APIException
      • postMessage

        public void postMessage​(java.lang.String channelName,
                                org.json.JSONObject message)
                         throws APIException
        Send a message to a channel (you can use the SlackMessage helper sub-class or build your JSON object message manually)
        Parameters:
        channelName - Channel name
        message - JSON object message
        Throws:
        APIException
      • checkWebhookSignature

        public boolean checkWebhookSignature​(Parameters params)
        Check webhook signature (see https://api.slack.com/docs/verifying-requests-from-slack)
        Parameters:
        params - Request parameters
        Returns:
        True if signature is valid