d3vnz/issuetracker
最新稳定版本:v1.5.14
Composer 安装命令:
composer require d3vnz/issuetracker
包简介
Filament-based issue reporter with optional centralised TicketMate integration (GitHub issues + branded confirmation emails handled remotely).
README 文档
README
Filament-based issue tracker that creates GitHub issues from your app, mirrors them locally, and can optionally surface enriched data from a central TicketMate instance.
Requirements
- PHP 8.3+
- Laravel 11 / 12 / 13
- Filament 3 / 4 / 5
- (Optional) TicketMate instance at
https://helpdesk.d3v.nz
Installation
composer require d3vnz/issuetracker
php artisan vendor:publish --tag=d3vnz-issuetracker-migrations
php artisan migrate
php artisan vendor:publish --provider="GrahamCampbell\GitHub\GitHubServiceProvider"
.env
GITHUB_TOKEN=ghp_yourPersonalAccessToken GITHUB_OWNER=d3vnz GITHUB_REPO=mostech-v2
In config/services.php add:
'github' => [ 'token' => env('GITHUB_TOKEN'), 'owner' => env('GITHUB_OWNER'), 'repo' => env('GITHUB_REPO'), ],
Console schedule
Schedule::command('github:sync-issues')->everyThirtyMinutes();
TicketMate integration (recommended)
Instead of standalone polling + per-app email plumbing, point the package at a central TicketMate. TicketMate watches the GitHub repo via webhook, runs AI triage, captures URL screenshots, surfaces issues alongside support tickets and uptime alerts in one inbox.
One-time setup in TicketMate
- Open
https://helpdesk.d3v.nz/admin/repositoriesand create a record for the repo (e.g.d3vnz/mostech-v2). Set the brand and link a client/domain. - Copy the Webhook URL and Webhook secret, add them to GitHub → Settings → Webhooks (events: Issues + Issue comments, content-type
application/json). - Copy the API token shown on the same page.
.env additions for the consuming app
TICKETMATE_API_URL=https://helpdesk.d3v.nz TICKETMATE_API_TOKEN=the-token-from-the-repo-page TICKETMATE_USE_REMOTE_LISTINGS=true
When these are set, the package runs in fully centralised mode:
- The consuming app does NOT need a
GITHUB_TOKEN— TicketMate creates the GitHub issue with its own token and returns the result. - The package writes no issue data to your local database. Issues live in TicketMate (and GitHub). Locally they're cached for 10 minutes in your default
Cachestore (Redis if configured). - The Filament
IssueResourcetable is rendered from that cache — first hit refreshes, subsequent hits within 10 minutes serve the snapshot. - The package sends no emails. TicketMate handles the branded confirmation to the issue creator (and any subsequent status / comment notifications).
- Optional cron safety net (the lazy refresh on-render is usually sufficient):
// console.php Schedule::command('ticketmate:sync --quiet-on-empty')->everyTenMinutes();
Migrations from earlier versions (issues + issue_comments tables) are no longer needed when TicketMate is enabled. You can drop them safely:
php artisan tinker >>> Schema::dropIfExists('issue_comments'); >>> Schema::dropIfExists('issues');
When TICKETMATE_* env vars are NOT set, the package keeps its original behaviour (GitHub poll + local DB + local emails).
Configuration reference
See config/issuetracker.php for full options.
统计信息
- 总下载量: 1.57k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2024-09-16