azure-devops - 尝试更新团队字段值时出错
问题描述
当我尝试使用客户端 SDK 将现有区域添加到现有团队时,我遇到了多个错误中的任何一个。这是我的代码:
Using oTeamClient As TeamHttpClient = Utils.Connection.GetClient(Of TeamHttpClient)
Using oWorkClient As WorkHttpClient = Utils.Connection.GetClient(Of WorkHttpClient)
oValue = New TeamFieldValue With {.Value = Area.Path, .IncludeChildren = False}
oTeams = oTeamClient.GetTeamsAsync(ProjectName).Result
oTeam = oTeams.Single(Function(Team) Team.Name.StartsWith(ProjectName))
oPatch = New TeamFieldValuesPatch With {.Values = {oValue}, .DefaultValue = $"{ProjectName}\{Area.Path}"}
oContext = New TeamContext(ProjectName, oTeam.Name)
Return oWorkClient.UpdateTeamFieldValuesAsync(oPatch, oContext).Result
End Using
End Using
问题是我不知道该用于什么TeamFieldValuesPatch.DefaultValue
。
这是我尝试过的内容以及每次尝试的相应错误消息:
- 无:“默认值”
- 空字符串:“VssServiceException:默认团队字段值必须是该团队允许的团队字段值之一。”
- 项目名称:“VssServiceException:默认团队字段值必须是该团队允许的团队字段值之一。”
- 区域路径:“VssServiceException:TF400499:您尚未设置团队字段。”
- 项目名称 + 区域路径:“VssServiceException:默认团队字段值必须是该团队允许的团队字段值之一。”
不幸的是,文档没有解释这个属性的验证规则,也没有提供任何关于我们应该使用什么值的指导。它似乎表示项目名称 + 区域路径,但正如我们在上面看到的那样,它不起作用。
有this,但它与文档中的(晦涩)提示冲突。有这个,但我已经在尝试更新之前验证了该区域存在。
我应该为这个属性使用什么值?
解决方案
上述错误The default team field value must be one of this team's allowed team field values
意味着您在属性中定义的区域路径也TeamFieldValuesPatch.DefaultValue
必须包含在TeamFieldValuesPatch.Values
属性中。
如果DefaultValue
在Values
. 上述错误将被抛出。请参阅下面的 c# 示例
VssConnection _connection = new VssConnection(accountUri, new VssBasicCredential(string.Empty, personalAccessToken));
WorkHttpClient workClient = _connection.GetClient<WorkHttpClient>();
TeamFieldValuesPatch patch = new TeamFieldValuesPatch();
patch.DefaultValue = "Project\\DefaultAreaPath";
List<TeamFieldValue> values = new List<TeamFieldValue> {
#defaultValue must be included in the values
new TeamFieldValue { Value = "Project\\DefaultAreaPath", IncludeChildren = false },
new TeamFieldValue { Value = "Project\\OtherAreaPath", IncludeChildren = false }
};
patch.Values = values;
TeamContext team = new TeamContext("Project", "Team");
var res = workClient.UpdateTeamFieldValuesAsync(patch, team).Result;
推荐阅读
- javascript - 在 node.js 中使用 docker 引擎 API 创建 docker 服务
- tensorflow2.0 - 如果你使用 Tensorflow 数据集,你必须上传你的数据吗?
- javascript - 为什么在 magnific-popup 中单击事件不会触发到其父级?
- python - 试图在 heroku 上创建超级用户,但它给我一个 typeError
- scala - Gatling:从 foreach 循环中保存的“findAll”列表访问变量
- terraform - Terraform、Autoscaling 监听新的 AMI,并自动部署
- java - 将类从 2 更改为 1 参数时 Spring POST 400 Bad Request Postman
- ios - ld:找不到 -lRCTAnimation 的库
- javascript - 从数组中过滤缺失值时获取错误值
- php - TYPO3 Media-Emelent 自己的领域