mmockelyn / laravel-gitlab-reporter
当抛出异常时创建 Gitlab 事项
Requires
- php: >=8.0
- guzzlehttp/guzzle: ^7.2
- http-interop/http-factory-guzzle: ^1.0
- illuminate/support: >=5.5|^6|^7|^8|^9
- m4tthumphrey/php-gitlab-api: ^11.9
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]