2017-12-29 3 views
0

나는 vso-node-api을 소비하려고하며 이전에 API를 사용하여 새로 만든 팀의 백 로그 반복을 자동 설정하려고합니다. 당신이 여기에서 보는 것처럼VSTS 노드 API를 사용하여 백 로그 반복을 설정하는 방법은 무엇입니까?

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

, 나는이 teamSettingsPatch 객체를 제공해야하고 teamContext 객체 :

은 내가 WorkApiupdateTeamSettings를 사용하여 몇 가지 문제가 있어요. 나는 이미 teamContext을 알아 냈고 다른 호출에서이 API를 성공적으로 사용했지만 API가 응답을 반환하도록하는 teamSettingsPatch 개체를 제공 할 수 없습니다. 지금까지 나는 시도한 모든 것에 대해 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 내가이 같은 객체를 제공 할 필요가 있음을 나타냅니다. 나는이 때

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

그러나, 나는 여전히 잘못된 요청 메시지가 : 내 이전의 경험에서 vso-node-api 모든 속성을 그 값이 무엇이든 가득할지 여부를 정의 할, 그래서 처음에는이 시도하고자합니다.

나는 또한 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

먼저 ID가 필요하며 backlogIteration의 이름으로 작동하지 않습니다.

둘째, backlogIteration의 값이 올바르지 않습니다. getTeamSettings 함수를 호출하여 올바른 값을 얻을 수 있지만 vso-node-api를 최신 버전 (예 : 6.2.8-preview)으로 업데이트 할 수 있습니다.) 결과를 확인하고 Get a team’s settings REST api 번으로 전화하여 값을 얻을 수도 있습니다. 이 미리보기에서의 특히 이후, 최신 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

좋은 생각 :

광산의 teamSettingPatch

. 내일이 답변에서 귀하의 제안을 시험해 보겠습니다. 다시 한 번 API에 도움을 주셔서 감사합니다. – alexk

+0

이 문제를 가진 다른 모든 사람들을위한 생각 : 모든 입력 JSON 개체가 teamContext 또는 teamSettingsPatch와 같이 올바른 대소 문자를 사용하는지 확인하십시오. 팀 ID로 잘못 작성된 teamId로 오랜 시간을 낭비했습니다. vso-node-api는 해당 시나리오에서 실패를 나타내지 않습니다. – alexk

관련 문제