๐Ÿ”— Slack Webhook URL ์„ค์ • ๋ฐฉ๋ฒ•

Sujin Kooยท2025๋…„ 10์›” 17์ผ

[Korean] Dev Tips

๋ชฉ๋ก ๋ณด๊ธฐ
2/2
post-thumbnail

GitHub Actions์ด๋‚˜ Python ์Šคํฌ๋ฆฝํŠธ์—์„œ Slack์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ž๋™ ์ „์†กํ•˜๋ ค๋ฉด
๋จผ์ € Slack Webhook URL์„ ๋ฐœ๊ธ‰๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.


1๏ธโƒฃ Slack ์•ฑ ์ƒ์„ฑํ•˜๊ธฐ

  1. ๐Ÿ‘‰ https://api.slack.com/apps ๋กœ ์ด๋™
  2. โ€œCreate New Appโ€ โ†’ โ€œFrom Scratchโ€ ํด๋ฆญ

  1. ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅ:

    • App Name: ์˜ˆ) Arxiv Daily Bot
    • Workspace: ์‚ฌ์šฉํ•  ์›Œํฌ์ŠคํŽ˜์ด์Šค ์„ ํƒ
  2. Create App ํด๋ฆญ


2๏ธโƒฃ Incoming Webhooks ํ™œ์„ฑํ™”

  1. ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ โ€œIncoming Webhooksโ€ ํด๋ฆญ

  2. โ€œActivate Incoming Webhooksโ€๋ฅผ ON์œผ๋กœ ๋ณ€๊ฒฝ

  3. ์•„๋ž˜๋กœ ์Šคํฌ๋กค โ†’ โ€œAdd New Webhook to Workspaceโ€ ํด๋ฆญ

  4. ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ฑ„๋„ ์„ ํƒ (์˜ˆ: #arxiv-daily)

  5. Allow ํด๋ฆญ

์ด์ œ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ์˜ URL์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค ๐Ÿ‘‡

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

โœ… ์ด ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋กœ Slack Webhook URL ์ž…๋‹ˆ๋‹ค.
GitHub Actions์ด๋‚˜ Python ์ฝ”๋“œ์—์„œ ์ด ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


3๏ธโƒฃ Python์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ธฐ

์ €๋Š” Webhook์ด ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ฐ„๋‹จํžˆ ํ…Œ์ŠคํŠธํ•˜๋ ค๊ณ  colab์—์„œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘‡

import requests

webhook_url = "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
message = "recommendation"

response = requests.post(WEBHOOK_URL, json={"text": message})

if response.status_code == 200:
    print("โœ… ๋ฉ”์‹œ์ง€ ์ „์†ก ์„ฑ๊ณต")
else:
    print(f"โš ๏ธ ์ „์†ก ์‹คํŒจ: {response.status_code}, {response.text}")
profile
AI ๐Ÿ˜Ž

0๊ฐœ์˜ ๋Œ“๊ธ€