从 Postman 在 Azure Devops 中创建工作项

问题描述

我们希望将所有项目从 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","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","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 没有返回有效的结果。

谁能指出我应该去的方向,或者我错过了什么? 提前致谢:-)

编辑:我正在发布。

POST

编辑解决方案:

我觉得自己好傻。在 Postman 中 POST 时,我使用了 http:// 而不是 https:// 使用 https:// 解决了这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)