engaging-io/issue-reporter
Composer 安装命令:
composer require engaging-io/issue-reporter
包简介
A Laravel package for reporting GitHub issues using AI.
README 文档
README
A Laravel package for reporting exceptions to a designated endpoint with additional context, which can be used for automatic issue creation with AI assistance.
Features
- Report any exception with comprehensive context data
- Special handling for HTTP request exceptions (with additional request data)
- Integration with Slack notifications
- Connection to your GitHub repository for automated issue tracking
- Easy to configure and use in any Laravel application
Requirements
- PHP 7.3+
- Laravel 8.0+ / 9.0+ / 10.0+ / 11.0+ / 12.0+
Installation
You can install the package via Composer:
composer require engaging-io/issue-reporter
The package will automatically register its service provider if you're using Laravel 5.5+.
Configuration
Publish the configuration file:
php artisan vendor:publish --provider="EngagingIo\IssueReporter\IssueReporterServiceProvider"
This will create a config/issue-reporter.php file where you can modify the package settings.
Environment Variables
Add these variables to your .env file:
ISSUE_REPORTER_ENABLED=false # Set to true in production environments only
ISSUE_REPORTER_GITHUB_REFERENCE=main
ISSUE_REPORTER_GITHUB_REPOSITORY=your-repository
ISSUE_REPORTER_SLACK_WEBHOOK=https://hooks.slack.com/services/your/slack/webhook
Note: Always keep
ISSUE_REPORTER_ENABLEDset tofalsefor local development environments to prevent unnecessary reporting of development exceptions.
Usage
Basic Exception Reporting
use EngagingIo\IssueReporter\Facades\IssueReporter; try { // Your code that might throw an exception } catch (\Throwable $e) { IssueReporter::report($e); // Then handle the exception as you normally would }
In Exception Handlers
You can easily use the package in your Laravel exception handler:
// app/Exceptions/Handler.php namespace App\Exceptions; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use EngagingIo\IssueReporter\Facades\IssueReporter; use Throwable; class Handler extends ExceptionHandler { // ... public function report(Throwable $exception) { // You can add conditions to determine which exceptions to report if ($this->shouldReportToIssueReporter($exception)) { IssueReporter::report($exception); } parent::report($exception); } private function shouldReportToIssueReporter(Throwable $exception) { // Implement your logic to determine which exceptions to report return !$this->inExcludeList($exception) && app()->environment('production'); } // ... }
Using bootstrap/app.php (Laravel 10+)
For Laravel 10 and above, you can also integrate the issue reporter in your bootstrap/app.php file:
// bootstrap/app.php use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use EngagingIo\IssueReporter\Facades\IssueReporter; // ... return Application::configure(basePath: dirname(__DIR__)) // ... ->withExceptions(function (Exceptions $exceptions) { // This section captures all types of exceptions. $exceptions->reportable(fn (\Throwable $e) => IssueReporter::report($e)); })->create();
HTTP RequestException Handling
The package automatically detects if the exception is an HTTP RequestException and includes relevant request data in the report:
- Request headers
- Request body
- Response data (if available)
This additional information helps with debugging API-related issues.
Security
The package sends exception data to a designated endpoint. Make sure:
- Your Slack webhook URL is kept secure
- Your API endpoint is secured with proper authentication
- Sensitive data in error reports is properly sanitized
Configuration Options
| Option | Environment Variable | Description |
|---|---|---|
enabled |
ISSUE_REPORTER_ENABLED |
Whether the issue reporter is enabled (true/false). Should be set to false for local development |
reference |
ISSUE_REPORTER_GITHUB_REFERENCE |
The default branch or reference in your repository (e.g., 'main', 'master') |
repository |
ISSUE_REPORTER_GITHUB_REPOSITORY |
Your repository name in 'repo' format |
slack_webhook_url |
ISSUE_REPORTER_SLACK_WEBHOOK |
Your Slack webhook URL for notifications |
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Credits
License
The MIT License (MIT). Please see License File for more information.
engaging-io/issue-reporter 适用场景与选型建议
engaging-io/issue-reporter 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 195 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 06 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「github」 「laravel」 「issue」 「reporter」 「ai」 「engaging-io」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 engaging-io/issue-reporter 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 engaging-io/issue-reporter 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 engaging-io/issue-reporter 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Handles basic OAuth/OAuth2 authentication along with classes for common services
MediaWiki extension that allows embedding external content, specified by URL, into your wiki pages
GitScrum is a project to help developer team. Git + Scrum = Team More Productive
Classes to consume Lacuna Software's Amplia
Laravel package for the simplification and integration of many of your users most wanted login providers. Installation is a breeze. Never worry about OAuth again.
Add Reportable trait to Laravel Eloquent models
统计信息
- 总下载量: 195
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 18
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-06-10