iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0
自我挑戰組

用 Discord Bot 玩轉 DevOps系列 第 16

介紹「GitHub API」

  • 分享至 

  • xImage
  •  

到目前為止,要讓Bot能查詢 build 狀態、commit 資訊等等,都仰賴著GitHub API,它就像一扇窗戶,讓外部應用程式(Bot)能和 GitHub 對話


什麼是 API?

API(Application Programming Interface)是一種「應用程式之間的介面」
簡單來說,它就像餐廳的服務生:

  • 客人(使用者)想要一份餐點 → 發出請求
  • 服務生(API)把訊息帶進廚房(GitHub) → 取回資料
  • 最後再交回你要的餐點(回應)

所以,API 讓 Bot 能發出「請給我最新的 workflow 狀態」這樣的請求,然後 GitHub 回傳一份 JSON 格式的資料給它

GitHub API 是什麼?

GitHub API 是 GitHub 提供的官方服務,任何人只要有正確的 Token/授權,就能透過 API 查詢或操作 repository 的資訊,例如:

  • 查詢最近一次 commit
  • 查 workflow 的執行狀態
  • 建立 issue / PR
  • 甚至觸發一個 workflow

這就是為什麼 Bot 能「知道」最近一次 build 是成功還是失敗。

為什麼要用 GitHub API?

  1. 自動化:不用打開 GitHub 頁面,Bot 就能抓資料
  2. 即時性:和 Discord Bot 結合,可以讓查詢變成「秒回」
  3. 彈性高:不只通知,還能做互動(例如 !last-commit)
  4. 基礎建設:後面要做更進階的功能(像部署、回滾),都離不開 API

如果說 GitHub Actions 是 DevOps 的「執行引擎」,那麼 GitHub API 就是外部應用程式跟 GitHub 溝通的「語言」
我的 Discord Bot 正是透過這個語言,才能查詢到 commit 和 workflow 狀態,未來更可以透過它做到更強的互動


上一篇
安全性議題 : 「用 GitHub Secrets 管理 Token」
下一篇
Bot 背後的流程圖
系列文
用 Discord Bot 玩轉 DevOps17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言