You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2019/04/01 01:58:53 UTC
[GitHub] [airflow] bryanyang0528 commented on a change in pull request
#5004: [AIRFLOW-4187] SlackWebhookOperator do not pass http_conn_id to its
parent class
bryanyang0528 commented on a change in pull request #5004: [AIRFLOW-4187] SlackWebhookOperator do not pass http_conn_id to its parent class
URL: https://github.com/apache/airflow/pull/5004#discussion_r270492480
##########
File path: tests/contrib/hooks/test_slack_webhook_hook.py
##########
@@ -91,6 +92,16 @@ def test_build_slack_message(self):
# Then
self.assertEqual(self.expected_message, message)
+ def test_get_base_url_default(self):
+ hook = SlackWebhookHook(http_conn_id='http_default')
+ hook.get_conn()
+
+ self.assertEqual(hook._get_base_url(), 'https://www.google.com/')
Review comment:
According to this article:https://stackoverflow.com/questions/52054427/how-to-integrate-apache-airflow-with-slack/52054663
SlackWebhookOperator could be set like this:
```
from airflow.contrib.operators.slack_webhook_operator import SlackWebhookOperator
slack_msg="Hi Wssup?"
slack_test = SlackWebhookOperator(
task_id='slack_test',
http_conn_id='slack_connection',
webhook_token='/1234/abcd',
message=slack_msg,
channel='#airflow_updates',
username='airflow_'+os.environ['ENVIRONMENT'],
icon_emoji=None,
link_names=False,
dag=dag)
```
And set the host of slack in connection like this: `host=https://hooks.slack.com/services/`
The argument-`http_conn_id` will be used for getting the hostname of Slack. But in the current version, `http_conn_id` can't be passed to the parent class-`HTTPHOOK`, so that `HTTPHook` will read the host using the default http_conn_id `http_default` and send the msg to `https://www.google.com/YOUR_ENDPOINT`. This the result
```
[2019-03-29 10:23:21,444] {base_hook.py:83} INFO - Using connection to: id: http_default. Host: https://www.google.com/, Port: None, Schema: None, Login: None, Password: None, extra: {}
[2019-03-29 10:23:21,446] {http_hook.py:128} INFO - Sending 'POST' to url: https://www.google.com/YOUR_ENDPOINT
/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py:847: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
[2019-03-29 10:23:21,462] {http_hook.py:142} ERROR - HTTP error: Not Found
[2019-03-29 10:23:21,462] {http_hook.py:144} ERROR - <!DOCTYPE html>
```
----------------------------------------------------------------
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:
users@infra.apache.org
With regards,
Apache Git Services