giagara/laravel-asana-webhook

Laravel Asana Webhook 集成

1.0.4 2023-05-01 13:55 UTC

This package is auto-updated.

Last update: 2024-09-20 11:54:16 UTC


README

CI/CD Packagist codecov

此包让您轻松与 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)。有关更多信息,请参阅 许可文件