We have added many great features in JJUPIN 4.0, from the introduction of new features to the change of others. Although we have changed the internal architecture of our plugins suite, we kept, of course, the backward compatibility with SIL. As you will see, we have also the redesigned all the administration pages, making them aligned to the Atlassian guidelines.
Updated to work with Simple Issue Language 4.0.
As we have already said, we maintained the backward compatibility with SIL. We have also updated JJUPIN in order to let you use all the goodies SIL 4.0 brings.
Licensing
So far we used to disable our plugins when the license expired. In order to make sure that your JIRA installation is safe even if you forget to buy or change your license, in JJUPIN 4.0 we let the runtime execute your scripts as configured, however, the configuration/administration pages will be disabled.
JJUPIN Agile & JIRA Service Desk
We have incorporated the JJUPIN Agile support in JJUPIN. This way, you can use all the routines from JIRA Agile without any other purchase. Also, the support we had for JIRA Service Desk has been incorporated, as well, in this JJUPIN 4.0.
At the moment we have only little support for JSD. We know that you expect us to provide more and more routines & Live Fields support, and we'll try to do this in the near future.
Mail Handler
You can now process incoming mail using SIL scripts.
A simple example on how you can parse an email is this one:
IncomingEmail mail = getIncomingEmail(); string issueKey = matchText(mail.subject, "[A-Z][A-Z]+-[0-9]+"); if(isNull(issueKey)) { string [] fields = {}; fields += {"reporter", currentUserKey()}; fields += {"assignee", getUserByEmail(mail.cc[0]).key}; string k = createIssue("TEST", "", "Task", mail.subject, "Minor", mail.body, {}, "", "", 0, fields); attachAllFilesFromEmail(k); %k%.watchers = getUserKeysFromEmails(mail.cc); } else { addComment(issueKey, currentUserKey(), mail.body); }
Scheduler & Services
We have removed standard services from JJUPIN 4.0 - all your scripts will be migrated to the scheduler, since it provides a more flexible mechanism.
The new scheduler does now keep the jobs alive across JIRA restarts (as the SIL services did before).
SIL Listeners
JJUPIN 4.0 comes with some more versatile listeners. You may now configure multiple listeners for the same event or multiple events mapped on the same listener and re-order the execution of the scripts.
SIL JQL
Long awaited, at least by our integration team, this JQL functionality opens wide new possibilities for users. Some simple JQL examples are below:
key in silJQLExpression('not elementExists(watchers, reporter)', 'project = TEST') project = TEST and key in silJQLExpression('reporter == assignee', '')
For simple filters you can use boolean expressions, no matter how complicated.
For more general searches you have to use two or more JQL functions, namely 'silJQL(silfile, params ...)', returning a single result (such as you can use it with =, ~, ...), and 'silJQLList(silfile, params ...)' returning multiple results (operators 'in', ...). These two can be used to dynamically return priorities, components, and so on.
Start/Stop Scripts
As you may know, we already had a start up script mechanism in our older versions of JJUPIN. Since version 4.0, we have also added a stop script, which, thanks to the integration with JJUPIN Agile, can also be used with JIRA Agile routines. On the older versions, this was not possible, since the start (and now stop) sequence would have JJUPIN Agile plugin disabled before the script was executed.
Workflow Viewer
The workflow viewer screen has been simplified. You are now able to see how the screens will look like for a given issue type.
Changes In KATL-COMMONS
These changes are explained in depth here. However, we'll review the main changes quickly here:
- Datasources - You can now define your databases directly in our dedicated page. The old mechanism (JNDI) will still work, but you will, for sure, find it more convenient to define the connection pool at a global level.
- Multiple LDAPs are supported now - We now support many LDAPs and have also designed a brand new configuration page for LDAP.
- We unified our thread pools. You will now be able to see live what scripts are running at the moment and you can adjust the parameters accordingly.
- We have extended the template support so you can now add SIL snippets into your email templates.
- Scripts can now be stored either on disk or in the database.