Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions gh2slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,19 +273,20 @@ def process_news(
for html_url in to_publish:
cache_item = cache.items[html_url]
try:
msg_blocks = [
format_message(
logger,
gh_data.repo_owner,
gh_data.repo_name,
ALIASES[gh_data.repo_section],
html_url,
cache_item,
)
]
msg_block = format_message(
logger,
gh_data.repo_owner,
gh_data.repo_name,
ALIASES[gh_data.repo_section],
html_url,
cache_item,
)
msg_blocks = [msg_block]
msg_as_text = msg_block["text"]["text"]
rss2slack.post_to_slack(
logger,
msg_blocks,
msg_as_text,
slack_client,
slack_channel,
)
Expand Down
2 changes: 2 additions & 0 deletions git_commits2slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,13 +193,15 @@ def main():
args.git_web, branch_name, repo_name, commit_count
)
msg_blocks.insert(0, heading)
msg_as_text = heading["text"]["text"]

slack_client = rss2slack.get_slack_web_client(
slack_token, args.slack_base_url, args.slack_timeout
)
rss2slack.post_to_slack(
logger,
msg_blocks,
msg_as_text,
slack_client,
args.slack_channel,
)
Expand Down
5 changes: 4 additions & 1 deletion phpbb2slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -224,11 +224,14 @@ def process_news(
):
"""Process news and post it to Slack."""
for url in list(news.keys()):
msg_blocks = [format_message(url, news[url], handle)]
msg_block = format_message(url, news[url], handle)
msg_blocks = [msg_block]
msg_as_text = msg_block["text"]["text"]
try:
rss2slack.post_to_slack(
logger,
msg_blocks,
msg_as_text,
slack_client,
slack_channel,
)
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
feedparser==6.0.12
requests==2.32.5
slackclient==2.9.4
slack-sdk==3.40.1
14 changes: 11 additions & 3 deletions rss2slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from typing import List
from typing import Tuple

from slack import WebClient
from slack_sdk import WebClient

import rss2irc
from lib import cli_args
Expand Down Expand Up @@ -174,14 +174,19 @@ def parse_args() -> argparse.Namespace:
def post_to_slack(
logger: logging.Logger,
msg_blocks: List,
msg_as_text: str,
slack_client: WebClient,
slack_channel: str,
) -> None:
"""Post news to Slack channel."""
try:
logger.debug("Will post %s", repr(msg_blocks))
# NOTE(zstyblik): "we highly recommended that you include text to
# provide a fallback when using blocks."
rsp = slack_client.chat_postMessage(
channel=slack_channel, blocks=msg_blocks
channel=slack_channel,
blocks=msg_blocks,
text=msg_as_text,
)
logger.debug("Response from Slack: %s", rsp)
if not rsp:
Expand All @@ -208,11 +213,14 @@ def process_news(
) -> None:
"""Process news and post it to Slack."""
for url in list(news.keys()):
msg_blocks = [format_message(url, news[url], handle)]
msg_block = format_message(url, news[url], handle)
msg_blocks = [msg_block]
msg_as_text = msg_block["text"]["text"]
try:
post_to_slack(
logger,
msg_blocks,
msg_as_text,
slack_client,
slack_channel,
)
Expand Down
10 changes: 10 additions & 0 deletions tests/test_gh2slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,11 @@ def test_main_ideal(
}
],
"channel": expected_slack_channel,
"text": (
"[<https://github.com/test-user/test-repo|"
+ "test-user/test-repo>] <http://example.com/bar|"
+ "pr#1> | some title#2"
),
},
{
"blocks": [
Expand All @@ -277,6 +282,11 @@ def test_main_ideal(
}
],
"channel": expected_slack_channel,
"text": (
"[<https://github.com/test-user/test-repo|"
+ "test-user/test-repo>] "
+ "<http://example.com/foo|pr#0> | some title#1"
),
},
]
#
Expand Down
4 changes: 4 additions & 0 deletions tests/test_git_commits2slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,10 @@ def test_main_ideal(
},
],
"channel": expected_slack_channel,
"text": (
"<http://example.com/tree/master|"
+ "[{}:master]> 1 commit".format(repo_name)
),
}
]
#
Expand Down
5 changes: 5 additions & 0 deletions tests/test_phpbb2slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,11 @@ def test_main_ideal(
}
],
"channel": expected_slack_channel,
"text": (
"[test] <https://phpbb.example.com/threads/"
+ "something-of-something.424837/"
+ "|Some other problem> (0)"
),
}
]

Expand Down
8 changes: 8 additions & 0 deletions tests/test_rss2slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@ def test_main_ideal(
}
],
"channel": expected_slack_channel,
"text": (
"[test] <http://www.example.com/scan.php?"
+ "page=news_item&px=item1|Item1>"
),
},
{
"blocks": [
Expand All @@ -130,6 +134,10 @@ def test_main_ideal(
}
],
"channel": expected_slack_channel,
"text": (
"[test] <http://www.example.com/scan.php?"
+ "page=news_item&px=item2|Item2>"
),
},
]
# Mock/set SLACK_TOKEN
Expand Down