Help us learn about your current experience with the documentation. Take the survey.

错误追踪 API

  • 版本:Free, Premium, Ultimate
  • 产品形态:GitLab.com, GitLab Self-Managed, GitLab Dedicated

使用此 API 与项目的错误追踪功能进行交互。更多信息,请参阅 错误追踪

前提条件:

  • 您至少需要拥有 Maintainer 角色。

获取错误追踪设置

获取指定项目的错误追踪设置。

GET /projects/:id/error_tracking/settings
属性 类型 必需 描述
id integer 项目的 ID 或 URL 编码路径
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings"

示例响应:

{
  "active": true,
  "project_name": "sample sentry project",
  "sentry_external_url": "https://sentry.io/myawesomeproject/project",
  "api_url": "https://sentry.io/api/0/projects/myawesomeproject/project",
  "integrated": false
}

创建错误追踪设置

为指定项目创建错误追踪设置。

此 API 仅在与集成式错误追踪一起使用时可用。

PUT /projects/:id/error_tracking/settings

支持的属性:

属性 类型 必需 描述
id integer 项目的 ID 或 URL 编码路径
active boolean 传入 true 以启用错误追踪设置配置,或传入 false 以禁用它。
integrated boolean 传入 true 以启用集成式错误追踪后端。

示例请求:

curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings?active=true&integrated=true"

示例响应:

{
  "active": true,
  "project_name": null,
  "sentry_external_url": null,
  "api_url": null,
  "integrated": true
}

激活错误追踪项目设置

激活或停用指定项目的错误追踪设置。

PATCH /projects/:id/error_tracking/settings
属性 类型 必需 描述
id integer 项目的 ID 或 URL 编码路径
active boolean 传入 true 以启用已配置的错误追踪设置,或传入 false 以禁用它。
integrated boolean 传入 true 以启用集成式错误追踪后端。
curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings?active=true"

示例响应:

{
  "active": true,
  "project_name": "sample sentry project",
  "sentry_external_url": "https://sentry.io/myawesomeproject/project",
  "api_url": "https://sentry.io/api/0/projects/myawesomeproject/project",
  "integrated": false
}

列出所有项目客户端密钥

列出指定项目的所有集成式错误追踪客户端密钥。

GET /projects/:id/error_tracking/client_keys
属性 类型 必需 描述
id integer/string 项目的 ID 或 URL 编码路径
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys"

示例响应:

[
  {
    "id": 1,
    "active": true,
    "public_key": "glet_aa77551d849c083f76d0bc545ed053a3",
    "sentry_dsn": "https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5"
  },
  {
    "id": 3,
    "active": true,
    "public_key": "glet_0ff98b1d849c083f76d0bc545ed053a3",
    "sentry_dsn": "https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5"
  }
]

创建客户端密钥

为指定项目创建一个集成式错误追踪客户端密钥。公钥属性是自动生成的。

POST /projects/:id/error_tracking/client_keys
属性 类型 必需 描述
id integer/string 项目的 ID 或 URL 编码路径
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --header "Content-Type: application/json" \
  --url "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys"

示例响应:

{
  "id": 3,
  "active": true,
  "public_key": "glet_0ff98b1d849c083f76d0bc545ed053a3",
  "sentry_dsn": "https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5"
}

删除客户端密钥

从指定项目中删除一个集成式错误追踪客户端密钥。

DELETE /projects/:id/error_tracking/client_keys/:key_id
属性 类型 必需 描述
id integer/string 项目的 ID 或 URL 编码路径
key_id integer 客户端密钥的 ID。
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys/13"