8
我想从状态“A”到状态“X”。TFS API - 是否有办法获得工作项类型的转换列表?
有在地方,防止我只是要X.
我可以导出WorkItemType XML和工作对转变,但在此之前我这样做,我想我会问,如果有一种方法通过API获取Transitions。
我想从状态“A”到状态“X”。TFS API - 是否有办法获得工作项类型的转换列表?
有在地方,防止我只是要X.
我可以导出WorkItemType XML和工作对转变,但在此之前我这样做,我想我会问,如果有一种方法通过API获取Transitions。
Soooo .....
没有多少人需要WorkItemTypes的转换。
那么,我需要它,所以我写了一个方法来做到这一点。在这种情况下,如果有其他人需要这个:
// Hold a list of all the transistions we have done. This will help us not have run them again If we already have.
private static Dictionary<WorkItemType, List<Transition>> _allTransistions = new Dictionary<WorkItemType, List<Transition>>();
/// <summary>
/// Get the transitions for this <see cref="WorkItemType"/>
/// </summary>
/// <param name="workItemType"></param>
/// <returns></returns>
private static List<Transition> GetTransistions(this WorkItemType workItemType)
{
List<Transition> currentTransistions;
// See if this WorkItemType has already had it's transistions figured out.
_allTransistions.TryGetValue(workItemType, out currentTransistions);
if (currentTransistions != null)
return currentTransistions;
// Get this worktype type as xml
XmlDocument workItemTypeXml = workItemType.Export(false);
// Create a dictionary to allow us to look up the "to" state using a "from" state.
var newTransistions = new List<Transition>();
// get the transistions node.
XmlNodeList transitionsList = workItemTypeXml.GetElementsByTagName("TRANSITIONS");
// As there is only one transistions item we can just get the first
XmlNode transitions = transitionsList[0];
// Iterate all the transitions
foreach (XmlNode transition in transitions)
{
// save off the transistion
newTransistions.Add(new Transition
{
From = transition.Attributes["from"].Value,
To = transition.Attributes["to"].Value
});
}
// Save off this transition so we don't do it again if it is needed.
_allTransistions.Add(workItemType, newTransistions);
return newTransistions;
}
public class Transition
{
public string To { get; set; }
public string From { get; set; }
}
我想获得所有的状态而不是转换,这个工作也很完美。非常感谢。 – 4imble 2012-02-16 10:19:39
太好了,谢谢! – JobaDiniz 2016-05-25 12:29:38