Azure devops 从Postman在Azure Devops中创建工作项
我们正在寻找从Jira到Azure Devops的所有项目,其中之一就是我们的帮助台功能 我的任务是移植我们当前关于票据的解决方案:我们有一个正在运行的Laravel项目,该项目检查某些电子邮件地址以获取新的帮助请求。当一封新的电子邮件到达时,它会向我们的Slack发送一个通知,其中一名团队成员对此表示认可,并选择在Jira中创建票证的位置。然后根据Slack中的选择,在Jira中创建一个带有api调用的新票证 我已经找到并试用了Azure Devops API,可以列出项目和获取工作项等等。但是我不能通过打电话来发布新的工作项目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,可以列出项目和获取工作项等等。但
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
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看起来比你的长
Cookie
,现在标题为8内容长度
,现在标题为9内容类型
,现在标题为10授权
,现在标题为11,请求指示方法类型“POST”的内容类型为“application/json”,这是不受支持的。此方法的有效内容类型为:application/json patch+json。
Content-Type
的默认值为application/json
,我们需要禁用它并添加新标题Content-Type
,并将值设置为application/json-patch+json
,现在标题为12您好,根据回复主体,您的邮递员方法似乎是GET而不是POST,您可以检查我的答案,然后在此处分享结果。您好,问题如何?下面的答案解决了你的问题吗?如果没有,请让我知道关于这个问题的最新信息好吗?我添加了一些额外的信息-大多数情况下是这样的,但我想知道你的url中有哪些内容以及标题中有哪些内容。你有12个标题,我有9个,我的url看起来比你的长