kaxil commented on a change in pull request #5519:
URL: https://github.com/apache/airflow/pull/5519#discussion_r421892088



##########
File path: airflow/providers/slack/hooks/slack.py
##########
@@ -27,40 +28,88 @@
 # noinspection PyAbstractClass
 class SlackHook(BaseHook):
     """
+    Creates a Slack connection, to be used for calls.
     Takes both Slack API token directly and connection that has Slack API 
token.
-
     If both supplied, Slack API token will be used.
+    Exposes also the rest of slack.WebClient args.
+
+    Examples:
+
+    .. code-block:: python
+
+        # Create hook
+        slack_hook = SlackHook(token="xxx")  # or slack_hook = 
SlackHook(slack_conn_id="slack")
+
+        # Call generic API with parameters (errors are handled by hook)
+        #  For more details check 
https://api.slack.com/methods/chat.postMessage
+        slack_hook.call("chat.postMessage", json={"channel": "#random", 
"text": "Hello world!"})
+
+        # Call method from Slack SDK (you have to handle errors yourself)
+        #  For more details check 
https://slack.dev/python-slackclient/basic_usage.html#sending-a-message
+        slack_hook.client.chat_postMessage(channel="#random", text="Hello 
world!")
 
     :param token: Slack API token
+    :type token: str
     :param slack_conn_id: connection that has Slack API token in the password 
field
+    :type slack_conn_id: str
+    :param use_session: A boolean specifying if the client should take 
advantage of
+        connection pooling. Default is True.
+    :type use_session: bool
+    :param base_url: A string representing the Slack API base URL. Default is
+        ``https://www.slack.com/api/``
+    :type base_url: str
+    :param timeout: The maximum number of seconds the client will wait
+        to connect and receive a response from Slack. Default is 30 seconds.
+    :type timeout: int
     """
-    def __init__(self, token: Optional[str] = None, slack_conn_id: 
Optional[str] = None) -> None:
+
+    def __init__(
+        self,
+        token: Optional[str] = None,
+        slack_conn_id: Optional[str] = None,
+        **client_args: Any,
+    ) -> None:
         super().__init__()
-        self.token = self.__get_token(token, slack_conn_id)
+        token = self.__get_token(token, slack_conn_id)

Review comment:
       ```suggestion
           self.token = self.__get_token(token, slack_conn_id)
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to