ErrorReporting SPI for Jira

This module (incode-module-errorrptjira-impl) provides an implementation of Apache Isis' ErrorReportingService SPI. Whenever an error page is displayed to the user, the implementation will automatically log the details in JIRA and provide the ticket reference to the end-user.

API & Implementation

This module provides ErrorReportingServiceForJira domain service as an implementation of the ErrorReportingService:

public interface ErrorReportingService {
    Ticket reportError(final ErrorDetails errorDetails);

where the returned Ticket determines what is shown on the error page for the end-user. In the case of this implementation:

public class Ticket implements Serializable {
    private final String reference;                     (1)
    private final String userMessage;                   (2)
    private final String details;                       (3)
    private final StackTracePolicy stackTracePolicy;    (4)
    private final String kittenUrl;                     (5)
1 the JIRA issue number, eg "SUP-1234"
2 the main error message to display to the user. This defaults to:
3 optionally, additional details (shown in a smaller font). This defaults to:
4 whether the end user should be able to view the stack trace. This implementation ALWAYS HIDES the stack trace.
5 the URL of an image to display, if any. This implementation never shows any image.

How to configure/use


Update your classpath by adding this dependency in your dom project’s pom.xml:


Check for later releases by searching Maven Central Repo.

For instructions on how to use the latest -SNAPSHOT, see the contributors guide.

Configuration Properties

The following configuration properties are required (either in or through the AppManifest); for example:

isis.service.errorReporting.jira.issueType="IT Help"

Optionally the message text and details can be changed:


There currently is no mechanism to localize the message.


In the AppManifest, update its getDependencies() method, eg:

public Set<Module> getDependencies() {
    return Sets.newHashSet(
            new org.incode.module.errorrptjira.ErrorReportingJiraModule(),

Known issues

None known at this time.


Maven can report modules dependencies using:

mvn dependency:list -o -pl modules/spi/errorrptjira/impl -D excludeTransitive=true

which, excluding Apache Isis itself, returns these compile/runtime dependencies: