我的項目需要我以編程方式訪問我們不管理的TFS服務器,並獲取有關WorkItemTypes中字段的實時信息。通過查看WorkItemType的FieldDefinitions集合中的FieldDefinition,我可以獲取字段名稱和大部分所需的信息。如何以編程方式確定是否需要TFS WorkItem字段?
public WitType(WorkItemType type)
{
this.Fields = new List<string>();
foreach (FieldDefinition f in type.FieldDefinitions)
{
Fields.Add(f.Name);
}
}
缺少的一件事是IsRequired屬性。我需要能夠判斷是否需要一個字段。 我已經嘗試運行的工作項的故事查詢
WorkItemCollection workItemCollection = workItemStore.Query
foreach (WorkItem workItem in workItemCollection)
foreach (Field field in workItem.Fields)
{
textBox1.Text += field.Name + " is required? " + field.IsRequired.ToString();
}
,然後檢查領域項目的工作項的字段集合中的IsRequired財產。 唯一的問題是,對於給定的工作項類型,一個工作項說Title是必需的,那麼下一個工作項將具有IsRequired屬性= false。
有沒有辦法確定是否需要一個WorkItem字段而不訴諸WIT XML文件?如果沒有,有沒有辦法以編程方式訪問WIT xml文件?
我沒有訪問TFS個大氣壓,但如果你嘗試驗證一個空的工作項目http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.workitemtracking.client.workitemtype.aspx – Prescott
與我們的TFS傢伙交談,他們似乎認爲有一種方式,但不知道手。此外,我沒有意識到,但取決於你所需的領域可能不同。我認爲國家是必需領域的決定因素。這可能會使這變得更加困難。我會盡力找到這個週末的一些時間來調查 – Prescott
再次感謝普雷斯科特的幫助。我確實看到,某些用戶可能需要這些字段,而其他用戶則不需要。我假設這就是爲什麼微軟沒有將它作爲FieldDefinition類的屬性包括在內,因爲它不是嚴格的真/假字段。 –