首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSTS / AzureDevOps REST中关系的索引是什么?

问VSTS / AzureDevOps REST中关系的索引是什么?
EN

Stack Overflow用户
提问于 2019-01-11 11:05:35
回答 1查看 163关注 0票数 1

在正式的AzureDevOps REST文档中,更新附件的JSON主体如下:

代码语言:javascript
复制
[
  {
    "op": "test",
    "path": "/rev",
    "value": 3
  },
  {
    "op": "replace",
    "path": "/relations/2/attributes/comment",
    "value": "Adding traceability to dependencies"
  }
]

这个数字2 (在relations/2/中)来自哪里?

到目前为止,我已经理解它是从零开始的,但是我不知道它是如何与附件匹配的。

通过更新附件的评论,我已经能够理解其中的逻辑,但我无法理解。

与下面测试用例中的3个附件相关的信息对应于:此魔术索引/附件名称/附件id (每次创建附件时递增)/URL中显示的附件id:

  • 附件#0 === default_AA.png === 122 === 87042366-deda-4634-8284-8f06ed552323
  • 附件#1 === default_MC.png === 124 === 5a931981-9db8-41ba-ae0a-ca0b42e6d3fb
  • 附件#2 === default_BB.png === 123 === acbc0e56-47c0-473a-a664-359f53c34a99

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-14 09:42:05

这个数字是关系的基于零的指数.这些关系包括附件和链接,这可能会让你感到困惑。

例如,使用Python,代码可以如下所示:

代码语言:javascript
复制
def get_relation_idx(tc, attachment_id):
    """Return the index in relations corresponding to a the attachment id (or part of it)"""
    for idx, rel in enumerate(tc.relations):
        if rel.rel == "AttachedFile" and attachment_id in rel.url:
            return idx
    return None

attachment_id = "87042366"
tc = wit_client.get_work_item(12345, expand="Relations")
idx = get_relation_idx(tc, attachment_id)
print("Attachment {} has index {}".format(attachment_id, idx))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54145285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档