2017-12-29 30 views
0

私はvso-node-apiを消費しようとしています。以前にAPIを使用して新しく作成したチームのバックログ反復を自動的に設定したいと思います。VSTSノードAPIを使用してバックログの反復を設定するにはどうすればよいですか?

私はWorkApiupdateTeamSettingsを使用していくつかの問題を抱えている:

updateTeamSettings(teamSettingsPatch: WorkInterfaces.TeamSettingsPatch, teamContext: TfsCoreInterfaces.TeamContext): Promise<WorkInterfaces.TeamSetting>;

あなたがここで見るように、私はteamSettingsPatchオブジェクトとteamContextオブジェクトを提供する必要があります。私はすでにteamContextを見つけ出し、他の呼び出しでそれをうまく使っていますが、teamSettingsPatchオブジェクトを用意して、APIが正常に応答するようにすることはできません。これまでのところ、400 Bad Requestと空のオブジェクトが返されました({ })。 (編集:この空のオブジェクトと悪い要求は、自分自身のラッパーコードのバグが原因でした。実際にTeamSettingsUpdateで成功しなかったものは、設定オブジェクトがあなたと同じように変更されていない戻り値です期待する)。私はこのようなオブジェクトを提供しようとした

/** 
* Data contract for what we expect to receive when PATCH 
*/ 
export interface TeamSettingsPatch { 
    backlogIteration: string; 
    backlogVisibilities: { [key: string] : boolean; }; 
    bugsBehavior: BugsBehavior; 
    defaultIteration: string; 
    defaultIterationMacro: string; 
    workingDays: SystemInterfaces.DayOfWeek[]; 
} 

WorkInterfaces.tsは、私がこのようなオブジェクトを提供する必要があることを示しています。私の以前の経験では、vso-node-apiは、すべてのプロパティは、その値が何で満たされているかどうかを定義することを希望するので、最初私はこれを試してみました:

{ 
    backlogIteration: 'Backlog-Iteration-Name', 
    backlogVisibilities: { }, 
    bugsBehavior: null, 
    defaultIteration: null, 
    defaultIterationMacro: '@currentIteration', 
    workingDays: [ 
     1, 
     2, 
     3, 
     4, 
     5 
    ] 
} 

私はこれを試してみてくださいしかし、私はまだ不正なリクエストメッセージが表示されます。

私はまた、APIがTeamSettingsPatchオブジェクトのために望んでいる、と私はすでにgetTeamSettingsから私に示されている値を含むことができ、すべてに記入しようとしたかを把握しようとするgetTeamSettingsコールを使用することを試みました。ゼロ化されたGUIDがgetTeamSettingsが私を与えるまさにであることに注意してください:

{ 
    backlogIteration: { 
     id: '00000000-0000-0000-0000-000000000000' 
    }, 
    backlogVisibilities: { 
     'Custom.1f38c336-f308-41a6-adaa-eb78c0f72dd5': false, 
     'Microsoft.FeatureCategory': true, 
     'Microsoft.EpicCategory': false, 
     'Microsoft.RequirementCategory': true 
    }, 
    bugsBehavior: 2, 
    defaultIteration: null, 
    defaultIterationMacro: '@currentIteration', 
    workingDays: [ 
     1, 
     2, 
     3, 
     4, 
     5 
    ] 
} 

私は損失のビットでよ。私のリクエストで不良オブジェクトを提供しているために動作しないのですか?またはこのAPI機能がまだ動作していないため動作しませんか? APIからの応答はヒントを提供せず、空のオブジェクトと400のエラーだけを提供します。

答えて

1

まず、backlogIterationの名前では機能しません.IDが必要です。

第2に、backlogIterationの値が正しくないため、getTeamSettings関数を呼び出すことで正しい値を取得できますが(できません)、vso-node-apiを最新のバージョンに更新できます(6.2.8プレビューなど)。 )、結果を確認するには、Get a team’s settings REST apiを手動で呼び出して値を取得することもできます。

鉱山のteamSettingPatch:それはプレビューであります、特に以来、最新のAPIのバージョンをチェックするに

{ 
     backlogIteration: "d3f3738d-d874-46a9-941d-54a5ca0f6f2d", 
     backlogVisibilities:{ 
      "Microsoft.EpicCategory": false, 
      "Microsoft.FeatureCategory": true, 
     "Microsoft.RequirementCategory": true 
     }, 
     bugsBehavior: 2, 
     defaultIteration: null, 
     defaultIterationMacro: null, 
     workingDays:[ 
      1, 
      2, 
      3, 
      4 
      ] 
    } 
+0

良いと思いました。私は明日この回答であなたの提案を試してみます、このAPIを手伝ってくれてありがとう! – alexk

+0

この問題を抱えている人のための考え方:すべての入力JSONオブジェクトに正しい大文字小文字が使用されていることを確認します(teamContextやteamSettingsPatchなど)。私はteamIDがteamIDとして間違って書かれたteamIdで長い時間を無駄にしました。そしてvso-node-apiはそのシナリオでの失敗を示しません。 – alexk

関連する問題