giagara/laravel-asana-webhook is a Laravel package for laravel asana webhook integration.
It currently has 4 GitHub stars and 7 downloads on Packagist (latest version 1.0.4).
Install it with composer require giagara/laravel-asana-webhook.
Discover more Laravel packages by giagara
or browse all Laravel packages to compare alternatives.
Last updated
This package let you integrate easily with Asana Webhooks.
Install the package via composer:
composer require giagara/laravel-asana-webhook
Publish config file with
php artisan vendor:publish --tags=asana-webhook
First of all you need to configure the personal access token to communicate with Asana. You can get it here: https://developers.asana.com/docs/personal-access-token
Add it in your .env file
ASANA_PERSONAL_ACCESS_TOKEN=your_token
Configure the routing by adding items to the route array in config file.
'routes' => [
'webhook' => AnInvokableClass::class
],
Alternatively the configuration can support name and middlewares
'routes' => [
'webhook' => [
'class' => AnInvokableClass::class,
'name' => 'webhook-1',
'middleware' => [CustomMiddleware::class],
]
]
NOTE: the invokable class must implements AsanaActionInterface.
NOTE: the route is forced to use api/ prefix so, in this case, the final path will be api/webhook.
Example:
use Giagara\AsanaWebhook\Contracts\AsanaActionInterface;
class FakeInvokableClass implements AsanaActionInterface
{
public function __invoke(array $payload) : void
{
// do something
}
}
After this the route api/webhook will be mapped to your invokable class.
php artisan asana:list-webhook
NOTE: For this feature create ASANA_WORKSPACE_ID field in .env file.
get workspace id by calling this url
To create a new webhook in Asana you can use the CreateWebhookCommand by calling:
php artisan asana:create-webhook
It will ask for resource id (see Asana documentation) and target url (that should be already reachable by Asana).
You can pass the parameters in command directly with:
php artisan asana:create-webhook --resource=1234 --target=https://example.com/api/webhook
php artisan asana:create-webhook --resource=1234 --route=route-name
The --route parameter is the route name: see php artisan route:list
php artisan asana:delete-webhook {webhook_gid}
composer test
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.