【问题标题】:How to customize workflow in Azure DevOps Service (VSTS online)?如何在 Azure DevOps 服务(VSTS 在线)中自定义工作流?
【发布时间】:2017-04-14 10:47:30
【问题描述】:

我已阅读所有 MSDN 文档,但找不到在 Azure DevOps 服务(VSTS 在线)中编辑工作项转换的方法。

我正在尝试:

  1. 将自定义原因添加到工作项的状态。 (例如“已解决”、“无法修复”)
  2. 查看/编辑有关状态如何转换的所有现有规则。

【问题讨论】:

    标签: azure-devops azure-boards


    【解决方案1】:

    其实我想出了一个解决办法!我承认这并不像我想要的那样干净,但它确实有效。

    我创建了三个新字段:“规则错误”(文本单行)、“规则损坏”(文本单行)和“规则已激活”(布尔值)。

    “规则错误”我把它放在主标签上,这样我就可以看到错误,另外两个我创建了一个名为“无用”的标签,我把它们放在里面。

    现在,添加一个重置规则:

    • 名称:重置规则
    • 条件:equals 的值 ==> “已激活规则” ==> true
    • 操作:清除值 ==>“规则错误”

    然后每个不想要的状态转换规则:

    • 名称:状态更改 - 已批准部署 QA
    • 条件:工作项状态从 ==> 已批准 ==> 已部署 QA 更改
    • 行动:必填 ==>“违反规则”
    • 操作:设置 ==>“已激活规则”的值 ==> true
    • 操作:设置 ==>“规则错误”==>“无法从已批准更改为已部署 QA”的值

    我知道,在“违反规则”字段中输入内容会破坏这种强制执行,但由于此功能不存在,因此当您无法访问托管 XML 时,这是我想出的唯一方法.

    【讨论】:

      【解决方案2】:

      如果您在 VSTS 中的托管 XML 流程模型上,这是可能的。 Hosted XML process model concept - VSTS

      您何时使用托管 XML 流程模型? 经过大量阅读后,我在page explaining Hosted XML customization 上找到了以下说明

      功能可用性: 导入流程支持托管 XML 流程模型,该模型允许您通过更新流程模板的选定 XML 定义文件来管理自定义。此功能仅适用于已使用 TFS 数据库导入服务迁移到 VSTS 的帐户。

      但由于我没有导入我的 VSTS,所以我使用的是继承过程模型。 目前不支持此功能已确认here in comments

      @RohanDaniel @ehofman@MSFT @DevMarTechOps 你是对的。高级工作流管理(包括限制转换和自定义转换原因)在继承模型中尚不可行。不过,这是我们的待办事项。

      另外,如果您确实使用了高保真迁移工具并且您拥有托管 XML 流程模型,那么您将被困在它上面。你不能移动到继承模型as seen in this link.

      总结一下。 在 VSTS 中的继承过程模型上,这不是当前可用的功能,但 MS 确认已积压。 但是,它不计划在未来几个月和一年或更长时间内交付从现在开始更有可能。

      就我而言,我还必须在 BUG WIT(工作项类型)上添加附加字段和新状态。这是由customizing a process 在 VSTS 上完成的,这是通过继承您可以自定义的标准流程之一(敏捷、CMMI、Scrum)来完成的。

      您可以 add customized rules 到 WIT,您可以根据状态更改制定规则....但是规则似乎太有限而无法限制转换,并且设置字段的选项没有“原因”字段可用。

      【讨论】:

        【解决方案3】:

        目前在使用继承过程时这是不可能的。

        您可以在社区中为这个功能请求投票:Allow specifying state transitions when using inheritance process

        【讨论】:

          【解决方案4】:

          目前,这些事情似乎都不可能。

          VSTS 流程定制与 TFS 非常不同,并且仍在不断发展。 #1 似乎可能会在未来的更新中添加。但#2 似乎不会出现,因为微软默认放宽了 VSTS 上所有模板的大部分转换规则。

          【讨论】:

            【解决方案5】:

            可以通过创建我们自己的自定义扩展并创建一些规则来禁用从一种状态到另一种状态的状态更改

            我已经为我的组织实现了这个,但还没有在线发布..很快就会这样做

            【讨论】:

            • #Shan 嘿,你有没有发布过你的扩展,我们需要类似的功能。
            【解决方案6】:

            这是一种解决方法,用于拒绝任何不是“HighLevelManagement”组成员的用户将状态从已批准更改为已提交 PBI:

            1. 创建一个名为“Unlocked”的新字段。
            2. 当用户不属于“HighLevelManagement”时,创建一个新规则来“隐藏字段”,如下所示

            1. 创建一个新规则,将操作“设为只读”设置为“状态”,当 Unlocked 为 False 并且工作项从 Approved 更改为 Commited as 下面:

            现在每当来自 HighLevelManagement 的用户想要将状态从 Approved 更改为 Committed,他只需勾选 Unlocked 更改状态,然后勾选 Unlocked,这样来自 HighLevelManagement 外部的任何人都将被限制更改状态从 Approved承诺。

            【讨论】:

              猜你喜欢
              • 2018-10-19
              • 1970-01-01
              • 2018-07-04
              • 2019-11-09
              • 2020-12-11
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-08-11
              相关资源
              最近更新 更多