如何使用 VSTS 节点 API 设置积压迭代?
How to set the backlog iteration using the VSTS Node API?
我正在尝试使用 vso-node-api,我想为我之前使用 API 创建的团队自动设置积压迭代。
我在使用 WorkApi
中的 updateTeamSettings
时遇到了一些问题:
updateTeamSettings(teamSettingsPatch: WorkInterfaces.TeamSettingsPatch, teamContext: TfsCoreInterfaces.TeamContext): Promise<WorkInterfaces.TeamSetting>;
如您所见,我需要提供一个 teamSettingsPatch
对象和一个 teamContext
对象。我已经弄清楚 teamContext
并在其他调用中成功使用它,但我似乎无法提供导致 API 到 return 的 teamSettingsPatch
对象成功响应。到目前为止,对于我尝试过的所有操作,我都得到 400 Bad Request
和 return ({ }
) 中的一个空对象。 (编辑: 这个空对象和错误的请求是由于我自己的包装代码中的一个错误,您使用不成功的 TeamSettingsUpdate 真正得到的是一个设置对象 return编辑了未按您预期更改的值)。
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
]
}
但是,当我尝试此操作时,我仍然收到 Bad Request 消息。
我还尝试使用 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 错误。
首先,它不适用于 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
]
}
我正在尝试使用 vso-node-api,我想为我之前使用 API 创建的团队自动设置积压迭代。
我在使用 WorkApi
中的 updateTeamSettings
时遇到了一些问题:
updateTeamSettings(teamSettingsPatch: WorkInterfaces.TeamSettingsPatch, teamContext: TfsCoreInterfaces.TeamContext): Promise<WorkInterfaces.TeamSetting>;
如您所见,我需要提供一个 teamSettingsPatch
对象和一个 teamContext
对象。我已经弄清楚 teamContext
并在其他调用中成功使用它,但我似乎无法提供导致 API 到 return 的 teamSettingsPatch
对象成功响应。到目前为止,对于我尝试过的所有操作,我都得到 400 Bad Request
和 return ({ }
) 中的一个空对象。 (编辑: 这个空对象和错误的请求是由于我自己的包装代码中的一个错误,您使用不成功的 TeamSettingsUpdate 真正得到的是一个设置对象 return编辑了未按您预期更改的值)。
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
]
}
但是,当我尝试此操作时,我仍然收到 Bad Request 消息。
我还尝试使用 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 错误。
首先,它不适用于 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
]
}