It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to display a nice error message when a Jira servlet plugin gets an error or exception?

I am trying to port a plugin from an ancient version of Jira to make it Jira 5.x compatible and I do want to display nice messages when someting goes wrong, messages that will appear in the UI.

The plugin is a servlet that is using velocity templates (.vm) for the pages.

I do want to display AUI Error message when an error occurs or an exception inside the plugin.

Is this possible how?

2 answers

1 vote
Florin Manaila Nov 22, 2012

Gather the errors in a catch block and add them to the velocity context.

try {
....
} catch (Throwable t) {
      velocityContext.add("error", true);
      velocityContext.add("error.message", "Some error message");
}

... and then check the $error in the velocity file.

Alexander Urzhumtsev Jun 19, 2013

Tell me pls, how to get velocityContext?

Alexander Urzhumtsev Jun 19, 2013

Thanks for fast answer. I have another question:

when I catched exception what do I need to display this velocity?

Florin Manaila Jun 19, 2013

The velocity context is a simple map of <String, Object> which you can create by yourself. If you'd like a "basic" velocity context with some common utilities pre-filled, you can use the static methods of JiraVelocityHelper or JiraVelocityUtils to create one.

Florin Manaila Jun 19, 2013

It actually depends on where you are doing this. What is the feature that you're trying to implement?

Alexander Urzhumtsev Jun 19, 2013

I have issue listener and need display errors for users

Nic Brough [Adaptavist] Community Leader Jun 19, 2013

Listeners do not have feedback mechanisms for users.

You need to change the process at the front end (i.e. the action lands at a different place from where Jira normally sends it), write data in the listener for something else to pick up later, or write the listener so that it pokes data at an alternative way of notifying a user that there has been an error (e.g. email)

Nic Brough [Adaptavist] Community Leader Jun 19, 2013

I assume you mean you don't want to use email, and you don't want to write data to be picked up later in Jira.

That leaves you with changing the landing point of a process. To do this, you need to pull apart the core code that starts your process (for example, an issue transition), work out how it decides the end point, and change that. You'll then need to provide a screen for display, and your listener will have to write data somewhere so that the screen can display it.

This is quite hard and complex. I'd suggest that you tell us what your actual requirement is, as there may well be a better way to do it than "use a listener and wedge in feedback"

Alexander Urzhumtsev Jun 19, 2013

I need display velocity immediatly for user (don't email). Where to forward this action?

0 votes
Onkar Ahire Jun 19, 2013

Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Posted in United States

Topic Tuesday: Agile

Another week, another Topic Tuesday!  Agile has been on my mind a lot lately because I've seen good implementations and bad implementations, but now as a Jira admin it matters more to me whether...

27 views 0 0
View post

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you