2011-12-02 7 views
7

hiçbir doğrulama öğe vardır: ŞimdiTFS 2010 İş Ürün kurtarmaya hazır değil ama ben programlı bir TFS iş madde tasarrufu ama her zaman istisna almaya çalışıyorum

TF237124: Work Item is not ready to save 

, ne anlatıyorsun anlamak beni - İş Öğe gerekli bir alan ya da benzer eksik olduğunu - ve benim kod arayarak bu tahmin edilmektedir: kaydetmeden önce

ArrayList ValidationResult = wi.Validate(); 

. Ancak ArrayList'im bu çağrıyı takip eden hiçbir öğe içermiyor.

Aynı kimlik bilgilerini kullanarak ve iyi çalışan bir Çalışma Öğesi oluşturarak TFS web arabiriminde oturum açmayı denedim.

İş Öğemin neden kaydedilmediğini nasıl anlayabilirim?

// 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; 
       } 
      } 
     } 
+0

TFS'nin hangi sürümü var? –

+0

2010, Başlığı güncelledik. – Simon

cevap

13

Sen devlet var değişiyor önce iş öğesi doğruluyoruz: İşte benim kod. Yeni bir duruma geçiş, İş Öğesi Şablonu eylemlerinin/kurallarının işlenmesine neden olabilir. Bunlar, bazı alanlarınızın değerlerini değiştirebilir ve/veya daha önce geçerli olan verilerin geçersiz olmasına neden olacak alanlara yeni kurallar ekleyebilir.

Açık durumdan Kapalı duruma geçme ,'un "İnceleme" alanını doldurabilmesini isteyebilir (örneğin) - eğer boşsa, aktarılamaz.

Durum değiştikten sonra doğrulamayı deneyin ve herhangi bir hata olup olmadığını görün.

+0

Bingo! Teşekkürler, şimdi beklediğim gibi görünen hatalar alıyorum. – Simon