PHPackages                             stichoza/jira-webhooks-data - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. stichoza/jira-webhooks-data

ActiveLibrary[API Development](/categories/api)

stichoza/jira-webhooks-data
===========================

PHP classes for Atlassian Jira webhook data structures

v5.0.4(2y ago)01.6k1UnlicensePHPPHP ^8.2

Since Jul 22Pushed 2y agoCompare

[ Source](https://github.com/Stichoza/jira-webhooks-data)[ Packagist](https://packagist.org/packages/stichoza/jira-webhooks-data)[ Docs](https://github.com/stichoza/jira-webhooks-data)[ RSS](/packages/stichoza-jira-webhooks-data/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (2)Versions (12)Used By (1)

Jira Webhooks Data
==================

[](#jira-webhooks-data)

[![Latest Stable Version](https://camo.githubusercontent.com/544679b6ccdae55c42e435ecfea276a56d529e6c9eef787e795bebf94f15a5b3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f53746963686f7a612f6a6972612d776562686f6f6b732d646174612e737667)](https://packagist.org/packages/stichoza/jira-webhooks-data) [![Total Downloads](https://camo.githubusercontent.com/e17c8342fe211aa290e1546d55bed12c8647b12dd1af123b3467651e06ed6f26/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f53746963686f7a612f6a6972612d776562686f6f6b732d646174612e737667)](https://packagist.org/packages/stichoza/jira-webhooks-data) [![Downloads Month](https://camo.githubusercontent.com/f76be872b4104404150bef0bd5daab339d626bddadc05499b1ddb24e86b7f4fa/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f53746963686f7a612f6a6972612d776562686f6f6b732d646174612e737667)](https://packagist.org/packages/stichoza/jira-webhooks-data) [![Petreon donation](https://camo.githubusercontent.com/3566813b4190b2759b0439c2147228bec3a5a0f1ec6b7e0302305802431a7c3d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f70617472656f6e2d646f6e6174652d6f72616e67652e737667)](https://www.patreon.com/stichoza) [![PayPal donation](https://camo.githubusercontent.com/b48a7f9ca978349b83c641e4901221d7e84374bcb3300a43f739835cf930e802/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f70617970616c2d646f6e6174652d626c75652e737667)](https://paypal.me/stichoza)

This is PHP library for processing and handling Atlassian [Jira webhook](https://developer.atlassian.com/jiradev/jira-apis/webhooks) data.

If you're looking for the **Laravel** package with events and routes, check out [stichoza/jira-webhooks-laravel](https://github.com/Stichoza/jira-webhooks-laravel) package that includes this package as data structures.

> **Note:** This package was originally forked from [kommuna/jirawebhook](https://github.com/kommuna/jirawebhook) which is meant to be used with the [kommuna/vicky](https://github.com/kommuna/vicky) and has support of League events and message converters. This package, on the other hand, is a separate package because the whole structure is rewritten to the point that it's no longer compatible with the original repo. Kudos to the developers of the original package!

Installation
------------

[](#installation)

Install this package via Composer:

```
composer require stichoza/jira-webhook-data

```

Usage
-----

[](#usage)

```
// Example payload received from Jira webhook
$data = [
    "timestamp" => 1629835026055,
    "webhookEvent" => "jira:issue_updated",
    // ... other webhook data ...
    "issue" => [
        // ... issue data ...
    ],
    "changelog" => [
        // ... changelog data ...
    ],
    // ... other data ...
];
```

Create an instance of `JiraWebhookData`:

```
use Stichoza\JiraWebhooksData\Models\JiraWebhookData;

$webhookData = new JiraWebhookData($data);
```

Now you can access the parsed data from the webhook:

```
$message = 'New comment by ' . $webhookData->comment->author->displayName
    . ' on issue ' . $webhookData->issue->key;
    . ': ' . $webhookData->comment->body;
```

More properties listed below:

```
$timestamp = $webhookData->timestamp;
$webhookEvent = $webhookData->webhookEvent;
$issueEvent = $webhookData->issueEvent;
$user = $webhookData->user; // JiraUser instance
$issue = $webhookData->issue; // JiraIssue instance
$changelog = $webhookData->changelog; // JiraChangelog instance
$worklog = $webhookData->worklog; // JiraWorklog instance
```

Access specific properties from the `JiraIssue` instance

```
$issueId = $issue->id;
$issueKey = $issue->key;
$issueTypeName = $issue->issueTypeName;
$priorityName = $issue->priorityName;
```

Access specific properties from the `JiraUser` instance

```
if ($user) {
    $userAccountId = $user->accountId;
    $userDisplayName = $user->displayName;
    // ... and other properties ...
}
```

Access specific properties from the `JiraChangelog` instance

```
$changelogId = $changelog->id;
$changelogItems = $changelog->items; // Array of JiraChangelogItem instances
// ... and other properties ...
```

You can also perform additional checks or operations based on the parsed data

```
if ($issue && $issue->isStatusResolved()) {
    // Do something for resolved issues
}

if ($user && $user->active) {
    // Do something for active users
}
```

Read more about properties and methods in the `src/Models` folder.

Error Handling
--------------

[](#error-handling)

Object constructors will throw a `Stichoza\JiraWebhooksData\Exceptions\JiraWebhookDataException` exception when incorrect or insufficient data is provided. Make sure you wrap your code in try-catch block.

```
use Stichoza\JiraWebhooksData\Models\JiraWebhookData;
use Stichoza\JiraWebhooksData\Exceptions\JiraWebhookDataException;

try {
    $webhookData = new JiraWebhookData($data);
} catch (JiraWebhookDataException $e) {
    // Handle the error
}
```

Also keep in mind that certain properties will not be present in response depending on the Jira event. Make sure you check that objects/properties are not null.

```
$to = $webhookData->issue?->assignee?->email;

if ($to !== null) {
    // Do something
}
```

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

10

Last Release

1064d ago

Major Versions

v2.0.1 → v3.0.02023-07-23

v3.0.1 → v4.0.02023-07-24

v4.0.0 → v5.0.02023-07-24

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1139050?v=4)[Levan Velijanashvili](/maintainers/stichoza)[@Stichoza](https://github.com/Stichoza)

---

Top Contributors

[![Chewbacca96](https://avatars.githubusercontent.com/u/20818570?v=4)](https://github.com/Chewbacca96 "Chewbacca96 (63 commits)")[![Stichoza](https://avatars.githubusercontent.com/u/1139050?v=4)](https://github.com/Stichoza "Stichoza (39 commits)")[![elenakolevska](https://avatars.githubusercontent.com/u/26108749?v=4)](https://github.com/elenakolevska "elenakolevska (23 commits)")[![l80](https://avatars.githubusercontent.com/u/4639257?v=4)](https://github.com/l80 "l80 (5 commits)")[![kommuna](https://avatars.githubusercontent.com/u/11232970?v=4)](https://github.com/kommuna "kommuna (4 commits)")[![alebedev80](https://avatars.githubusercontent.com/u/777096?v=4)](https://github.com/alebedev80 "alebedev80 (1 commits)")

---

Tags

atlassianeventsjirawebhookwebhooksreflectionwebhookjiraatlassian

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/stichoza-jira-webhooks-data/health.svg)

```
[![Health](https://phpackages.com/badges/stichoza-jira-webhooks-data/health.svg)](https://phpackages.com/packages/stichoza-jira-webhooks-data)
```

###  Alternatives

[kyon147/laravel-shopify

Shopify package for Laravel to aide in app development

482287.3k](/packages/kyon147-laravel-shopify)[thecatontheflat/atlassian-connect-bundle

Atlassian Connect Symfony Bundle

357.6k](/packages/thecatontheflat-atlassian-connect-bundle)[stymiee/authnetjson

Library that abstracts Authorize.Net's JSON APIs. This includes the Advanced Integration Method (AIM), Automated Recurring Billing (ARB), Customer Information Manager (CIM), Transaction Reporting, Simple Integration Method (SIM), and Webhooks.

19585.5k](/packages/stymiee-authnetjson)[kayedspace/laravel-n8n

A complete, expressive, and fluent Laravel client for the n8n public REST API and Webhooks Triggering.

1409.0k1](/packages/kayedspace-laravel-n8n)[univerze/laravel-jira

Laravel5 service for Jira REST api to search and create issues

158.0k](/packages/univerze-laravel-jira)[jouwweb/sendcloud

Provides a client to interact with the Sendcloud API in an object-oriented way.

17273.4k1](/packages/jouwweb-sendcloud)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
