我正在尝试使用vso-node-api,并且我想为我以前使用API刚创建的团队自动设置积压迭代。
在updateTeamSettings
中使用WorkApi
时遇到一些麻烦:updateTeamSettings(teamSettingsPatch: WorkInterfaces.TeamSettingsPatch, teamContext: TfsCoreInterfaces.TeamContext): Promise<WorkInterfaces.TeamSetting>;
如您在这里看到的,我需要提供一个teamSettingsPatch
对象和一个teamContext
对象。我已经弄清楚了teamContext
并在其他调用中成功使用了它,但是我似乎无法提供一个导致API返回成功响应的teamSettingsPatch
对象。到目前为止,对于我尝试过的所有操作,我都会得到400 Bad Request
和一个空对象作为返回({ }
)。 (编辑:此空对象和错误的请求是由于我自己的包装器代码中的错误所致,使用不成功的TeamSettingsUpdate会真正得到的是一个设置对象,其返回的值未如您所愿进行更改期望)。
WorkInterfaces.ts表示我需要提供这样的对象:
/**
* 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[];
}
我试图提供这样的对象。在我以前的经验中,
vso-node-api
希望定义所有属性,而不管它们的值是否填充任何东西,因此首先尝试这样做:{
backlogIteration: 'Backlog-Iteration-Name',
backlogVisibilities: { },
bugsBehavior: null,
defaultIteration: null,
defaultIterationMacro: '@currentIteration',
workingDays: [
1,
2,
3,
4,
5
]
}
但是,尝试此操作时,我仍然收到错误请求消息。
我还尝试使用
getTeamSettings
调用来尝试找出API对TeamSettingsPatch
对象的要求,并且尝试填充所有可能的值,包括已经从。请注意,归零的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错误。
最佳答案
首先,它不适用于backlogIteration的名称,需要ID。
其次,backlogIteration的值不正确,我可以通过调用getTeamSettings函数获得正确的值(但是不能),可以将vso-node-api更新到最新版本(例如6.2.8-preview)并检查结果,您也可以手动调用Get a team’s settings REST api以获取该值。
我的teamSettingPatch:
{
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
]
}