我正在尝试使用vso-node-api,并且我想为我之前使用 API 创建的团队自动设置积压迭代。
我在使用updateTeamSettings
in 时遇到了一些麻烦WorkApi
:
updateTeamSettings(teamSettingsPatch: WorkInterfaces.TeamSettingsPatch, teamContext: TfsCoreInterfaces.TeamContext): Promise<WorkInterfaces.TeamSetting>;
正如你在这里看到的,我需要提供一个teamSettingsPatch
对象和一个teamContext
对象。我已经弄清楚teamContext
并在其他调用中成功使用了它,但我似乎无法提供teamSettingsPatch
导致 API 返回成功响应的对象。到目前为止,对于我尝试过的所有事情,我都得到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
对象的要求,并尝试填写所有可能的内容,包括已经从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 错误。