> **Licensing:** this add-on is a thin wrapper licensed under **Apache 2.0**. It contains no code of its own and simply pulls in the **Issue Tracker AppJar** modules, which are **commercial software** distributed under the [AppJars Software License Agreement](https://www.appjars.com/legal/license/v1/). You can use Issue Tracker for free in **free mode** (every feature works, limited to 5 users, 5 open issues and 10 time entries logged per day). A license removes all limits. See [Licensing](https://docs.appjars.com/licensing/).
**Issue Tracker** embeds a complete issue tracking system in your application, with user and administration views built with Vaadin Flow. Organise work in projects, move issues through workflows you define, log the time spent on them and keep every change in an audit history, without sending your users to an external tool and with all data stored in your own database.
## Features
- **Configurable workflows:** define statuses and the transitions each role may perform for every tracker (e.g. only managers can move an issue to "Approved").
- **Field-level permissions:** make standard and custom fields read-only, required or hidden for each combination of role and status.
- **Custom fields:** extend projects, issues and time entries with typed fields (text, list, date, boolean, file, user and more) with validation rules.
- **Projects and time tracking:** nest projects into sub-projects, log hours by activity type and compare estimated with spent time in reports.
- **Filtering and saved queries:** filter issues by any combination of criteria and custom fields, and save the filter and column selection for reuse.
- **Audit history and notifications:** every change is recorded in the issue's journal, and watchers receive email notifications on updates.
## Installation
If your project doesn't declare it yet, add the Vaadin add-ons repository:
```xml
vaadin-addons
https://maven.vaadin.com/vaadin-addons
```
Add the dependency. The wrapper declares the AppJars repository (`https://maven.appjars.com`), so Maven resolves the modules automatically:
```xml
org.vaadin.addons.appjars
appjars-issue-tracker
2.0.2
```
- **Gradle** ignores repositories declared in dependency POMs, so add `maven { url "https://maven.appjars.com" }` to your repositories.
- **Nexus/Artifactory mirroring everything (`mirrorOf *`):** your administrator needs to add a proxy for `https://maven.appjars.com`.
Then follow the [Getting started guide](https://docs.appjars.com/issue-tracker/getting-started/).
## Requirements
- Java 21
- Vaadin 25.2
- Spring Boot 4.1
- JPA / Hibernate with a relational database (the Redmine-compatible schema is generated on first run)
- An SMTP server for issue notifications
- A `LoggedInUsernameProvider` bean that supplies the authenticated user ([details](https://docs.appjars.com/issue-tracker/developer-guide/))
## Included dependencies
| Artifact | License |
|---|---|
| `com.appjars:appjars-issue-tracker-flow` | AppJars Software License Agreement v1 (commercial) |
| `com.appjars:appjars-issue-tracker-business-impl` | AppJars Software License Agreement v1 (commercial) |
| `com.appjars:appjars-issue-tracker-data-impl` | AppJars Software License Agreement v1 (commercial) |
These modules transitively bring in the rest of the Issue Tracker modules and `appjars-*-utils` (same commercial license), plus open-source libraries such as Vaadin add-ons by Flowing Code (Apache 2.0).
## Links
- [Product page](https://www.appjars.com/catalog/issue-tracker/)
- [Documentation](https://docs.appjars.com/issue-tracker/overview/)
- [Demo application](https://github.com/AppJars/issue-tracker-demo)
- [Licensing and free mode](https://docs.appjars.com/licensing/)
AppJars are built and maintained by [Flowing Code](https://www.flowingcode.com).