airflow.providers.slack.hooks.slack_webhook

模組內容

類別

SlackWebhookHook

此類別提供 slack_sdk.WebhookClient 的輕薄封裝。

函數

check_webhook_response(func)

檢查 WebhookResponse,如果狀態碼 != 200,則引發錯誤。

屬性

LEGACY_INTEGRATION_PARAMS

airflow.providers.slack.hooks.slack_webhook.LEGACY_INTEGRATION_PARAMS = ('channel', 'username', 'icon_emoji', 'icon_url')[原始碼]
airflow.providers.slack.hooks.slack_webhook.check_webhook_response(func)[原始碼]

檢查 WebhookResponse,如果狀態碼 != 200,則引發錯誤。

class airflow.providers.slack.hooks.slack_webhook.SlackWebhookHook(*, slack_webhook_conn_id, timeout=None, proxy=None, retry_handlers=None, **extra_client_args)[原始碼]

基底類別: airflow.hooks.base.BaseHook

此類別提供 slack_sdk.WebhookClient 的輕薄封裝。

此 Hook 允許您使用傳入 Webhook 將訊息發佈到 Slack。

注意

當您使用傳入 Webhook 發佈訊息時,您無法覆寫預設頻道(由安裝您應用程式的使用者選擇)、使用者名稱或圖示。相反地,這些值將始終繼承自關聯的 Slack 應用程式組態 (連結)。只有在 傳統 Slack 整合傳入 Webhook 中才能變更這些值。

警告

此 Hook 旨在搭配 Slack 傳入 Webhook 連線使用,可能無法與 Slack API 連線正常運作。

範例
# Create hook
hook = SlackWebhookHook(slack_webhook_conn_id="slack_default")

# Post message in Slack channel by JSON formatted message
# See: https://api.slack.com/messaging/webhooks#posting_with_webhooks
hook.send_dict({"text": "Hello world!"})

# Post simple message in Slack channel
hook.send_text("Hello world!")

# Use ``slack_sdk.WebhookClient``
hook.client.send(text="Hello world!")
參數
  • slack_webhook_conn_id (str) – Slack 傳入 Webhook 連線 ID,密碼欄位中具有傳入 Webhook 權杖。

  • timeout (int | None) – 用戶端等待連線並接收來自 Slack 回應的最長秒數。如果未設定,則將使用預設 WebhookClient 值。

  • proxy (str | None) – 進行 Slack 傳入 Webhook 呼叫的 Proxy。

  • retry_handlers (list[slack_sdk.http_retry.RetryHandler] | None) – 用於自訂 slack_sdk.WebhookClient 中重試邏輯的處理常式清單。

conn_name_attr = 'slack_webhook_conn_id'[原始碼]
default_conn_name = 'slack_default'[原始碼]
conn_type = 'slackwebhook'[原始碼]
hook_name = 'Slack 傳入 Webhook'[原始碼]
client()[原始碼]

取得底層的 slack_sdk.webhook.WebhookClient(已快取)。

get_conn()[原始碼]

取得底層的 slack_sdk.webhook.WebhookClient(已快取)。

send_dict(body, *, headers=None)[原始碼]

使用給定的 JSON 資料區塊執行 Slack 傳入 Webhook 請求。

參數
  • body (dict[str, Any] | str) – JSON 資料結構,預期為 dict 或 JSON 字串。

  • headers (dict[str, str] | None) – 此請求的請求標頭。

send(*, text=None, blocks=None, response_type=None, replace_original=None, delete_original=None, unfurl_links=None, unfurl_media=None, headers=None, attachments=None, **kwargs)[原始碼]

使用給定引數執行 Slack 傳入 Webhook 請求。

參數
  • text (str | None) – 文字訊息(即使有區塊,也建議同時設定此項,因為它可作為後備方案)。

  • blocks (list[dict[str, Any]] | None) – Block Kit UI 元件的集合。

  • response_type (str | None) – 訊息類型(「in_channel」或「ephemeral」)。

  • replace_original (bool | None) – 如果您將此選項用於 response_url 請求,則為 True。

  • delete_original (bool | None) – 如果您將此選項用於 response_url 請求,則為 True。

  • unfurl_links (bool | None) – 指示是否應展開文字 URL 的選項。

  • unfurl_media (bool | None) – 指示是否應展開媒體 URL 的選項。

  • headers (dict[str, str] | None) – 此請求的請求標頭。

  • attachments (list[dict[str, Any]] | None) – (舊版) 附件的集合。

send_text(text, *, unfurl_links=None, unfurl_media=None, headers=None)[原始碼]

使用給定文字執行 Slack 傳入 Webhook 請求。

參數
  • text (str) – 文字訊息。

  • unfurl_links (bool | None) – 指示是否應展開文字 URL 的選項。

  • unfurl_media (bool | None) – 指示是否應展開媒體 URL 的選項。

  • headers (dict[str, str] | None) – 此請求的請求標頭。

classmethod get_connection_form_widgets()[原始碼]

傳回要為 Hook 新增的小工具字典,以處理額外的值。

classmethod get_ui_field_behaviour()[原始碼]

傳回自訂欄位行為。

此條目是否有幫助?