gpt4 book ai didi

c# - TFS 2010 工作项未准备好保存但没有验证项

转载 作者:太空狗 更新时间:2023-10-29 18:16:43 27 4
gpt4 key购买 nike

我试图以编程方式保存 TFS 工作项,但总是出现异常:

TF237124: Work Item is not ready to save

现在,我明白这是在告诉我什么——工作项缺少必填字段或类似字段——我的代码通过调用来预测这一点:

ArrayList ValidationResult = wi.Validate(); 

保存前。但是,我的 ArrayList 在此调用后不包含任何元素。

我已经尝试使用相同的凭据登录到 TFS Web 界面,并以这种方式创建工作项,效果很好。

我如何才能发现我的工作项无法保存的原因?这是我的代码:

// get a reference to the team project collection (authenticate as generic service account)
using (var tfs = new TfsTeamProjectCollection(tfsuri, new System.Net.NetworkCredential("My_User", "password")))
{
tfs.EnsureAuthenticated();
var workItemStore = GetWorkItemStore(tfs);

// create a new work item
WorkItem wi = new WorkItem(GetWorkItemType(type, workItemStore));
{
//Values are supplied as a KVP - Field Name/Value
foreach (KeyValuePair<string,string> kvp in values)
{
if (wi.Fields.Contains(kvp.Key))
{
wi.Fields[kvp.Key].Value = kvp.Value;
}
}

ValidationResult = wi.Validate();
}

if (ValidationResult.Count == 0)
{
wi.State = wi.GetNextState("Microsoft.VSTS.Actions.Checkin");
wi.Save();
return wi.Id;
}
else
{
return 0;
}
}
}

最佳答案

您在更改其状态之前验证工作项。转换到新状态会导致处理工作项模板操作/规则。这些可能会更改某些字段的值和/或向字段添加新规则,这会导致以前有效的数据无效。

从打开状态转变为关闭状态可能需要某人完成“评论”字段(例如)- 如果它为空则无法传输。

尝试在状态更改后进行验证,看看是否有任何失败。

关于c# - TFS 2010 工作项未准备好保存但没有验证项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358182/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com