PHPackages                             traw/powermail-jira - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. traw/powermail-jira

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

traw/powermail-jira
===================

Base extension - Post powermail form submissions as jira issues

1.5.2(8mo ago)11481[2 issues](https://github.com/thomasrawiel/powermail-jira/issues)2GPL-3.0-or-laterPHPPHP ^8.1

Since Oct 8Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/thomasrawiel/powermail-jira)[ Packagist](https://packagist.org/packages/traw/powermail-jira)[ RSS](/packages/traw-powermail-jira/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelogDependencies (3)Versions (13)Used By (2)

powermail-jira-issues
=====================

[](#powermail-jira-issues)

Post powermail form submissions as jira issues

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

[](#installation)

This is the base extension, and doesn't work on it's own - please install either  or

Requirements
------------

[](#requirements)

You will need:

- at least 1 Jira project where you can post issues.
- A Jira user that is allowed to create issues in that project
- A personal access token, which you can get

Also see for more configuration infos:

Configuration
-------------

[](#configuration)

(work in progress)

It is recommended to have your credentials and security related configuration values in a seperated .env file

### Connecting to your Jira instance

[](#connecting-to-your-jira-instance)

```
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['powermail_jira'] = [
    'connection' => [
        'jiraHost' => getenv('JIRAAPI_V3_HOST'),
        'jiraUser' => getenv('JIRAAPI_V3_USER'),
        'personalAccessToken' => getenv('JIRAAPI_V3_PERSONAL_ACCESS_TOKEN'),
    ],
];

```

Add this e.g. in your additional.php configuration file

This user will also be the author of the created issues.

### Adding projects

[](#adding-projects)

For each project add a configuration array Each project can have multiple configurations that are by conditions

```
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['powermail_jira'] = [
    'connection' => [
        'jiraHost' => getenv('JIRAAPI_V3_HOST'),
        'jiraUser' => getenv('JIRAAPI_V3_USER'),
        'personalAccessToken' => getenv('JIRAAPI_V3_PERSONAL_ACCESS_TOKEN'),
    ],
    'issues' => [
        //required. configuration key, recommended to be the same as tca value, max 20 chars if tca value is empty
        'my_project_1' => [
            'tca' => [
                //required: label for the configuration select in the powermail form backend form
                'label' => 'Service Request in Project XYZ',
                //max 20 chars, leave empty to use configuration key
                'value' => '',
            ],
            //configuration used to create issues in Jira
            'issueConfiguration' => [
               //case 1: Used as configuration if powermail_fieldname has the value 'Powermail Field Value 01'
                [
                    'project_key' => 'JiraProjectKey',
                    'type' => 'Task', //Task, Story, etc.
                    'priority' => 'High',
                    'customFields' => [
                        'customfield_10000' => ['name'=>'Group name'], //group field
                        'customfield_10001' => ['value'=>'Value'], //select field (single)
                        'customfield_10002 => [ //select field (multiple)
                            ['value'=>'Value 1'], ['value'=>'Value 2'], /
                        ],
                        'customfield_10003' => 'Simple string value',
                        new \TRAW\PowermailJira\Domain\Model\CustomFields\SimpleValueCustomField('customfield_10004', 'simple string value'),
                        new \TRAW\PowermailJira\Domain\Model\CustomFields\SimpleValueCustomField('customfield_10005', ['value'=>'Value']), //select field (single)
                        new \TRAW\PowermailJira\Domain\Model\CustomFields\SimpleValueCustomField('customfield_10006', [ //select field (multiple)
                            ['value'=>'Value 1'], ['value'=>'Value 2'], /
                        ]), //select field (multiple)
                        new \TRAW\PowermailJira\Domain\Model\CustomFields\MarkerValueCustomField('customfield_10007', 'e_mailadress_marker_name'), //field from form by markername
                        new \TRAW\PowermailJira\Domain\Model\CustomFields\MarkerValueCustomField('customfield_10008', null, 1234), //field from form by field uid
                    ],
                    'labels' => ['label1', 'label2'],
                    'conditions' => [
                        'fields' => [
                            'powermail_fieldname' => ['Powermail Field Value 01'],
                        ],
                    ],
                ],
                //Case 2: Used as configuration if powermail_fieldname has the value 'Other Powermail Field value' AND powermail_fieldname2 does not have the value 1,2 or 3
                [
                    'project_key' => 'JiraProjectKey',
                    'type' => 'Task',
                    'priority' => 'Medium',
                    'assignee' => 'Assigned Username',
                    'labels' => ['Other label'],
                    'conditions' => [
                        'fields' => [
                            'powermail_fieldname' => ['Other Powermail Field value'],
                        ],
                        'notFields' [
                            'powermail_fieldname2' => [1,2,3]
                        ]
                    ],
                ],
                //default no condition, always added if no previous configuration condition matched
                [
                    'project_key' => 'JiraProjectKey',
                    'type' => 'Task',
                    'priority' => 'Medium',
                ],
            ],
        ],
    ],
];

```

Hint: The project key is the prefix of the issue number. In the example of JRA-123, the "JRA" portion of the issue number is the project key.

The label and project key are required.

**New with version 1.2.0/ 1.3.0**You can now add values from the form itself to custom fields by adding a `MarkerValueCustomField` to the custom field configuration.

See example above.

### Usage

[](#usage)

To enable posting to your Jira Board, make sure to add the static typoscript include `Add Powermail Jira Issues Finisher` to your page's template.

In your form, select the configuration [![Screenshot of the resulting selection in the powermail form](Documentation%2FImages%2FForm.jpg)](Documentation%2FImages%2FForm.jpg)

The title of the issue will be the subject of the email to the receiver, that you configure in the powermail plugin

All fields of the form will be added to the description of the issue

Uploads fields are detected automatically and files will be attached to the issue after it has been created.

**This extension is work in progess and can change anytime.**

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~33 days

Recently: every ~43 days

Total

11

Last Release

258d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e5b5f37bac2846cb2e47cf2a0dc737726e94e63a241c256c14b17333b00475f1?d=identicon)[thomas.rawiel](/maintainers/thomas.rawiel)

---

Top Contributors

[![thomasrawiel](https://avatars.githubusercontent.com/u/5371428?v=4)](https://github.com/thomasrawiel "thomasrawiel (28 commits)")

---

Tags

jiraTYPO3 CMSpowermailissues

### Embed Badge

![Health badge](/badges/traw-powermail-jira/health.svg)

```
[![Health](https://phpackages.com/badges/traw-powermail-jira/health.svg)](https://phpackages.com/packages/traw-powermail-jira)
```

###  Alternatives

[derhansen/sf_event_mgt

Configurable event management and registration extension based on ExtBase and Fluid

64313.9k6](/packages/derhansen-sf-event-mgt)[brotkrueml/schema

Embedding schema.org vocabulary - API and view helpers for schema.org markup

33584.6k13](/packages/brotkrueml-schema)[causal/extractor

This extension detects and extracts metadata (EXIF / IPTC / XMP / ...) from potentially thousand different file types (such as MS Word/Powerpoint/Excel documents, PDF and images) and bring them automatically and natively to TYPO3 when uploading assets. Works with built-in PHP functions but takes advantage of Apache Tika and other external tools for enhanced metadata extraction.

16244.5k](/packages/causal-extractor)[jweiland/events2

Events 2 - Create single and recurring events

2062.4k2](/packages/jweiland-events2)[mfd/ai-filemetadata

Automatically generates FAL metadata for files by means of public LLMs

1142.1k](/packages/mfd-ai-filemetadata)[mautic/mautic-typo3

Add-on TYPO3 extension that enhances the "EXT:marketing\_automation" TYPO3 extension by connecting it to the Mautic Marketing Automation platform: Determine "Persona" from Mautic segments. Also provides additional services e.g. language synchronisation between Mautic and TYPO3.

236.3k](/packages/mautic-mautic-typo3)

PHPackages © 2026

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