跳转至

采集器「Gitlab」配置手册

1. 配置示例

1.1 在 脚本文件中 修改如下配置

Python
1
2
3
4
# gitlab 地址
gitlab_url    = "https://gitlab.xxxx.com"
# gitlab 个人访问令牌
private_token = "-txxxxk-Fxxxxxz"

1.2 创建观测云连接器

在「 管理 / 实验性功能 」中,启用「 观测云连接器 」

前往「开发 / 连接器 / 添加连接器」,类型选择「观测云」,并填入相关配置参数(本脚本要求 ID 值为 "Guance")。

API Key 获取方式请参考 附录 [ 观测云文档 / 工作空间管理 / API Key 管理 ]

2. gitlab 个人访问令牌获取教程:

  1. 登录gitlab
  2. 在右上角,选择您的头像。
  3. 选择 编辑个人资料
  4. 在左侧边栏上,选择 访问令牌
  5. 输入令牌的名称和到期日期。
  6. 令牌在该日期的午夜 UTC 到期。
  7. 如果您不输入到期日期,到期日期将自动设置为比当前日期晚 365 天。
  8. 默认情况下,此日期最多可以比当前日期晚 365 天。
  9. 设置选择范围
  10. 选择 创建个人访问令牌

将个人访问令牌保存在安全的地方。离开页面后,您将无法再访问令牌!

3. 数据上报格式

数据正常同步后,可以在观测云的「 日志 」中查看数据。

上报的数据示例如下:

commit数据

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
{
    "measurement": "gitlab_commits",
    "tags":{
        "group_name"     : "xxxxx",
        "project_name"   : "xxxxx",
        "committer_name" : "xxxxx",
        "committer_email": "xxxxx@xxx.com"
    },
    "fields":{
        "commit sha"    : "xxxxx",
        "web_url"       : "xxxxx",
        "message"       : "xxxxx",
        "Added lines"   : "xxxxx",
        "Deleted lines" : "xxxxx",
        "Total lines"   : "xxxxx",
        "committed_date": "xxxxx"
    }
}

issue 数据

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
   "measurement": "gitlab_issues",
   "tags"       : {
       "group_name"  : "xxxxx",
       "project_name": "xxxxx",
       "author_name" : "xxxxx"
   },
   "fields"     : {
       "title"               : "xxxxx",
       "description"         : "xxxxx",
       "state"               : "xxxxx",
       "updated_at"          : "xxxxx",
       "closed_at"           : "xxxxx",
       "web_url"             : "xxxxx",
       "type"                : "xxxxx",
       "due_date"            : "xxxxx",
       "issue_type"          : "xxxxx",
       "user_notes_count"    : "xxxxx",
       "merge_requests_count": "xxxxx",
       "upvotes"             : "xxxxx",
       "downvotes"           : "xxxxx"
   }
}

merge 数据

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "measurement": "gitlab_merges",
  "tags"       : {
      "group_name"  : "xxxxx",
      "project_name": "xxxxx",
      "author_name" : "xxxxx"
  },
  "fields": {
      "title"           : "xxxxx",
      "description"     : "xxxxx",
      "state"           : "xxxxx",
      "updated_at"      : "xxxxx",
      "closed_at"       : "xxxxx",
      "merged_at"       : "xxxxx",
      "web_url"         : "xxxxx",
      "merge_commit_sha": "xxxxx",
      "merge_status"    : "xxxxx",
      "upvotes"         : "xxxxx",
      "downvotes"       : "xxxxx"
  }
}

部分字段说明如下:

字段 类型 说明
group_name String 分组名称
project_name String 项目名称
author_name String 操作人名称

X. 附录

Gitlab 相关文档

请参考 Gitlab 官方文档:

观测云文档

请参考观测云官方文档: