This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch v2-0-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 36a7383a30b0f8624e0e4fbfff1971799b8b0367 Author: Jyoti Dhiman <[email protected]> AuthorDate: Tue Jan 26 02:43:48 2021 +0530 Upgrade slack_sdk to v3 (#13745) Co-authored-by: Kamil Breguła <[email protected]> Co-authored-by: Kamil Breguła <[email protected]> (cherry picked from commit 283945001363d8f492fbd25f2765d39fa06d757a) --- airflow/providers/slack/ADDITIONAL_INFO.md | 25 ++++++++++++++++++++++ .../providers/slack/BACKPORT_PROVIDER_README.md | 2 +- airflow/providers/slack/README.md | 2 +- airflow/providers/slack/hooks/slack.py | 4 ++-- docs/conf.py | 2 +- docs/spelling_wordlist.txt | 1 + scripts/ci/libraries/_verify_image.sh | 2 +- setup.py | 2 +- tests/providers/slack/hooks/test_slack.py | 2 +- 9 files changed, 34 insertions(+), 8 deletions(-) diff --git a/airflow/providers/slack/ADDITIONAL_INFO.md b/airflow/providers/slack/ADDITIONAL_INFO.md new file mode 100644 index 0000000..9b05d8a --- /dev/null +++ b/airflow/providers/slack/ADDITIONAL_INFO.md @@ -0,0 +1,25 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> + +# Migration Guide + +## 2.0.0 + +We updated the support for `slack_sdk` from ``>=2.0.0,<3.0.0`` to ``>=3.0.0,<4.0.0``. In most cases, this doesn't mean any breaking changes to the DAG files, but if you used this library directly then you have to make the changes. +For details, see [the Migration Guide](https://slack.dev/python-slack-sdk/v3-migration/index.html#from-slackclient-2-x) for Python Slack SDK. diff --git a/airflow/providers/slack/BACKPORT_PROVIDER_README.md b/airflow/providers/slack/BACKPORT_PROVIDER_README.md index 7863eb4..0e20d06 100644 --- a/airflow/providers/slack/BACKPORT_PROVIDER_README.md +++ b/airflow/providers/slack/BACKPORT_PROVIDER_README.md @@ -60,7 +60,7 @@ You can install this package on top of an existing airflow 1.10.* installation v | PIP package | Version required | |:--------------|:-------------------| -| slackclient | >=2.0.0,<3.0.0 | +| slack_sdk | >=3.0.0,<4.0.0 | ## Cross provider package dependencies diff --git a/airflow/providers/slack/README.md b/airflow/providers/slack/README.md index 7a630c6..ea4968a 100644 --- a/airflow/providers/slack/README.md +++ b/airflow/providers/slack/README.md @@ -61,7 +61,7 @@ You can install this package on top of an existing airflow 2.* installation via | PIP package | Version required | |:--------------|:-------------------| -| slackclient | >=2.0.0,<3.0.0 | +| slack_sdk | >=3.0.0,<4.0.0 | ## Cross provider package dependencies diff --git a/airflow/providers/slack/hooks/slack.py b/airflow/providers/slack/hooks/slack.py index 6f27091..da449a7 100644 --- a/airflow/providers/slack/hooks/slack.py +++ b/airflow/providers/slack/hooks/slack.py @@ -18,7 +18,7 @@ """Hook for Slack""" from typing import Any, Optional -from slack import WebClient +from slack_sdk import WebClient from airflow.exceptions import AirflowException from airflow.hooks.base import BaseHook @@ -41,7 +41,7 @@ class SlackHook(BaseHook): # noqa 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 + # For more details check https://slack.dev/python-slack-sdk/web/index.html#messaging slack_hook.client.chat_postMessage(channel="#random", text="Hello world!") :param token: Slack API token diff --git a/docs/conf.py b/docs/conf.py index a60bbe3..411796c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -391,7 +391,7 @@ autodoc_mock_imports = [ 'qds_sdk', 'redis', 'simple_salesforce', - 'slackclient', + 'slack_sdk', 'smbclient', 'snowflake', 'sshtunnel', diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index f8f8f83..71f9e34 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -1204,6 +1204,7 @@ skipable sku sla slackclient +slack_sdk slas smtp sortable diff --git a/scripts/ci/libraries/_verify_image.sh b/scripts/ci/libraries/_verify_image.sh index 2092bd2..05e91c6 100644 --- a/scripts/ci/libraries/_verify_image.sh +++ b/scripts/ci/libraries/_verify_image.sh @@ -190,7 +190,7 @@ function verify_image::verify_production_image_python_modules() { verify_image::check_command "Import: redis" "python -c 'import redis'" verify_image::check_command "Import: sendgrid" "python -c 'import sendgrid'" verify_image::check_command "Import: sftp/ssh" "python -c 'import paramiko, pysftp, sshtunnel'" - verify_image::check_command "Import: slack" "python -c 'import slack'" + verify_image::check_command "Import: slack" "python -c 'import slack_sdk'" verify_image::check_command "Import: statsd" "python -c 'import statsd'" verify_image::check_command "Import: virtualenv" "python -c 'import virtualenv'" diff --git a/setup.py b/setup.py index 50f6a2f..0689bd5 100644 --- a/setup.py +++ b/setup.py @@ -417,7 +417,7 @@ sentry = [ ] singularity = ['spython>=0.0.56'] slack = [ - 'slackclient>=2.0.0,<3.0.0', + 'slack_sdk>=3.0.0,<4.0.0', ] snowflake = [ # The `azure` provider uses legacy `azure-storage` library, where `snowflake` uses the diff --git a/tests/providers/slack/hooks/test_slack.py b/tests/providers/slack/hooks/test_slack.py index cbe3d26..5fef409 100644 --- a/tests/providers/slack/hooks/test_slack.py +++ b/tests/providers/slack/hooks/test_slack.py @@ -20,7 +20,7 @@ import unittest from unittest import mock import pytest -from slack.errors import SlackApiError +from slack_sdk.errors import SlackApiError from airflow.exceptions import AirflowException from airflow.providers.slack.hooks.slack import SlackHook
