What's new in Power Scripts™ for Jira 4.0

Looking for the documentation on the newest versions of Power Scripts for Jira 8 for Server/Data Center? Click here !

We have added many great features to our Power Scripts for Jira 4.0 as well as improved the existing ones. Although we have changed the internal architecture of our apps suite, we of course kept the backward compatibility with Simple Issue Language or SIL. As you will see, we have also redesigned all administration pages making them aligned with the Atlassian guidelines. 

Contents

Updated to work with Simple Issue Language 4.0.

We maintained the backward compatibility with SIL. We have also updated Power Scripts for Jira in order to let you use all the goodies that SIL 4.0 brings.

Licensing

So far we used to disable our apps when the license expired. In order to make sure that your Jira installation is safe even if you forget to renew your license, in Power Scripts for Jira 4.0 we let the runtime execute your scripts as configured, however, the configuration and administration pages will be disabled. 

Power Scripts for Jira Agile and Jira Service Desk

We have incorporated JJUPIN Agile into Power Scripts. This way, you can use all the routines from Jira Agile without any additional purchase. Also, the support we had for Jira Service Desk has been incorporated as well. At the moment we have limited support for Jira Service Desk, this is in our roadmap, and we'll add this in the near future.

Mail Handler

You can now process incoming mail using SIL scripts. 

Here's a simple example on how you can parse an email:

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 and Services 

We have removed standard services from Power Scripts for Jira 4.0 – all your scripts will be migrated to the scheduler, because it provides a more flexible mechanism. 

The new scheduler does now keep the jobs alive across Jira restarts, like the SIL services did before.

SIL Listeners

Power Scripts for Jira 4.0 comes with even more versatile listeners. You can 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, this JQL functionality opens wide new possibilities for users. Take a look at the following JQL examples:

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 Power Scripts. Starting with version 4.0, we have introduced a stop script, which (thanks to the integration with JJupin Agile) can also be used with Jira Agile routines. This was not possible on the older versions because the start (and now stop) sequence would have JJupin Agile app disabled before the script was executed.

Workflow Viewer

We have simplified the workflow viewer screen. Now you can see how the screens will look like for a given issue type.

Changes In SIL Engine™

These changes are explained in depth here. We'll list the main changes here as well:

  1. Datasources – Now you can define your databases directly in a dedicated page. The old mechanism (JNDI) will still work, but you definitely will find it more convenient to define the connection pool at a global level.
  2. Multiple LDAPs are now supported – We have provided support for multiple LDAPs and have also designed a new configuration page for LDAP.
  3. We unified our thread pools. You will now be able to see what scripts are running at the moment and will be able to adjust the parameters accordingly.
  4. We have extended the template support so you can add SIL snippets into your email templates.
  5. Scripts can now be stored either on disk or in the database.