專案工作流程
專案工作流程可讓專案看板自動化。當專案中的問題或合併請求觸發事件時,該事件的每個已啟用工作流程都會檢查篩選條件並執行動作。工作流程在 Gitea 中執行,不需要 runner。
編輯工作流程
Section titled “編輯工作流程”- 開啟專案並選取 Workflows。
- 在側邊欄選取事件。
- 設定篩選條件與動作,然後選取 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:項目必須具有所有選取的標籤。
工作流程至少需要一個動作。動作依下列順序執行:
- Move to column:將項目移至某一欄。
- Add labels、Remove labels:變更項目的標籤。
- 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