无法在Azure Devops中设置新错误的AreaPath

问题描述 投票:0回答:2

当我以编程方式创建一个新错误并将区域路径设置为:

VssBasicCredential credentials = new VssBasicCredential(string.Empty, personalAccessToken);
new JsonPatchOperation()
{
   Operation = Operation.Add,
   Path = "/fields/System.AreaPath",
   Value = "Project"
},

WorkItem bug = await workItemTrackingHttpClient.CreateWorkItemAsync(patchDocument, project, "Bug").ConfigureAwait(false);

我收到此错误:

TF401346:为工作项 -1、字段“System.AreaId”指定的区域/迭代 ID 无效。

我认为这是一个错误,该区域路径存在于ADO中。

tfs azure-devops tfs-workitem
2个回答
1
投票

问题不是区域路径,而是另一个字段,无论出于何种原因,ADO 都指出区域路径是问题所在。尝试逐一添加每个字段,或单独添加区域字段,看看是否可以解决问题。这是我的代码的精简版本。

JsonPatchDocument patchDocument = new JsonPatchDocument
{

     //add fields and their values to your patch document
     new JsonPatchOperation()
     {
         Operation = Operation.Add,
         Path = "/fields/System.Title",
         Value = $"{tag} for PR #{pullRequest.PullRequestId} changes in build {buildNumber} PlannerBuildArtifact."
      },

      new JsonPatchOperation()
      {
          Operation = Operation.Add,
          Path = "/fields/System.AreaPath",
          Value = "Project\\Planner\\Service"
      }
};
try
{
      using VssConnection connection = new VssConnection(Uri, this._credentials);
      using WorkItemTrackingHttpClient workItemTrackingHttpClient = connection.GetClient<WorkItemTrackingHttpClient>();
      return await workItemTrackingHttpClient.CreateWorkItemAsync(patchDocument, Project, "Bug").ConfigureAwait(false);
}
catch (VssException e)
{
      _log.LogError("Unable to create work item", e);
      throw;
}

0
投票

如果此解决方法对其他人有帮助 - 错误代码

TF401345
是具有不同分辨率的相同错误消息。

TF401345: Area path for work item -1 is invalid

区域路径不是问题 - 我们将此处的修复确定为Repro Steps字段中的负载过大。该错误消息极具误导性 - 只需修剪太大字段的有效负载并将其分块到 ADO Bug 讨论中即可。对于我们来说,图像捕获溢出了分配的数据缓冲区。

© www.soinside.com 2019 - 2024. All rights reserved.