Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

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

Table of Content Zone

Table of Contents

SIL Engine was published into Cloud more than a year ago, initially as an experimental project. The latest release is pushing this add-on into your real life.

Our aims were, and still are to give power of scripting to the users on Cloud and to allow as much integration as the user wants. We opened database acess / LDAP integration / mail integration / etc while preserving security.

::TODO:: better intro

Introducing the next generation of automation for the next generation of Jira, Power Scripts for Jira Cloud version 1.1.0. Built for reliability and speed, this platform gives you the flexibility of scripting and the power to integrate with all your business systems such as email systems, LDAP servers, and external databases, all while preserving security.

Changes in the New Version

...

  1. GDPR compliance
  2. User under which add-on runs
  3. Stability and performance fixes.
  4. SIL Manager got its has a log viewer and output console so you can test scripts and view what's really going on that with your Jira instance of yours

GDPR, Jira and the Power Scripts add-on. Also, who runs this?

...

Starting with the latest version, all calls which are made on Jira are made with the add-on user, and we are not acting anymore as the real user. This change was necessary to avoid confusion, since many users complained that they cannot run scripts for regular users. Now, if you provide the necessary rights to the add-on, you can pretty do anything we have capabilities for.

Note

You must understand that, on Cloud, at the level of the script, the user is just 'simulated'. We are no longer like in the server solution, in the same memory space as Jira. There are no real users at the level of the "engine". runAs() routine just establishes what currentUser() will return.

(warning) Due to the nature of this change, you will need to re-code the scripts accordingly. Sorry for that, there was no way to circumvent that. (warning)

Code Block
//example
assignee = "john"; //doesn't work anymore, safer alternative is:
assignee = usernameToUserKey("john"); //assume john didn't opt for strong privacy
// however, this will always work:
const string JOHN_ACCOUNT_ID = "ah383-1bb6-56"; //replace with real account-id
assignee = JOHN_ACCOUNT_ID; //yay!

Performance & Stability

We finally had time to re-work the add-on to be Now fully asynchronous for all I/O operations . We basically re-written the entire Atlassian Connect framework to perform asynchronous IO, thus enabling faster response times. On the engine side, we lowered the memory consumption and cleaned up a number of bugs. We have also removed a library that was causing trouble under load with a better and safer alternative.and improved performance and stability under load. Statistics are now presented on the SIL Engine status page, while record logs are shown in the engine management page

Architecture of the solution was notably changed, in part because in the very beginning we were very conservative not knowing what path is laid ahead. cPrime is determined to accelerate investment in the cloud solution, so the new architecture enables just that.


SIL Manager Console & Log Access

We believe it is one of the most important change, since now you can see the errors for yourself and understand what's going on there so you can keep your instance smoothly running. We'll just post some imagery here, since words seems seem futile:

We hope that this will ease the pain of the SIL developers, who were unaware of the problems of their own scripts, and also allow us to do faster fixes on the engine, when they are needed, because you will report them, right ?.

Differences between Cloud and Server

There are notable differences between the cloud solution and the server addonadd-on. While the most important ones are listed below, bear in mind that that may be others as well. Jira Cloud is evolving as we speak, and we'll evolve with it.

Asynchronous Processing Model

...

There are less integration points on Jira Cloud than on server. Specifically, we are talking about the fact that workflows cannot have conditions (because asynchronicity above) or validators (same). The addon add-on itself doesn't run free, but it's embedded in an iframe - like in a cage of some sort - for security reasons. Therefore there will never be something like LiveFields implemented for cloud. We are restricted at what Jira offers as integration points, i.e. workflow post-functions, listeners, schedulers, panels, etc

...

Many of the routines found in Jira Server do access internal APIs, allowing PowerScripts Power Scripts to do crazy things, or even jump between plugins, getting and updating data everywhere. On cloud, we are limited to the REST Api Jira provides, and as of now, we know many are still missing. We're trying to cover as much ground as possible in the shortest time, but please, do engage with us and tell us what you need, it will bump priorities in our backlog.

The routines that you can use on cloud are label with ps_cloud. Please note that there may be differences in the way the routines are called or on the return type, between versions. You'll find all the information in the documentation page of every routine.