【发布时间】:2020-11-06 10:34:34
【问题描述】:
我正在尝试将迭代和日历假期添加到我的 Azure DevOps 项目中,但无法解决。
使用 Azure DevOps CLI 和一些找到 here 的 PowerShell 脚本代码,然后运行它,窗口会立即关闭。在任何项目中都不会创建任何内容,也不会发生控制台写入:
Param
(
[string]$PAT = [my PAT],
[string]$Organization = [my organization],
[string]$Project = 'DevTeam',
[string]$TeamName = 'DevTeam Team',
[DateTime]$StartDate = Get-Date,
[int]$NumberOfSprints = 18
)
echo $PAT | az devops login --org $Organization
Write-Host '===Configuring connection to organization and Team Project'
az devops configure --defaults organization=$Organization project=$Project
For ($i=1; $i -le $NumberOfSprints; $i++)
{
$StartDateIteration = $StartDate.AddDays(($i - 1) * 14)
$FinishDateIteration = $StartDateIteration.AddDays(20)
$Sprint = $StartDateIteration + '-' + $FinishDateIteration
$createIteration = az boards iteration project create --name $Sprint --start-date $StartDateIteration --finish-date $FinishDateIteration --org $Organization --project $Project | ConvertFrom-Json
$addIteration = az boards iteration team add --id $createIteration.Identifier --team $TeamName --org $Organization --project $Project | ConvertFrom-Json
Write-Host $addIteration.name 'created on path'$addIteration.path
}
所以我找到了使用 REST API 的 this。我在 Postman 中为 REST API 快速写了一些东西,但这也返回了一个错误:
预请求脚本:
var occurences = 18;
var start_date = "11/11/2020";
for(i=1; i <= occurences; i++){
var repeat_every = 21*i; //repeat every number of days/weeks/months
var first = new Date(start_date);
first.setDate( first.getDate() + repeat_every );
var last = new Date(first.setDate(first.getDate() - 1));
var name = first.toDateString() + "-" + last.toDateString();
pm.environment.set("first", first);
pm.environment.set("last", last);
pm.environment.set("name", name);
};
JSON POST 正文到“dev.azure.com/[我的组织]/DevTeam/_apis/work/teamsettings/iterations?api-version=6.0”
{
"id": [my identifier from "GET dev.azure.com/[my organization]/DevTeam/_apis/wit/classificationnodes/iterations?api-version=6.0],
"name": {{name}},
"path": "DevTeam\\Iteration",
"attributes": {
"startDate": {{first}},
"finishDate": {{last}}
}
}
错误:
{
"$id": "1",
"innerException": null,
"message": "TF400898: An Internal Error Occurred. Activity Id: bbe88905-2083-47e2-9b2c-d87be87c4adb.",
"typeName": "Newtonsoft.Json.JsonReaderException, Newtonsoft.Json",
"typeKey": "JsonReaderException",
"errorCode": 0,
"eventId": 0
}
- 我怎样才能使其中任何一个成功运行?
- 这会自动在日历上添加迭代吗?我们的想法是整合日历并让 DevOps 跟踪我们的工作时间和休息时间,以便我们可以将其用于 Sprint 计划。
谢谢。
【问题讨论】:
-
不是适合您的解决方案,但很多屏幕 UI 都使用相同的 API。您可以尝试手动添加一个来模仿您正在编写的脚本。然后使用浏览器调试器检查网络流量。
-
嗨@aplane1290。这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒this。
标签: azure-devops azure-devops-rest-api azure-cli