1

我花了一些时间在 Azure DevOps 中的一个项目上收集仪表板。我有 14 个查询支持它,并使用了 3 种不同的小部件类型。杰出的。我遇到的问题是我现在需要将其推广到 70 多个项目。

我使用 WIQL 市场扩展导出了所有查询,但似乎只能一次将它们导入其他项目,这非常耗时。然后,我需要将正确的查询与仪表板中的正确小部件进行匹配,这又很耗时。我一直在寻找一种复制仪表板的方法,但我发现的似乎并不存在。

任何人都可以建议我可以减少时间的方法吗?即使这只是在不同项目中获取我的查询的一种方式 - 这将节省大量时间。

我也尝试过谷歌搜索和 YouTube,但似乎碰壁了——也许我的搜索字词有误?- 因为我被定向到有关导入工作项而不是查询的页面和说明。

4

2 回答 2

1

除了本票分享的python脚本c #代码外,您还可以尝试使用REST API复制仪表盘。以下是步骤:

  1. 通过 ID 获取仪表板

    获取https://dev.azure.com/{organization}/{project}/{team}/_apis/dashboard/dashboards/{dashboardId}?api-version=6.1-preview.3

  2. 复制获取仪表板 REST API 的响应正文并删除仪表板 ID。

在此处输入图像描述

  1. 创建提供的仪表板

    发布https://dev.azure.com/{organization}/{project}/{team}/_apis/dashboard/dashboards?api-version=6.1-preview.3

请将响应正文粘贴到此 REST API 中的请求正文中。您只需在此处更改项目名称和团队名称即可复制到不同的项目。 在此处输入图像描述 4.目前,一些小部件设置可能会得到空值,您可能需要在新仪表板中手动配置它们。

此外,产品组正在开发此功能。这是功能时间线。请跟踪并关注此票证以获取最新更新。

于 2020-09-24T08:44:34.323 回答
0

如果您熟悉 PowerShell,则可以使用AzurePipelinesPS复制仪表板或查询。Copy-APDashboard 和 Copy-APQuery 命令支持跨集合和跨项目复制。

仪表盘

以下将仪表板复制到与源相同的项目中。

Copy-APDashboard -Name 'My Current Dashboard' -Session 'mySourceSession' 

以下将仪表板复制到同一集合中的不同项目中。

Copy-APDashboard -Name 'My Current Dashboard' -Session 'mySourceSession' -TargetProject 'Other Project Name'

询问

下面将一个名为“我的查询复制”的查询复制到名为“Project2”的项目中。

Copy-APQuery -QueryId 'Shared Queries/My Query To Copy' -Name 'My New Query' -TargetProject 'Project2' -Session 'mySourceSession' 

有关如何创建会话并将其保存以供以后的 PowerShell 会话使用的更多详细信息,请参阅AzurePipelines 会话管理

注意

Copy-APDashboard 不复制底层查询,只复制仪表板小部件和范围。您必须使用 Copy-APQuery 复制查询。

于 2021-02-08T16:17:36.883 回答