根據指令自動指派 GitHub Issue - n8n 工作流程

使用「assign me」等留言指令,自動化 GitHub Issue 的指派分流。此 n8n 工作流程利用條件邏輯和 GitHub n8n 觸發器,高效率地管理案件指派。

工作流預覽

準備好自動化了嗎?

下載此 n8n 工作流程範本並立即開始使用。

適用對象

開發團隊: 希望簡化其 Issue 案件分流處理流程。
開源專案維護者: 希望自動化指派任務給主動請纓的貢獻者。
n8n 自動化專家: 有興趣在 n8n 工作流程中運用複雜的條件式路由。
DevOps 從業人員: 需要與 GitHub 進行可靠的、基於指令的互動。

總覽

在大量操作的 GitHub 儲存庫中管理 Issue 指派可能非常耗時。這個穩健的 n8n 工作流程透過允許使用者僅透過輸入指令(例如「assign me」)來自行指派 Issue——無論是在初始的 Issue內文 或後續的留言中——來解決這個問題。底層的 n8n 邏輯確保只有在 Issue 目前無人指派時才會進行指派,從而避免衝突。如果使用者嘗試認領一個已經被指派的 Issue,自動化流程會回覆一則有幫助的留言,確保過程透明。這個特定的 n8n 範本實作展示了強大的流程控制能力,並簡化了開發任務的協調。

運作方式

整個流程由名為 'Github Trigger1' 的 n8n 觸發器啟動,它設定為監聽新的 Issues(issues 事件)或新的留言(issue_comment 事件)。


  1. 觸發與路由: 事件發生時,資料進入 n8n 工作流程。'Switch' n8n 節點會分析事件行為(例如,Issue 的 'opened' 或留言的 'created')。

  2. 新 Issue 指派: 如果行為是 'opened',流程會進入 'IF no assignee?'(若無指派對象?)。這個條件式的 n8n 節點會檢查 Issue 是否無人指派 Issue 的內文包含 'assign me'。若兩者皆為真,'Assign Issue Creator' n8n 節點會將 Issue 指派給建立者並套用一個 'assigned'(已指派)標籤。

  3. 留言嘗試指派: 如果行為是 'created'(新留言),流程會進入 'IF wants to work?'(若想處理?)。此 n8n 節點會檢查留言內容是否包含 'assign me'。

  4. 衝突檢查: 如果留言包含指派詞彙,流程會進到 'IF not assigned?'(若尚未指派?)。此條件式 n8n 節點會檢查目前的指派狀態。

  5. 指派或通知: 如果 Issue 無人指派,'Assign Commenter' n8n 節點會將 Issue 指派給留言者。如果 Issue 已經有人指派,'Add Comment' n8n 節點會自動回覆一則通知給留言者,告知該 Issue 已被認領,並提及目前的指派對象。所有其他不符合條件的事件或行為都會導向 'No Operation, do nothing'(無操作,不做事)的 n8n 節點,使該次流程執行順利結束。

安裝指南

要部署這個強大的 n8n 工作流程,請依照以下步驟操作:


  1. 匯入: 複製提供的 JSON 代碼,並在您的 n8n 實例中,透過「Workflows」(工作流程)選單,選擇「New」(新增)和「Import from JSON」(從 JSON 匯入)直接匯入。

  2. GitHub 憑證: 您需要在 n8n 中設定有效的 GitHub OAuth2 憑證。請確保這些憑證已連結到以下的 n8n 節點元件:'Github Trigger1'、'Assign Issue Creator'、'Add Comment' 和 'Assign Commenter'。

  3. 設定觸發器: 在 'Github Trigger1' n8n 觸發器節點中,將 [username][reponame] 替換成您想監控的實際擁有者和儲存庫名稱。

  4. 啟用: 設定好憑證和儲存庫詳細資料後,將開關設定為 'Active'(啟用)來啟動 n8n 工作流程。

  5. Webhook 設定: 如果您使用的是自架的 n8n 實例,請確保在您的儲存庫設定中,GitHub 的 Webhook URL 已正確設定,指向您的 n8n 觸發器端點。

節點詳情

這個 n8n 範本的邏輯依賴於幾個關鍵的 n8n 節點元件:

Github Trigger1 (n8n 觸發器): 流程的起點。監聽 issue_commentissues 事件,確保在新 Issue 和後續留言時,n8n 工作流程都能被啟動。
Switch (n8n 節點): 根據事件行為('opened' 對比 'created')來路由執行流程,定義了 n8n 工作流程的核心路徑。
IF no assignee? (若無指派對象?) (n8n 節點): 一個條件邏輯 n8n 節點,會檢查新 Issue 的兩個關鍵參數:Issue 是否為零指派(assignees.length 等於 0)以及 Issue 內文是否符合正則表達式指令 /assign me/gm
Assign Issue Creator (GitHub n8n 節點): 用於將 Issue 指派給建立它的 user.login,並套用 'assigned'(已指派)標籤。
IF wants to work? (若想處理?) (n8n 節點): 在進行後續步驟前,檢查留言內容是否包含正則表達式指令 /assign me/gm
IF not assigned? (若尚未指派?) (n8n 節點): 對基於留言的指派嘗試進行最終檢查,以確保 Issue 尚未被指派。
Assign Commenter (GitHub n8n 節點): 將 Issue 指派給提出要求的留言者,成功運用了這個 n8n 工作流程的功能。
Add Comment (GitHub n8n 節點): 當偵測到指派衝突時執行,向 GitHub Issue 回傳一則有幫助的通知。

相關 n8n 工作流程

免費

節點: 6 節點
更新时间: 2025年12月26日
建立者
Roshan Ramani
Roshan Ramani

精選*