跳到內容
Try Gitea Cloud ☁️ for 30 days → Accelerate your Development & Deploys!
這是下一個版本的文檔,仍在開發中。查看最新發布版本。

專案工作流程

當前中文文檔翻譯不是最新版,訪問英文版本查看最新內容,或幫助我們翻譯

專案工作流程可讓專案看板自動化。當專案中的問題或合併請求觸發事件時,該事件的每個已啟用工作流程都會檢查篩選條件並執行動作。工作流程在 Gitea 中執行,不需要 runner。

  1. 開啟專案並選取 Workflows。
  2. 在側邊欄選取事件。
  3. 設定篩選條件與動作,然後選取 Save。若要變更現有工作流程,請先選取 Edit。

一個事件可以有多個工作流程。Clone 會複製選取的工作流程,方便您調整後用於其他項目。Disable 會暫停工作流程並保留設定。Remove 會刪除工作流程。

事件 執行時機 篩選條件 動作
Item added to project 項目加入專案或在專案中建立時 Apply to、標籤 Move to column、標籤、問題狀態
Item removed from project 項目從專案移除時 Apply to、標籤 標籤、問題狀態
Item reopened 項目重新開啟時 Apply to、標籤 Move to column、標籤
Item closed 項目關閉時 Apply to、標籤 Move to column、標籤
Item column changed 項目移至另一欄時 Apply to、欄、標籤 標籤、問題狀態
Code changes requested 正式審查者要求修改合併請求時 標籤 Move to column、標籤
Code review approved 正式審查者核准合併請求時 標籤 Move to column、標籤
Pull request merged 合併請求合併時 標籤 Move to column、標籤

未設定篩選條件的工作流程會對所有項目執行。

  • Apply to:問題、合併請求或兩者。
  • When moved from column、When moved to column:項目離開或進入的欄。
  • Only if it has labels:項目必須具有所有選取的標籤。

工作流程至少需要一個動作。動作依下列順序執行:

  1. Move to column:將項目移至某一欄。
  2. Add labels、Remove labels:變更項目的標籤。
  3. Issue state:關閉或重新開啟項目。工作流程不會重新開啟合併請求。

工作流程所做的變更會在時間軸中顯示為「Project workflow」加上事件名稱,且不會觸發其他工作流程。專案已關閉或項目位於已封存的儲存庫時,工作流程不會執行。

任何具有專案讀取權限的使用者都能檢視其工作流程。管理工作流程需要專案的寫入權限,以及:

  • 儲存庫專案:該儲存庫的問題與合併請求的寫入權限。
  • 組織專案:組織擁有者或網站管理員身分。
  • 使用者專案:專案擁有者身分。

僅限公開儲存庫的存取權杖無法管理組織或使用者專案的工作流程。無論誰觸發事件,工作流程都會執行其動作。

透過儲存庫(/repos/{owner}/{repo}/projects/{id})、組織(/orgs/{org}/projects/{id})或已驗證使用者(/user/projects/{id})的專案路由管理工作流程:

方法 路徑 用途
GET .../workflows 列出工作流程
GET .../workflows/{workflow_id} 取得工作流程
POST .../workflows 建立工作流程
PATCH .../workflows/{workflow_id} 編輯工作流程,未提供的欄位保持不變
DELETE .../workflows/{workflow_id} 刪除工作流程

工作流程包含 event(item_added_to_project、item_removed_from_project、item_reopened、item_closed、item_column_changed、code_changes_requested、code_review_approved 或 pull_request_merged)、enabled 旗標、filters(issue_type、source_column_id、target_column_id、label_ids)與 actions(column_id、add_label_ids、remove_label_ids、issue_state)。每個事件僅接受事件中列出的篩選條件與動作。

若要將新的錯誤回報送往分類處理,請為 Item added to project 建立工作流程:

  • Apply to:Issues only
  • Only if it has labels:bug
  • Move to column:Triage
  • Add labels:needs-triage