2016-09-04 14 views
0

XMLコードをTFS(WITコード)にアップロードするために、typescriptにVSTS拡張機能を作成しました。使用法:UpdateWorkItemTypeDfeinition()の操作方法は?

UpdateWorkItemTypeDefinitionが正しい方法であるように見えました。しかし、私はそれを働かせることはできません。最初のパラメータはWorkItemTypeTemplateUpdateModelを取ります.actionType、.template、.templateTypeおよび.methodologyを意味します。

これらのメンバーの使用方法を説明したり、サンプルスニペットをお願いしてください(visualstudio.comに関する資料はあまりありません。例が見つかりません)

方法がわかりません。これは「アジャイル」と「スクラム」か?なぜ私は既存のWITを更新したいのですが、これはなぜ必要なのですか?

+0

あなたは正確にあなたが望む何をすべきか指定することができます更新するには? –

+0

WorkItemTypeTemplateUpdateModelのメンバーを指定するリソースはあまりありません。私の意見では、The Methodologyは、フィールドの修正など、作業するプラットフォームで利用できるメソッドを意味します。 –

答えて

1

"Methodology"についての情報は見つかりませんでしたが、この情報がなくても作業項目タイプ定義を更新できるので、この情報は今のところ必要ないと思われます。その他のオプションについては

ACTIONTYPEあなたはUpdateWorkItemTypeDfeinition()メソッドで実行したいアクションです。インポートと検証の2つのオプションがあります。 「インポート」はワークアイテムタイプ定義を更新/作成し、「検証」はテンプレートが正しい場合にのみ検証します。アクションタイプが「インポート」の場合は、UpdateWorkItemTypeDfeinition()メソッドを実行するときにプロジェクト名を指定する必要があります。

テンプレートタイプは、更新する定義のタイプです。 WorkItemTypeとGlobalWorkflowの2つのオプションもあります。

テンプレートは、作業項目タイプのすべての定義を含む文字列です。彼らの両方が使用しているためここで

は、C#のサンプルコードで、活字体からの使用量はRestAPIそれと似ています。

typescriptですで
using System; 
using Microsoft.TeamFoundation.Client; 
using Microsoft.TeamFoundation.WorkItemTracking.WebApi; 
using Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models; 

namespace Conso 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string tfsurl = "http://xxx:8080/tfs/DefaultCollection/"; 
      string projname = "ProjectName"; 
      TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(new Uri(tfsurl)); 
      string template = System.IO.File.ReadAllText(@"D:\Code\bug.xml"); 
      WorkItemTrackingHttpClient witc = ttpc.GetClient<WorkItemTrackingHttpClient>(); 
      WorkItemTypeTemplateUpdateModel updatemodel = new WorkItemTypeTemplateUpdateModel(); 
      updatemodel.ActionType = ProvisioningActionType.Import; 
      updatemodel.TemplateType = TemplateType.WorkItemType; 
      updatemodel.Template = template; 
      ProvisioningResult pr = witc.UpdateWorkItemTypeDefinitionAsync(updatemodel,projname).Result; 
     } 
    } 
} 
+0

正解ですが、それはTypeScriptを使って(その間に)私のために働いていました。ちょうど方法論を空のままにしておきました。おそらく重要な副作用:UpdateWorkItemTypeDefinitionの2番目のパラメータ( "project"文字列)が指定されていない場合、WorkItemTypeUpdateModel.TemplateTypeをWorkItemTypeに設定しても、グローバルワークフローとしてアップロードしようとします。 [プロジェクト]エイリアスでWITコードを検証/アップロードすると認識され、コレクションレベル(グローバルワークフロー)は動作しません –

+0

誰かによって説明された "メソドロジ" –

0

var updateModel = <TFS_Wit_Contracts.WorkItemTypeTemplateUpdateModel>{}; 
//updateModel.methodology = "NobodyKnowsWhatThisIs"; 
updateModel.templateType = TFS_Wit_Contracts.TemplateType.WorkItemType; 
updateModel.template = toBeValidatedOrUploadedXMLString; 
updateModel.actionType = TFS_Wit_Contracts.ProvisioningActionType.Validate; 

witClient.updateWorkItemTypeDefinition(updateModel, projectName).then((result) => { 
    alert("successfully validated"); 
}, error => { 
    alert(error); 
}); 
関連する問題