Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 跨多个项目查询最近更改的工作项_Azure Devops_Azure Devops Rest Api - Fatal编程技术网

Azure devops 跨多个项目查询最近更改的工作项

Azure devops 跨多个项目查询最近更改的工作项,azure-devops,azure-devops-rest-api,Azure Devops,Azure Devops Rest Api,我正在尝试创建一个查询,该查询为我提供过去两天内更新的所有用户故事,这在带有WorkItem批处理查询的项目中应该是非常基本的。 https://[TENNANT].analytics.visualstudio.com/[PROJECT]/\u odata/v1.0/WorkItems 我需要对设置了一组特定标准的一些用户情景进行更新(我无法像现在这样使用DevOps中的规则进行估计的计算) 我的挑战是我们有200个项目,我需要获得所有这些项目中最近更改的用户故事。因此,我目前的解决方案如下:

我正在尝试创建一个查询,该查询为我提供过去两天内更新的所有用户故事,这在带有WorkItem批处理查询的项目中应该是非常基本的。 https://[TENNANT].analytics.visualstudio.com/[PROJECT]/\u odata/v1.0/WorkItems 我需要对设置了一组特定标准的一些用户情景进行更新(我无法像现在这样使用DevOps中的规则进行估计的计算)

我的挑战是我们有200个项目,我需要获得所有这些项目中最近更改的用户故事。因此,我目前的解决方案如下:

  • 对分页为100的项目执行查询(现在是3个查询)
  • 查询分页为200的用户故事(现在是207个查询)
  • 浏览所有用户案例,并根据需要更新计算结果(平均每天约20次)
  • 总之,查询将运行大约11分钟,然后由于Azure DevOps REST Api上的限制阈值而失败

    是否有一种方法可以跨租户中的所有项目查询用户情景,或者查询用户情景发生更改的项目? 项目的LastChanged与参考底图元素无关,而是与项目元数据相关

    如果能找到解决方案,我们将不胜感激:)

    有没有一种方法可以查询我们公司所有项目的用户故事 租户,或是用户故事发生变化的查询项目

    您可以尝试Azure Devops Rest Api,以便通过自定义逻辑

    返回过去两天内在特定项目中更改的用户情景的简单请求:

    Post https://dev.azure.com/{OrgName}/_apis/wit/wiql?api-version=6.1-preview.2
    
    如果要查询组织内的所有项目,则请求正文:

    {
      "query": "Select [System.Id] From WorkItems WHERE [System.WorkItemType]='User Story' AND [System.ChangedDate] >= @today-2 ORDER BY [System.ChangedDate] DESC"
    }
    
    {
      "query": "Select [System.Id] From WorkItems WHERE [System.WorkItemType]='User Story' AND [System.ChangedDate] >= @today-2 And ([System.TeamProject] = 'ProjectName1' OR [System.TeamProject] ='ProjectName2') ORDER BY [System.ChangedDate] DESC"
    }
    
    如果您正在查询组织内的特定项目,则请求正文:

    {
      "query": "Select [System.Id] From WorkItems WHERE [System.WorkItemType]='User Story' AND [System.ChangedDate] >= @today-2 ORDER BY [System.ChangedDate] DESC"
    }
    
    {
      "query": "Select [System.Id] From WorkItems WHERE [System.WorkItemType]='User Story' AND [System.ChangedDate] >= @today-2 And ([System.TeamProject] = 'ProjectName1' OR [System.TeamProject] ='ProjectName2') ORDER BY [System.ChangedDate] DESC"
    }
    

    作为第一个问题的后续行动。我可以从所有项目中获取Wit ID列表,但无法从其他字段中获取值

    查询:

    {
          "query": "Select [System.Id], [System.Title] From WorkItems WHERE [System.WorkItemType]='User Story' AND [System.ChangedDate] >= @today ORDER BY [System.ChangedDate] DESC"
    }
    
    {
        "queryType": "flat",
        "queryResultType": "workItem",
        "asOf": "2020-10-12T13:21:32.76Z",
        "columns": [
            {
                "referenceName": "System.Id",
                "name": "ID",
                "url": "https://dev.azure.com/[organization]/_apis/wit/fields/System.Id"
            },
            {
                "referenceName": "System.Title",
                "name": "Title",
                "url": "https://dev.azure.com/[organization]/_apis/wit/fields/System.Title"
            }
        ],
        "sortColumns": [
            {
                "field": {
                    "referenceName": "System.ChangedDate",
                    "name": "Changed Date",
                    "url": "https://dev.azure.com/[organization]/_apis/wit/fields/System.ChangedDate"
                },
                "descending": true
            }
        ],
        "workItems": [
            {
                "id": 19548,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19548"
            },
            {
                "id": 19551,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19551"
            },
            {
                "id": 13786,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/13786"
            },
            {
                "id": 19299,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19299"
            },
            {
                "id": 10805,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/10805"
            },
            {
                "id": 19346,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19346"
            },
            {
                "id": 19347,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19347"
            },
            {
                "id": 19348,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19348"
            },
            {
                "id": 19349,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19349"
            },
            {
                "id": 19546,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19546"
            },
            {
                "id": 19340,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19340"
            },
            {
                "id": 19341,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19341"
            },
            {
                "id": 19342,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19342"
            },
            {
                "id": 19345,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19345"
            },
            {
                "id": 17226,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/17226"
            },
            {
                "id": 19006,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19006"
            },
            {
                "id": 19544,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19544"
            },
            {
                "id": 7412,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/7412"
            },
            {
                "id": 19540,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19540"
            },
            {
                "id": 18352,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/18352"
            },
            {
                "id": 11609,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/11609"
            },
            {
                "id": 11636,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/11636"
            }
        ]
    }
    
    响应:

    {
          "query": "Select [System.Id], [System.Title] From WorkItems WHERE [System.WorkItemType]='User Story' AND [System.ChangedDate] >= @today ORDER BY [System.ChangedDate] DESC"
    }
    
    {
        "queryType": "flat",
        "queryResultType": "workItem",
        "asOf": "2020-10-12T13:21:32.76Z",
        "columns": [
            {
                "referenceName": "System.Id",
                "name": "ID",
                "url": "https://dev.azure.com/[organization]/_apis/wit/fields/System.Id"
            },
            {
                "referenceName": "System.Title",
                "name": "Title",
                "url": "https://dev.azure.com/[organization]/_apis/wit/fields/System.Title"
            }
        ],
        "sortColumns": [
            {
                "field": {
                    "referenceName": "System.ChangedDate",
                    "name": "Changed Date",
                    "url": "https://dev.azure.com/[organization]/_apis/wit/fields/System.ChangedDate"
                },
                "descending": true
            }
        ],
        "workItems": [
            {
                "id": 19548,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19548"
            },
            {
                "id": 19551,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19551"
            },
            {
                "id": 13786,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/13786"
            },
            {
                "id": 19299,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19299"
            },
            {
                "id": 10805,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/10805"
            },
            {
                "id": 19346,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19346"
            },
            {
                "id": 19347,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19347"
            },
            {
                "id": 19348,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19348"
            },
            {
                "id": 19349,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19349"
            },
            {
                "id": 19546,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19546"
            },
            {
                "id": 19340,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19340"
            },
            {
                "id": 19341,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19341"
            },
            {
                "id": 19342,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19342"
            },
            {
                "id": 19345,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19345"
            },
            {
                "id": 17226,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/17226"
            },
            {
                "id": 19006,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19006"
            },
            {
                "id": 19544,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19544"
            },
            {
                "id": 7412,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/7412"
            },
            {
                "id": 19540,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/19540"
            },
            {
                "id": 18352,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/18352"
            },
            {
                "id": 11609,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/11609"
            },
            {
                "id": 11636,
                "url": "https://dev.azure.com/[organization]/_apis/wit/workItems/11636"
            }
        ]
    }
    
    System.Title不是回复的一部分,我不能使用标准的WIT批处理查询,因为请求URL中有project的要求,而且这些都是跨多个项目的

    有没有一种方法可以从WiQL查询中获得比ID字段更多的信息?我已经尝试了我所有的想法,但是我找不到一种方法来从第一次查询得到的响应中的每个工作项中查询更多的字段

    这里有什么我遗漏的吗?

    简单的查询(不是分析)不好吗?