エラートラッキング設定API
GitLab 12.7から導入されました。
エラートラッキングのプロジェクト設定
プロジェクト設定APIでは、プロジェクトのエラートラッキング設定を取得することができます。プロジェクトのメンテナーのロールを持つユーザーのみ。
エラートラッキング設定の取得
GET /projects/:id/error_tracking/settings
| 属性 | 種類 | 必須 | 説明 | 
|---|---|---|---|
| id | 整数。 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "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
}
エラートラッキング設定の作成
- GitLab 15.10から導入されました。このAPIでは、プロジェクトのエラートラッキング設定を作成することができます。プロジェクトのメンテナーのロールを持つユーザーのみ。
このAPIは、インテグレーションエラー追跡と併用する場合にのみ利用可能です。
PUT /projects/:id/error_tracking/settings
サポートされる属性:
| 属性 | 種類 | 必須 | 説明 | 
|---|---|---|---|
| id | 整数。 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 | 
| active | boolean | yes | エラー追跡設定を有効にする場合は trueを、無効にする場合はfalseを渡します。 | 
| integrated | boolean | yes | trueを渡して、インテグレーションエラー追跡バックエンドを有効にします。GitLab 14.2以降で利用可能。 | 
リクエストの例
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "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
}
エラー追跡プロジェクト設定の有効化または無効化
このAPIでは、プロジェクトのエラートラッキング設定を有効または無効にすることができます。プロジェクトのメンテナーのロールを持つユーザーのみ。
PATCH /projects/:id/error_tracking/settings
| 属性 | 種類 | 必須 | 説明 | 
|---|---|---|---|
| id | 整数。 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 | 
| active | boolean | yes | すでに設定されているエラートラッキング設定を有効にする場合は trueを、無効にする場合はfalseを渡します。 | 
| integrated | boolean | いいえ | trueを渡して、インテグレーションエラー追跡バックエンドを有効にします。GitLab 14.2以降で利用可能。 | 
curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" "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
}
エラー クライアントキーの追跡
GitLab 14.3で導入されました。
インテグレーションエラー追跡機能のため。プロジェクトのメンテナーのロールを持つユーザーのみ。
プロジェクトクライアントキーの一覧
GET /projects/:id/error_tracking/client_keys
| 属性 | 種類 | 必須 | 説明 | 
|---|---|---|---|
| id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "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 | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 | 
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
     "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 | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 | 
| key_id | 整数。 | yes | クライアントキーのID。 | 
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys/13"
