我们拥有CRM,客户可以在其中创建票证(变更请求,事件...)。 从开发人员团队的角度来看,我们有Team Foundation Server 2018。
为了加快流程,我们希望将整个过程自动化。因此,当客户创建票证时,要自动创建TFS用户故事。
我们开发了代码,每次创建票证时都将数据取入JSON文件中。 (将在Github中附加代码并共享链接) 但是现在,我只需要信息,是有人对JSON文件的外观有什么想法,需要将其发布到TFS以便创建新的用户故事。
{
"fields": {
"System.WorkItemType": "User Story",
"System.AreaPath": "EJ2TFS",
"System.TeamProject": "EJ2TFS",
"System.IterationPath": "EJ2TFS",
"System.State": "New",
"System.Reason": "New",
"Microsoft.VSTS.Common.StateChangeDate": "2019-01-01T00:00:00Z",
"System.ChangedBy": "Doe, John <firm\\doej>",
"System.CreatedBy": "Doe, John <firm\\doej>",
"System.Title": "Sample task created by POST API",
"System.Discussion":"test1",
"Microsoft.VSTS.Common.StateChangeDate": "2019-01-31T14:00:00",
"Microsoft.VSTS.Common.Priority": 2,
"Microsoft.VSTS.Common.ValueArea": "Business"
}
}
错误是:
{
"$id": "1",
"innerException": null,
"message": "The request indicated a Content-Type of \"text/plain\" for method type \"POST\" which is not supported. Valid content types for this method are: application/json-patch+json.",
"typeName": "Microsoft.VisualStudio.Services.WebApi.VssRequestContentTypeNotSupportedException, Microsoft.VisualStudio.Services.WebApi",
"typeKey": "VssRequestContentTypeNotSupportedException",
"errorCode": 0,
"eventId": 3000
}
答案 0 :(得分:1)
看起来您的有效载荷需要改头换面。我引用了几个代码示例并共享了此代码段。 (请对此进行测试,但我没有机会对其进行测试)
POST https://dev.azure.com/fabrikam/{project}/_apis/wit/workitems/$User Story?api-version=5.0
[
{
"op": "add",
"path": "/fields/System.Title",
"from": null,
"value": "My first user story"
}
]