Add project workflow documentation (#308)

Documentation for https://github.com/go-gitea/gitea/pull/30205

---------

Co-authored-by: silverwind <[email protected]>
Co-authored-by: silverwind <[email protected]>
Co-authored-by: silverwind <[email protected]>
Reviewed-on: https://gitea.com/gitea/docs/pulls/308
Reviewed-by: silverwind <[email protected]>
This commit is contained in:
committed 2026-10-28 16:12:53 +00:00
1 parent d301461648
commit ee9e91cdeb
6 files changed
+273

No files matched your search

@@ -0,0 +1,9 @@
{
"label": "專案",
"position": 60,
"link": {
"type": "generated-index",
"slug": "/usage/projects",
"description": "使用專案看板規劃與追蹤工作"
}
}
@@ -0,0 +1,82 @@
---
date: "2025-11-25T18:58:22Z"
slug: "project-workflows"
sidebar_position: 1
description: "透過事件驅動的篩選條件與動作,讓專案看板自動化。"
---
# 專案工作流程
專案工作流程可讓專案看板自動化。當專案中的問題或合併請求觸發事件時,該事件的每個已啟用工作流程都會檢查篩選條件並執行動作。工作流程在 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」加上事件名稱,且不會觸發其他工作流程。專案已關閉或項目位於已封存的儲存庫時,工作流程不會執行。
## 權限
任何具有專案讀取權限的使用者都能檢視其工作流程。管理工作流程需要專案的寫入權限,以及:
- 儲存庫專案:該儲存庫的問題與合併請求的寫入權限。
- 組織專案:組織擁有者或網站管理員身分。
- 使用者專案:專案擁有者身分。
僅限公開儲存庫的存取權杖無法管理組織或使用者專案的工作流程。無論誰觸發事件,工作流程都會執行其動作。
## API
透過儲存庫(`/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`