【问题标题】:Which is the best way to get taskboard items & columns?获取任务板项目和列的最佳方式是什么?
【发布时间】:2021-03-11 10:51:21
【问题描述】:

我正在尝试通过使用其 API (https://docs.microsoft.com/en-us/rest/api/azure/devops/work/taskboard%20work%20items/list?view=azure-devops-rest-6.1) 从 azure devops 获取任务板项目。好吧,在我不将请求发送到新创建的项目/任务板之前,这件事工作得很好。新的被标记为未自定义并且有一些默认的列。

获取 https://dev.azure.com/{organization}/{project}/{team}/_apis/work/taskboardworkitems/{iterationId}?api-version=6.1-preview.1

所以在默认列的情况下,上面的端点返回给我这个:

{
    "$id": "1",
    "innerException": null,
    "message": "Taskboard columns are not added. Customize the taskboard columns before accessing it.",
    "typeName": "Microsoft.TeamFoundation.Agile.Server.TaskBoard.TaskboardColumnNotCustomizedException, Microsoft.TeamFoundation.Agile.Server",
    "typeKey": "TaskboardColumnNotCustomizedException",
    "errorCode": 0,
    "eventId": 0
}

但是在网络应用程序中,即使没有自定义列,它也能很好地工作。那么是否有任何已知的解决方法或类似的方法来处理这个问题,或者它是一个 API 错误?

我遇到了与任务板列 API 类似的问题。

获取 https://dev.azure.com/{organization}/{project}/{team}/_apis/work/taskboardcolumns?api-version=6.0-preview.1

此端点仅返回一个空的列数组,尽管 Web 应用会根据项目的进程类型显示默认的列列表。

{
    "columns": [],
    "isCustomized": false,
    "isValid": true
}

【问题讨论】:

    标签: azure azure-devops azure-devops-rest-api azure-boards


    【解决方案1】:

    我认为 API 有问题(预览版)。您可以尝试解决方法:转到任务板中的列选项,添加任务的所有状态(对我来说,它是“已删除”状态,这是缺失的)并且不要介意“映射状态”,再次执行 GET Api 请求。现在您应该看到“正常”响应。继续并删除额外添加的状态列(将列选项恢复到以前的状态)并重试 Api 调用。现在它应该可以工作了(至少对我来说是这样)。

    【讨论】:

    • 感谢您的回答。但问题是我正在尝试围绕 Azure DevOps API 构建一个应用程序。因此,该应用程序的用户在与现有 Web 应用程序进行一些交互之前不会看到任何任务板项目。事实上,如果您只是简单地更改某些列的名称、保存、还原更改并再次保存,端点将可以正常工作。所以似乎它只适用于具有“isCustomized”的列:true。
    • 嗨@IvanHredil,如果这个答案有帮助,请accept it as the answer?因此,它可以帮助遇到相同问题的其他社区成员,我们可以存档此线程。谢谢。祝你今天过得愉快。 :)
    • 另外,最近添加了这个rest API。只是有预览版,以后应该会更新文档,大家可以关注文档获取最新消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 2010-09-07
    • 2013-10-25
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多