如何以编程方式检测工作项更改类型的Azure Devops

时间:2018-11-15 14:52:10

标签: azure-devops

在Azure DevOps中,“错误和产品待办事项”项目模板上有一个自定义字段和自定义控件扩展。如果工作项类型从Bug更改为PBI,反之亦然,则该字段的值将变为无效。如何强制用户选择新值?

选项1:允许在Bug&PBI模板中提供有效值的列表,并且模板验证将完成通知用户的工作。

选项2:我可以发出WorkItemFormService.seterror来强制用户更改值。但是我没有在工作项扩展中看到一个事件,该事件使我能够检测到工作项类型已更改。

选项#3:当工作项类型更改时,请清除该字段,因为我有一条规则说该字段不能为空。但是,这不是流程模板规则上的选项。

选项#4:当工作项类型更改时,是否存在一个已知字段会更改,我可以将其用作流程模板中的“当字段x更改时,清除字段y的值”规则? (因为我有一条规则说该字段不能为空。)

其他选项?

1 个答案:

答案 0 :(得分:0)

Matthew Manela [MSFT]在developercommunity.visualstudio.com

中回答了此问题

如果您侦听更改字段事件,则会收到一个事件,该事件仅显示工作项类型字段已更改 您可以在此处查看收听示例: https://github.com/Microsoft/vsts-extension-samples/blob/master/work-item-form/workItemNotifications.html

现在我的代码:

onFieldChanged: (args: ExtensionContracts.IWorkItemFieldChangedArgs) => {
if (args.changedFields["System.WorkItemType"] !== undefined) {
//WorkItemType is changing. Clear out our custom field ...
}
//...
}