giagara / laravel-asana-webhook
Laravel Asana Webhook 集成
1.0.4
2023-05-01 13:55 UTC
Requires
- php: ^8.0
- illuminate/support: ^9.0|^10.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.5
- guzzlehttp/promises: ^1.5
- laravel/framework: ^9.0|^10.0
- laravel/pint: ^1.10
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^9.6
README
此包让您轻松与 Asana Webhook 集成。
安装
使用 composer 安装包
composer require giagara/laravel-asana-webhook
使用以下命令发布配置文件
php artisan vendor:publish --tags=asana-webhook
使用方法
首先,您需要配置个人访问令牌以与 Asana 通信。您可以在以下位置获取: https://developers.asana.com/docs/personal-access-token
将其添加到您的 .env 文件中
ASANA_PERSONAL_ACCESS_TOKEN=your_token
通过在配置文件中的 route 数组中添加项目来配置路由。
'routes' => [ 'webhook' => AnInvokableClass::class ],
另外,配置还可以支持名称和中间件
'routes' => [ 'webhook' => [ 'class' => AnInvokableClass::class, 'name' => 'webhook-1', 'middleware' => [CustomMiddleware::class], ] ]
注意:可调用类必须实现 AsanaActionInterface。注意:路由被强制使用 api/ 前缀,因此在这种情况下,最终路径将是 api/webhook。
示例
use Giagara\AsanaWebhook\Contracts\AsanaActionInterface; class FakeInvokableClass implements AsanaActionInterface { public function __invoke(array $payload) : void { // do something } }
之后,api/webhook 路由将被映射到您的可调用类。
可用命令
Webhook 列表
php artisan asana:list-webhook
注意:为此功能,在 .env 文件中创建 ASANA_WORKSPACE_ID 字段。
通过调用 此 URL 获取工作空间 ID
Webhook 创建
要创建 Asana 中的新 Webhook,您可以使用 CreateWebhookCommand 并调用
php artisan asana:create-webhook
它将询问资源 ID(请参阅 Asana 文档)和目标 URL(应已由 Asana 可达)。
您可以直接在命令中传递参数
php artisan asana:create-webhook --resource=1234 --target=https://example.com/api/webhook
php artisan asana:create-webhook --resource=1234 --route=route-name
“--route”参数是路由名称:请参阅 php artisan route:list
删除 Webhook
php artisan asana:delete-webhook {webhook_gid}
待办事项
- 创建 Webhook 列表命令
- 通过命令删除 Webhook
- 将中间件添加到路由配置中
- 将名称添加到路由配置中
- 通过路由名称触发
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志
贡献
有关详细信息,请参阅 贡献
安全
如果您发现任何安全问题,请通过电子邮件 giagara@yahoo.it 反馈,而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件