bootdesk/chat-sdk-adapter-github
Composer 安装命令:
composer require bootdesk/chat-sdk-adapter-github
包简介
GitHub adapter for bootdesk/chat-sdk-core
README 文档
README
GitHub adapter for the laravel-bootdesk multi-platform messaging framework.
Install
composer require bootdesk/chat-sdk-adapter-github
Requires a PSR-18 HTTP client (guzzlehttp/guzzle, symfony/http-client, etc.) and a PSR-17 factory (nyholm/psr7 bundled).
Configuration
| Variable | Description | Example |
|---|---|---|
auth_token |
GitHub token (PAT for PAT mode, optional for App mode) | ghp_abc123... |
http_client |
PSR-18 HTTP client instance | new GuzzleHttp\Client |
webhook_secret |
Webhook Secret | my-secret... |
app_id |
GitHub App ID (App mode) | 123456 |
installation_id |
Fixed installation ID (single-tenant App mode) | 654321 |
private_key |
App private key PEM (base64-encoded, App mode) | LS0tLS1CRUdJTiBSU0EgUFJJVkFURS... |
PAT mode
$adapter = new GitHubAdapter( httpClient: new \GuzzleHttp\Client, webhookSecret: env('GITHUB_WEBHOOK_SECRET'), authToken: env('GITHUB_AUTH_TOKEN'), );
Single-tenant App mode
$adapter = new GitHubAdapter( httpClient: new \GuzzleHttp\Client, webhookSecret: env('GITHUB_WEBHOOK_SECRET'), authToken: env('GITHUB_AUTH_TOKEN'), // optional fallback appId: env('GITHUB_APP_ID'), installationId: env('GITHUB_INSTALLATION_ID'), privateKey: env('GITHUB_PRIVATE_KEY'), );
Multi-tenant App mode
$adapter = new GitHubAdapter( httpClient: new \GuzzleHttp\Client, webhookSecret: env('GITHUB_WEBHOOK_SECRET'), authToken: env('GITHUB_AUTH_TOKEN'), // optional fallback appId: env('GITHUB_APP_ID'), privateKey: env('GITHUB_PRIVATE_KEY'), );
Laravel
The ChatServiceProvider auto-binds Psr\Http\Client\ClientInterface to GuzzleHttp\Client. Add to config/chat.php:
'github' => [ 'auth_token' => env('GITHUB_AUTH_TOKEN'), 'webhook_secret' => env('GITHUB_WEBHOOK_SECRET'), ],
Quick Example
// Post a comment on a pull request $adapter->postMessage('github:owner/repo:42', 'LGTM!'); // Post a comment on an issue $adapter->postMessage('github:owner/repo:issue:15', 'Thanks for reporting.'); // Reply to a review comment thread $adapter->postMessage('github:owner/repo:42:rc:9876543', 'Fixed in abc123.');
Thread ID Format
| Format | Description |
|---|---|
github:{owner}/{repo}:{number} |
Pull request or issue |
github:{owner}/{repo}:issue:{number} |
Explicit issue |
github:{owner}/{repo}:{prNumber}:rc:{reviewCommentId} |
Review comment thread |
Webhook
GitHub sends webhook events to your endpoint. Verify requests using HMAC-SHA256 verification via the x-hub-signature-256 header.
Handled events: issue_comment, pull_request_review_comment
Feature Matrix
| Feature | Supported |
|---|---|
| Post messages | ✓ |
| Edit messages | ✓ |
| Delete messages | ✓ |
| Reactions | ✓ |
| Slash commands | ✓ |
| Typing indicator | ✗ |
| Fetch messages | ✓ |
| Fetch thread info | ✓ |
| Fetch channel info | ✓ |
| Get user | ✓ |
| Open DM | ✗ |
| Stream | ✓ |
Notes
Supports GitHub App or PAT authentication. Handles PR comments, issue comments, and review comments. Includes emoji-to-reaction mapping for reactions like thumbs up, thumbs down, laugh, etc.
Documentationn
Full API documentation: https://bootdesk.github.io/chat-sdk
License
MIT
bootdesk/chat-sdk-adapter-github 适用场景与选型建议
bootdesk/chat-sdk-adapter-github 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 bootdesk/chat-sdk-adapter-github 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bootdesk/chat-sdk-adapter-github 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 28
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-18