Skip to main content
Skip table of contents

工作流

概述

Jira 作為事務追蹤軟件是一輛車,那麼工作流這部車的引擎內燃機。看上去只是簡單界面上的點擊,轉換,其實後臺有非常精妙的設計。

如果你是個理工或機械愛好者,高速運動的活塞,噴發力量,碰撞的轟鳴,實在是一種美的視聽享受。

工作流如果展開寫,從流程設計,配置,增強插件,腳本,外部集成,一本書都寫不完,本章節僅做簡要介紹,期待與業界同仁,持續交流,持續學習。

發動機內燃機活塞

術語解釋

中文

英文

說明

1

狀態

Status

  • 指一個問題當前所處的特定狀態

  • 問題當前有且只能有一個狀態

  • 狀態不能重名

  • 狀態的顏色代表

    • 灰色:待辦

    • 藍色(原黃色):進行中

    • 綠色:已完成

2

轉換

Transitions

  • 描述問題從一個狀態到另一個狀態之間的轉換,默認的轉換是單向的,如果想要雙向,則需要在狀態之間創建兩個轉換

  • 同一個轉換可以在同一個工作流中被多次使用

  • 轉換之間可彈出界面請用戶補充信息

  • 特殊:全局轉換,若添加了全局到當前狀態的全局轉換,那意味著該問題在任意狀態下都可以轉換到當前狀態。

3

解決結果

Resolution

該字段代表問題最終的解決結果及歸檔分類,一般與綠色的狀態匹配;

4

屬性

Properties

  • 為轉換增加增強功能,示例如下

    • 覆寫默認的提交按鈕翻譯(jira.i18n.submit

    • 轉換描述(jira.i18n.description

    • 項目權限(jira.permission[.S].X.Y

    • 問題可編輯性(jira.issue.editable

  • Atlassian 不建議使用該功能,因為可能會在如批量更新或數據操作的時產生數據錯誤。

5

觸發器

Triggers

與外部系統,如研發工具的聯動

6

條件

Conditions

限定某個操作只能由滿足特定條件的用戶/用戶組操作,此操作與驗證器的區別是,驗證器事後檢查,條件為事先判斷,比如,僅項目角色為測試經理的用戶,才能看到名字為【提測】的轉換

7

驗證器

Validators

驗證操作轉換的輸入是否滿足定義的規則,如當前操作用戶是否輸入某個特定用戶組。

8

後處理

Post Functions

當轉換完成後,工作流附帶會執行的一系列動作,一般默認會包含五條,設定狀態值,增加評論(若有錄入),增加歷史記錄,重新索引,觸發一般事件

9

活躍/非活躍的工作流

Active / inactive workflows

當前與項目綁定的的工作流即未活躍,未與工作流綁定即為非活躍

10

工作流

Workflow

由上文所有元素組成的一種工作流程配置,驅動問題按事先規定的環節流轉

11

工作流方案

Workflow Scheme

  • 工作流與問題類型的綁定(一個工作流可以綁定若干問題類型)若問題類型未與指定工作流綁定,則視【未分配的類型】,系統也會指定一個工作流,默認為內置 Jira 工作流(建議修改)

結構設計

由於系統默認創建項目時,如果不是從模板複製(從共享的配置),基本上後臺就會出現大量冗餘的工作流項,非常不利於維護。

推薦的流程是先區分平時有哪幾種項目,哪幾種流程要用,一般就分三條線

類型

流程

1

研發

瀑布硬件、敏捷開發,軟件研發(綁定 DevOps工具鏈)

2

通用事件

三段(To do,In Progress,Done),標準項目最終

3

ITSM

資產管理,事件管理,變更管理,客戶服務

研發,變更,事件,IT支持,通用事件,當分不清楚想用哪幾種流程的時候,可以先使用內置流程。

標準 Jira 問題

變更

使用網上別人已經配置好的流程包

導入外部流程入口

點擊進入插件市場(區分免費和收費)

配置說明

下述操作屬於日常基本,相關截圖可參考本文中的各類鏈接,僅告知容易出錯的事項

名稱

注意事項

1

創建工作流

工作流名稱,描述中建議寫明此工作流的用途,如ITSM-客戶服務-軟件故障

2

創建工作流方案

命名建議增加工作流方案相關的管理場景,如研發-硬件,通用-項目,ITSM-資產

3

配置狀態

  • 不要輕易重命名系統內置的狀態,否則會影響到正在使用的工作流

  • 意思相似的狀態儘量合併

4

配置解決結果

  • 不要騷操作,把名字定義為 "Unresolved"/"None",技術上不限制但容易引發理解偏差

  • 意思相近的解決結果命名儘量合併

5

配置轉換

後處理中有些新增條目的順序不對,會導致執行失敗,情況過多,詳情見谷歌,atlassian community 或 stackoverflow 搜索

6

配置界面

關閉問題的時候建議增加 界面補充信息,保證回顧的時候,整體事務可追蹤的完整性。

7

測試

因工作流涉及面廣,配置完畢後,務必使用賬號測試跑一遍。沒問題後才發佈給用戶使用。

常見問題

為何會出現名字一樣的 轉換

狀態名不可重複,但是由於中英翻譯問題,可能會出現界面上看上去有重複,實際又允許,比如 to do,待辦,系統內置注意不要刪除,以免引發未知問題。

如何更換正在使用中的工作流

如果直接修改 active 的工作流會提示正在使用無法修改

  1. 從正在使用的工作流中複製一個

  2. 在 inactive workflow 中做完修改

  3. 綁定到 現有 workflow scheme

  4. 注意在修改中,保證修改前,後的狀態有映射關係,比如A→C,B→D,若無映射,則會出現合併,比如原來的 A/B狀態統一變為 C

為何問題狀態已關閉但統計結果中顯示為打開

系統判斷問題的開關並不是取決於狀態的顏色而是 resolution字段

系統內置的工作流,會在最後環節更新 解決結果/resolution 字段;

自己新增的關閉狀態,需要在後處理中手工增加 更新 resolution 字段才會將問題徹底關閉。

由於 resolution 字段默認不允許在界面上更新,雖然配置上可以,但也不建議這樣操作。

如果出現大量未更新的resolution字段建議如下

無插件:

  • 在關閉問題的轉換中添加更新 resolution的後處理,通過修改工作流,重新打開 問題,手工批量轉換問題,達到更新resolution的目的。

  • 臨時把resolution增加到界面上,通過批量更新問題 更新resolution 字段,更新完畢後把 resolution字段從界面上移除

有插件:使用 scriptrunner 的 resolution bulk fix 腳本

工作流狀態不能向下流轉

  • 檢查狀態之間是否存在轉換

  • 檢查轉換是否存在 條件,驗證器; 查看相關約束是否作用於當前的登錄用戶

如何在子任務全部完成時關閉父任務

使用 Jira 自帶的 Jira Automation 插件 , 關閉規則, 其他常用規則庫

工作流編輯使用文本模式還是圖形模式?

開車賽車手和玩家喜歡手動擋(文本模式),普通人喜歡自動擋(圖形模式);文本模式可以更整齊清晰展示工作流的內外關聯,而圖形模式則更方便看清全局結構和流向

對我來說,平時還是用圖形模式居多,從最終的結果來說,這兩者可達成的功能沒區別。

如何使用過去已有的工作流

原有實例導出,現有實例導入

常用數據

類型

名稱

用途

報告

Cumulative Flow Diagram / 累計流量圖

發現不同工作狀態之間的工作瓶頸

數據指標

  • Lead Time(從創建到關閉)

  • Cycle Time(從開工到關閉)

統計問題處理時長,判斷團隊的生產效能和產出穩定性 

儀表盤

二維過濾器統計

工作流與其他查詢條件的統計

常用插件

插件

作用

推薦原因

1

Gears jira enhancement tools

  • 增加並行審批

  • 經辦人變更記錄

  • 驗證器,條件,後處理功能增強

最強的免費工作流增強插件

2

Jira Workflow Toolbox

  • 工作流相關功能增強,如後處理,驗證器等;

  • 類原生 automation 自定義規則

  • 實時展示經過規則計算的自定義字段

排名靠前的工作流插件,價格小貴

3

Workflow Enhancer for Jira

純粹工作流增強插件,無額外功能

價格比上述便宜,如需更便宜,功能稍弱,還有 Workflow Essentials for Jira

4

Time in status

工作流重要指標統計增強

相比原生報表好,比eazyBI需要自己手搓要跟方便,對管理者過程效能的評價有較好參考價值

參考鏈接

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.