mmockelyn/laravel-gitlab-reporter

当抛出异常时创建 Gitlab 事项

1.2.1 2023-04-23 15:17 UTC

This package is not auto-updated.

Last update: 2024-09-23 20:18:03 UTC


README

为服务器上发生的异常创建问题。

此包会在异常发生时在您的 Gitlab 项目中创建问题,并将一些额外的调试信息发布到问题中,以帮助您解决问题。

此包将与您的 Gitlab 服务器通信,并根据问题描述中生成的标识符哈希检查之前是否已发生异常。请不要删除描述中的此行,因为这将是此包验证之前是否发生异常的唯一方式。

需要 Gitlab 版本 9 或更高版本。

安装

使用 composer 安装

composer require wyox/laravel-gitlab-reporter

要使用 Gitlab reporter,您应该在 Laravel 项目的 app/Exceptions/Handler.php 文件中更改以下内容

public function report(Exception $exception)
{
    // Ignore Gitlab Report in code coverage
    // @codeCoverageIgnoreStart
    if(app()->bound('gitlab.report') && $this->shouldReport($exception)){
        app('gitlab.report')->report($exception);
    }
    // @codeCoverageIgnoreEnd

    parent::report($exception);
}

现在设置您的 .env 文件以包含以下变量

GITLAB_REPORT_URL=https://gitlab.com/
GITLAB_REPORT_TOKEN=
GITLAB_REPORT_PROJECT_ID=
GITLAB_REPORT_LABELS=

我建议为 reporter 创建一个单独的用户帐户,并仅允许其访问问题和创建问题。这样,您可以确保如果您的服务器或代码遭到入侵,您不会给予服务器完全访问权限

要获取访问令牌,请转到您的 Gitlab 服务器上的 profile/personal_access_tokens 并生成一个用于 API 的令牌

对于您的项目 ID,您需要转到项目 -> 设置 -> 通用 -> 通用项目设置。应该有一个带有项目 ID 的框

为问题添加标签

为新创建的问题添加标签很容易,只需将逗号分隔的列表添加到 GITLAB_REPORT_LABELS=

GITLAB_REPORT_LABELS=bug,critical

如果标签在 Gitlab 中不存在,它们将被自动创建。

忽略某些异常

请确保发布配置,因为设置异常无法使用 .env 文件进行

php artisan vendor:publish --tag=gitlab-report

将创建一个名为 gitlab-report.php 的文件,您可以在其中更改设置。已添加一些默认异常

在报告中隐藏字段

在某些情况下,您不希望报告中包含您客户的密码。您可以通过在配置文件中扩展或替换值来包括更多不应在报告中显示的字段。所有这些字段都将替换为 [hidden]。填充为 null 的字段也将替换为 [hidden]