rjvandoesburg / laravel-jira-webhook by rjvandoesburg

An endpoint for your Laravel application to listen to Atlassian's Jira webhook events
5,948
4
1
Package Data
Maintainer Username: rjvandoesburg
Maintainer Contact: rjvandoesburg@gmail.com (Robert-John van Doesburg)
Package Create Date: 2017-03-19
Package Last Update: 2021-11-16
Language: PHP
License: MIT
Last Refreshed: 2024-04-27 03:08:15
Package Statistics
Total Downloads: 5,948
Monthly Downloads: 8
Daily Downloads: 0
Total Stars: 4
Total Watchers: 1
Total Forks: 3
Total Open Issues: 3

Add a Jira webhook endpoint to your Laravel 5 application

Build Status

This package adds a route to your laravel application to handle the webhook events sent by Jira

Install

You can install the package via composer:

composer require rjvandoesburg/laravel-jira-webhook

You must install this service provider:

// config/app.php

'providers' => [
    ...
    Atlassian\JiraWebhook\JiraWebhookServiceProvider::class,
    ...
];

If you're planning on linking your own events you must publish the config file with this command:

php artisan vendor:publish --provider="Atlassian\JiraWebhook\JiraWebhookServiceProvider"

A file named jira-webhook.php will be created in the config directory under the folder atlassian. The options you can set are as followed key is the dispatched event by Jira and the value is the event class to fire. By default all events have a data property that holds the data sent by Jira.

return [

    'events' => [
        'jira:issue_created' => \Atlassian\JiraWebhook\Events\Issue\Created::class,
        'jira:issue_updated' => \Atlassian\JiraWebhook\Events\Issue\Updated::class,
        'jira:issue_deleted' => \Atlassian\JiraWebhook\Events\Issue\Deleted::class,

        /**
         * Will be deprecated in the future and be replaced by worklog_updated
         * Still catching the events because it is still being sent out
         *
         * @see https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-worklog-data-in-issue-related-events-for-webhooks/
         */
        'jira:worklog_updated' => \Atlassian\JiraWebhook\Events\Issue\WorklogUpdated::class,

        'worklog_created' => \Atlassian\JiraWebhook\Events\Worklog\Created::class,
        'worklog_updated' => \Atlassian\JiraWebhook\Events\Worklog\Updated::class,
        'worklog_deleted' => \Atlassian\JiraWebhook\Events\Worklog\Deleted::class
    ]
];

Usage

To handle the events you need to either register listeners to you EventServiceProvider or listen to the events manually. Please see https://laravel.com/docs/events#defining-listeners for more information.

Credits

License

The MIT License (MIT). Please see License File for more information.

To do

  • Make url configurable
  • Catch All events Available events
  • Implement broadcasting events