

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Connect 连接到 GitLab 数据源
<a name="gitlab-AMG-datasource"></a>

 GitLab 数据源允许您跟踪详细的 GitLab 统计数据，例如排名靠前的贡献者、每天的提交量或每天的部署量。您也可以使用模板变量（例如项目）为控制面板设置筛选器。您可以将来自 GitLab API 的数据与其他来源的数据合并。

**注意**  
此数据来源仅适用于 Grafana Enterprise。有关更多信息，请参阅 [管理对 Enterprise 插件的访问](upgrade-to-enterprise-plugins.md)。  
此外，在支持版本 9 或更高版本的工作区中，此数据来源可能需要您安装相应的插件。有关更多信息，请参阅 [使用插件扩展您的工作区](grafana-plugins.md)。

## 已知限制条件
<a name="gitlab-known-limitations"></a>

此插件尚不支持警报，因为警报查询中不支持转换，转换是从 GitLab API 原始数据中获取有意义的聚合指标的唯一方法。

## 添加数据来源
<a name="gitlab-adding-the-data-source"></a>

1.  在 Amazon Managed Grafana 工作区中打开 Grafana 控制台，并确保您已登录。

1.  在**配置**（齿轮图标）下的侧边菜单中，选择**数据来源**。

1.  选择**添加数据来源**。
**注意**  
 如果您在侧边菜单中看不到**数据来源**链接，则表示您当前的用户没有 `Admin` 角色。

1.  **GitLab**从数据源列表中选择。

1. 输入以下信息：
   + 在**名称**中，输入该 GitLab数据源的名称。
   + 对于 **URL**，请输入您的 GitLab 实例的根 URL，例如**https://gitlab.com/api/v4**。
   + 对于**访问令牌**，请输入您的 GitLab个人访问令牌。

## 查询 GitLab 数据源
<a name="gitlab-query"></a>

在 GitLab 查询编辑器中，您可以选择不同的资源类型，例如提交、议题或发布。

**筛选和查看项目**

1.  从下拉菜单中，选择**项目**。

1.  （可选）按您拥有的项目进行筛选。

1.  使用下拉列表并选择**是**或**否**来筛选结果。
**注意**  
 获取所有**已拥有 = 否**的项目可能需要很长时间。

**筛选并查看提交**

1.  从下拉菜单中选择**提交**。

1.  使用输入字段添加项目 ID。

1.  （可选）要按此筛选， branch/tag 请使用输入字段添加 branch/tag 参考文献。

**筛选和查看问题**

1.  从下拉菜单中，选择**问题**。

1.  使用输入字段添加项目 ID。

1.  （可选）要筛选依据 title/description，请使用输入字段根据议**题**和**描述**搜索问题。

**查看版本**

1.  从下拉菜单中，选择**部署**。

1.  使用输入字段添加项目 ID。

1.  （可选）要筛选依据 environment/status，请使用输入字段。**状态**属性可以是以下任何值：`created`、`running`、`success`、`failed` 或 `canceled`。

**查看标签**

1.  从下拉菜单中，选择**标签**。

1.  使用输入字段添加项目 ID。

## 模板和变量
<a name="gitlab-templates"></a>

要添加新的 GitLab 查询变量，请参阅[添加查询变量](variables-types.md#add-a-query-variable)。使用您的 GitLab 数据源作为数据源。选择资源类型：**版本**、**项目**或**标签**。

要获取项目、标签等对象的动态列表供您选择，请创建一个 Query 类型变量。查询类型变量使用 GitLab 查询编辑器来查询和返回项目、标签等。以下示例创建了一个 Project 变量来参数化您的查询

**创建 Project 变量来参数化查询**

1.  添加名为 **project** 且类型为 **Query** 的变量。

1.  选择您的 GitLab 数据源并在**仪表板加载时**刷新。

1.  选择 **Project** 资源类型，**已拥有**的值为**是**、**显示字段**的值为**名称**，**值字段**的值为 **ID**。

1. 选择**更新**将变量添加到控制面板。

1. 向控制面板添加一个新面板并使用 **$project** 作为项目 ID。

   现在，当从下拉列表中进行选择时，您会得到属于该项目的结果。

## 使用 Grafana 中的转换来回答常见问题
<a name="gitlab-transformations"></a>

现在，您可以执行基本 GitLab 查询来查找提交、问题等，您可以使用 Transformations 对数据集进行可视化、聚合、分组和联接，还可以使用许多其他类型的转换将简单的结果转换为复杂问题的答案。以下是一些常见问题以及如何使用转换来回答这些问题。

**我的项目中每天有多少个 commits/issues /deployments？**

1.  添加查询。选择**提交**作为资源类型，然后添加项目 ID。

1.  添加新的**分组依据**转换：对于**分组依据**，选择 **created\_at\_date**，然后计算 **(Count)=id** 

1. 选择**图形**可视化。

**我的项目中问题关闭的平均时间是多少？**

1.  添加查询。选择**问题**作为资源类型，然后添加项目 ID。

1.  添加新的**从计算添加字段**转换：对于**模式**，选择**二元操作**，对于**操作**，选择 **closed\_at = created\_ate**，对于**别名**，选择 **resolution\_time**。

1.  添加新的**从计算添加字段**转换：对于**模式**，选择**二元操作**，对于**操作**，选择 **resolution\_time / 86400000**，对于**别名**，选择 **resolution\_time**。

   对于**替换所有字段**，选择 **True**。

1. 选择**统计**可视化。
   + 显示 = 计算
   + 计算 = 平均值
   + 字段 = **resolution\_time**