Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 从Postman在Azure Devops中创建工作项_Azure Devops_Postman_Azure Devops Rest Api_Azure Boards - Fatal编程技术网

Azure devops 从Postman在Azure Devops中创建工作项

Azure devops 从Postman在Azure Devops中创建工作项,azure-devops,postman,azure-devops-rest-api,azure-boards,Azure Devops,Postman,Azure Devops Rest Api,Azure Boards,我们正在寻找从Jira到Azure Devops的所有项目,其中之一就是我们的帮助台功能 我的任务是移植我们当前关于票据的解决方案:我们有一个正在运行的Laravel项目,该项目检查某些电子邮件地址以获取新的帮助请求。当一封新的电子邮件到达时,它会向我们的Slack发送一个通知,其中一名团队成员对此表示认可,并选择在Jira中创建票证的位置。然后根据Slack中的选择,在Jira中创建一个带有api调用的新票证 我已经找到并试用了Azure Devops API,可以列出项目和获取工作项等等。但

我们正在寻找从Jira到Azure Devops的所有项目,其中之一就是我们的帮助台功能

我的任务是移植我们当前关于票据的解决方案:我们有一个正在运行的Laravel项目,该项目检查某些电子邮件地址以获取新的帮助请求。当一封新的电子邮件到达时,它会向我们的Slack发送一个通知,其中一名团队成员对此表示认可,并选择在Jira中创建票证的位置。然后根据Slack中的选择,在Jira中创建一个带有api调用的新票证

我已经找到并试用了Azure Devops API,可以列出项目和获取工作项等等。但是我不能通过打电话来发布新的工作项目

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"
    }
]
    {
            "fields": {
                  .....
                },
            "_links": {
                  .....                    
                },
            "url": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItems"
        }
{
    "id": {Work Item ID},
    "rev": 1,
    "fields": {
      ...
    },
    "_links": {
      ...
    },
    "url": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItems/{Work Item ID}"
}
我得到一个类似这样的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'
并且不会创建新任务

我从查阅文档开始

我已尝试编辑和重新生成我的个人访问令牌,其中包含与工作项相关的多个不同权限组合。我试着让帕特完全进入

我尝试调用不同版本的API

我尝试过添加除标题和状态之外的字段,这些字段按需要列出,最后将bypassRules设置为true

谷歌和/r/azuredevops subreddit没有返回有效的结果

谁能告诉我该去哪里,或者我错过了什么? 提前感谢:-)

编辑:我正在发帖

编辑解决方案:

我觉得自己很愚蠢。在《邮递员》中发帖时,我使用了http://而不是https://
使用https://解决了该问题。

您正在尝试创建多个任务,根据

我成功创建了具有以下主体的任务:

[
{
“op”:“添加”,
“路径”:“/字段/System.Title”,
“from”:空,
“值”:“示例任务”
}
]
标题包括:

  • 内容类型:应用程序/json修补程序+json
  • 身份验证:基本编码PAT
内容类型标头在中的Body Request部分中提到

对于PAT令牌,您只需要vso.work\u write,也在中提到

端点Url为:
https://dev.azure.com/{organization}/{project}/_-api/wit/workitems/$Task?api版本=6.0

响应主体如下所示

{
    "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"
}
{
“id”:8921,
“rev”:1,
“字段”:{
“System.AreaPath”:“项目”,
“System.TeamProject”:“Project”,
“System.IterationPath”:“项目”,
“System.WorkItemType”:“任务”,
“系统状态”:“新建”,
“系统原因”:“新的”,
“System.CreatedDate”:“2021-03-17T10:36:25.513Z”,
“System.CreatedBy”:。。。。,
“系统变更日期”:“2021-03-17T10:36:25.513Z”,
“系统更改方式”:。。。。,
“System.CommentCount”:0,
“System.Title”:“示例任务”,
“Microsoft.VSTS.Common.StateChangeDate”:“2021-03-17T10:36:25.513Z”,
“Microsoft.VSTS.Common.Priority”:2
},
“_链接”:{一些链接
},
“url”:”https://dev.azure.com/Organization/14360bf9-7578-4sfs-b43f-8dfda139fb17/_apis/wit/workItems/8921"
}

最后一个属性
url
包含指向新创建工作项的正确链接。

请检查pic,根据请求正文,您似乎正在使用REST API而不是

如果方法是GET,它将获取工作项类型

请求机构:

GET https://dev.azure.com/{organization}/{project}/_apis/wit/workitemtypes/{type}?api-version=6.0
[
    {
        "op": "add",
        "path": "/fields/System.Title",
        "from": null,
        "value": "Test of REST functionality"
    },
    {
        "op": "add",
        "path": "/fields/System.State",
        "from": null,
        "value": "New"
    }
]
JSON响应如下所示:

[
    {
        "op": "add",
        "path": "/fields/System.Title",
        "from": null,
        "value": "Test of REST functionality"
    },
    {
        "op": "add",
        "path": "/fields/System.State",
        "from": null,
        "value": "New"
    }
]
    {
            "fields": {
                  .....
                },
            "_links": {
                  .....                    
                },
            "url": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItems"
        }
{
    "id": {Work Item ID},
    "rev": 1,
    "fields": {
      ...
    },
    "_links": {
      ...
    },
    "url": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItems/{Work Item ID}"
}
邮递员结果:

如果我们需要创建工作项,我们需要将方法更改为POST

请求URL:

POST https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/${type}?api-version=6.0
请求机构:

GET https://dev.azure.com/{organization}/{project}/_apis/wit/workitemtypes/{type}?api-version=6.0
[
    {
        "op": "add",
        "path": "/fields/System.Title",
        "from": null,
        "value": "Test of REST functionality"
    },
    {
        "op": "add",
        "path": "/fields/System.State",
        "from": null,
        "value": "New"
    }
]
JSON响应如下所示:

[
    {
        "op": "add",
        "path": "/fields/System.Title",
        "from": null,
        "value": "Test of REST functionality"
    },
    {
        "op": "add",
        "path": "/fields/System.State",
        "from": null,
        "value": "New"
    }
]
    {
            "fields": {
                  .....
                },
            "_links": {
                  .....                    
                },
            "url": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItems"
        }
{
    "id": {Work Item ID},
    "rev": 1,
    "fields": {
      ...
    },
    "_links": {
      ...
    },
    "url": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItems/{Work Item ID}"
}
邮递员结果:

和Azure DevOps服务结果:

更新1

但是我想知道你的url里有什么

我的网址是

https://dev.azure.com/{Org name}/{Project name}/_apis/wit/workitems/$task?api-version=6.0
你有12个标题,我有9个,我的url看起来比你的长

  • 在邮递员中创建一个新的请求页面,默认标题为7,输入请求URL,它将添加标题
    Cookie
    ,现在标题为8
  • 将方法从GET更改为POST,它将添加标题
    内容长度
    ,现在标题为9
  • 单击Body选项卡->选择raw并将内容类型更改为JSON以添加请求正文,它将添加标题
    内容类型
    ,现在标题为10
  • 单击授权选项卡->选择基本授权并输入PAT令牌作为密码,它将添加标题
    授权
    ,现在标题为11
  • 现在,当我们单击Send按钮时,我们将得到错误消息
    ,请求指示方法类型“POST”的内容类型为“application/json”,这是不受支持的。此方法的有效内容类型为:application/json patch+json。
  • 单击标题选项卡,
    Content-Type
    的默认值为
    application/json
    ,我们需要禁用它并添加新标题
    Content-Type
    ,并将值设置为
    application/json-patch+json
    ,现在标题为12
  • 单击“发送”按钮,响应代码为200

  • 您好,根据回复主体,您的邮递员方法似乎是GET而不是POST,您可以检查我的答案,然后在此处分享结果。您好,问题如何?下面的答案解决了你的问题吗?如果没有,请让我知道关于这个问题的最新信息好吗?我添加了一些额外的信息-大多数情况下是这样的,但我想知道你的url中有哪些内容以及标题中有哪些内容。你有12个标题,我有9个,我的url看起来比你的长