【发布时间】:2021-06-14 14:18:01
【问题描述】:
我们希望将所有项目从 Jira 迁移到 Azure Devops,其中之一就是我们的帮助台功能。
我的任务是移植我们当前有关票证的解决方案:我们正在运行一个 Laravel 项目,该项目检查某些电子邮件地址是否有新的帮助请求。当收到新电子邮件时,它会向我们的 Slack 发送通知,其中一名团队成员确认并选择在 Jira 中创建票证的位置。然后它根据 Slack 中的选择在 Jira 中创建一个带有 api 调用的新票证。
我已经找到并试用了 Azure Devops API,可以列出项目和获取工作项等。但我不能通过调用 POST 一个新的工作项
http://dev.azure.com/{organization}/{project}/_apis/wit/workitems/$task?api-version=6.1-preview.3&bypassRules=true
使用这样的 JSON 正文:
[
{
"op": "add",
"path": "/fields/System.Title",
"from": null,
"value": "Test of REST functionality"
},
{
"op": "add",
"path": "/fields/System.State",
"from": null,
"value": "New"
}
]
我收到这样的 JSON 响应
{
"fields": {
"System.WorkItemType": "Task",
"System.AreaPath": "xxxxx",
"System.TeamProject": "xxxx",
"System.IterationPath": "xxxx",
"System.State": "New",
"System.Reason": "New",
"Microsoft.VSTS.Common.StateChangeDate": "1753-01-01T00:00:00Z",
"System.ChangedBy": {
"displayName": "xxxx",
"url": "xxxx",
"_links": {
"avatar": {
"href": "xxxx"
}
},
"id": "xxxx",
"uniqueName": "xxxx",
"imageUrl": "xxxx",
"descriptor": "xxxx"
},
"System.CreatedBy": {
"displayName": "xxxx",
"url": "xxxx",
"_links": {
"avatar": {
"href": "xxxx"
}
},
"id": "xxxx",
"uniqueName": "xxxx",
"imageUrl": "xxxx",
"descriptor": "xxxx"
},
"Microsoft.VSTS.Common.Priority": 2
},
"_links": {
"workItemType": {
"href": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItemTypes/Task"
},
"fields": {
"href": "https://dev.azure.com/{organization}/{project}/_apis/wit/fields"
}
},
"url": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItems"
}
最后一个 url 指向一个带有包含此消息的 JSON 对象的页面:
No HTTP resource was found that matches the request URI 'https://dev.azure.com/{project}/_apis/wit/workItems'
并且没有创建新任务。
我从查阅文档开始。
我已尝试使用有关工作项的几种不同权限组合来编辑和重新生成我的个人访问令牌。我已尝试授予 PAT 完全访问权限。
我尝试调用不同版本的 API。
我尝试添加除标题和状态之外的字段,这些字段按要求列出,最后将 bypassRules 设置为 true。
Google 和 /r/azuredevops subreddit 没有返回有效的结果。
谁能指出我应该去哪里,或者我错过了什么? 在此先感谢:-)
编辑:我正在发帖。
编辑解决方案:
我觉得自己好傻。在 Postman 中发布时,我使用 http:// 而不是 https:// 使用 https:// 解决了这个问题。
【问题讨论】:
-
嗨,根据响应正文,您的邮递员方法似乎是 GET 而不是 POST,您可以查看我的答案,然后在这里分享结果。
-
嗨,这个问题怎么样?下面的答案是否解决了您的问题?如果没有,请告诉我有关此问题的最新信息吗?
-
我添加了一些额外的信息 - 主要是这样,但我想知道您的 url 中的内容以及标题中的内容。你有 12 个标题,我有 9 个,而且我的 url 似乎比你的长。
-
嗨,我已经更新了答案,它包含我的 URL 和带有标题的详细步骤,您可以检查它并在这里分享结果。
标签: azure-devops postman azure-devops-rest-api azure-boards