App Review: Jira Misc Workflow Extensions

Paid Partnership with Innovalog.

So, readers, I’m going to be honest here. I have had more than a few App Vendors reach out to me to write reviews of their products – especially since I did “App Month” back in July. However, when Innovalog reached out to me, one of their first lines caught my attention.

“I work for Innovalog, we make [Jira Misc Workflow Extensions] – I really appreciate the honest approach in comparison to [Jira Workflow Toolbox]. Clearly, you are a JWT fan.”

Innovalog, talking about The Jira Guy Blog, 2020

This statement made me go, “Woah, hold on a minute.” It’s not that I’m not a fan of any Apps – I very much am. But that is usually because they are such a game-changer that they make me re-evaluate how I work. These are usually the Apps that get an “S” Tier ranking on my Tier Rank Scale. And as you can see below, I’m not generous with the “S” Tier ranking.

No, when it comes to the various workflow apps, I consider them like various wrenches. They all essentially do something similar, but each one’s unique design makes it suited to a slightly different application or use case. 

Now, I’ve already looked at JMWE once as a part of my omnibus “Jira App Tier List” review. At that time, I gave them an “A” Tier ranking – which I still stand by. However, I also gave them all of four sentences back then to explain my position. So, considering they are today’s sponsor, let’s take a more in-depth look at what JMWE is, what problems they solve, what makes them unique in the Atlassian Marketplace, and when you’d want to use them.

Problem Statement and Solution

One of the most prominent concepts I had to get my head around as a Jira Admin is people work in Time. What do I mean by that? Well, People don’t usually live off points alone. When estimating work, we do it either directly in person-hours or use some metric like Velocity to convert points, T-shirt sizes, or whatever value we use to a unit of time. 

So the most important item to understand when setting up any automation is, “When does this thing happen?” And one of the most natural points in time for an Automation to execute is during a Status change. At this point, someone is already doing something to the issue, so if values need to change, this is likely where it should be.

Considering we are already in a Status change, otherwise known as a Transition, using a Transition Post Function is where I would first look to execute this Automation. However, the default list of Post Functions is a bit…puny.  

What!? That’s it!?

Without any apps, there are six post functions in Jira. And the one that looks like it would be the most useful, “Update Issue Field,” only works on built-in Fields, not any Custom fields! Conditions are a bit better off, with some twelve options. But poor Validators only have two options, both based on whether you or someone else has permissions.  

This lack of options is the problem that JMWE tries to solve. It gives you many more options for post functions, conditions, and validators, letting you automate aspects of your workflow. They even have a method to create functionality if you need something they don’t have! But we’ll cover that in a moment.

Now to be clear, JMWE was my first workflow App. I inherited my first Jira instance, and the Admin before me had kept a well-maintained system. In it, they had installed JMWE, and it took me an embarrassingly long time to figure out Jira didn’t come with all the nifty workflow functions out of the box. But given it was my first Workflow App, JMWE holds a special place in my heart. 

So given that, why don’t we look at what features JMWE offers and what you can do with them.

Features

40+ configurable conditions, validators & post-functions

This feature is the meat-and-potatoes of the App, in my opinion. If you are getting this App, these configurable workflow objects will be what makes you choose this over other similar Apps.

I like the analogy of them being different kinds of wrenches. Because workflow Apps all have slightly different functions, they are suitable for different situations.

When I’m trying to narrow down which one to recommend for purchase, I look to the specific use-case I am trying to solve (a.k.a. “What’s the ask?”), then figure out what post functions, validators, and conditions are available to solve it. That will usually help me figure out which one is appropriate for my case. So, what’s available with JMWE? A lot!

Conditions:

  • Current Status Condition
  • Hide transition
  • Previous Status Condition
  • Related Issues Condition
  • Related Issues Status Condition
  • Scripted (Groovy) Condition
  • Separation of Duties Condition

Validators:

  • Comment Required Validator
  • Field has been modified Validator
  • Field has single value Validator
  • Fields Required Validator
  • Parent Status Validator
  • Previous Status Validator
  • Related Issues Status Validator
  • Related Issues Validator
  • Scripted (Groovy) Validator

Post Functions:

  • Add field value to parent issue
  • Assign to last role member
  • Assign to role member
  • Clear field(s)
  • Clear field(s) of related issues
  • Comment issue
  • Comment related issues
  • Copy field value from parent issue
  • Copy field value from related issues
  • Copy field value to parent issue
  • Copy field value to related issues
  • Copy value from field to field
  • Create / Clone issue(s)
  • Display message to user
  • Email issue
  • Increase value of field
  • Link issues to the current issue
  • Return to Previous Status
  • Scripted (Groovy) operation on issue
  • Set field value
  • Set field value from User Property value
  • Set field value of related issues
  • Set issue security level based on current user’s project role
  • Set issue, user or project Entity Property value
  • Transition current issue
  • Transition parent issue
  • Transition related issues
  • Unlink issues from the current issue

Build-your-own (scripted) extensions with  JMWE’s simple editor & tester

So I alluded to these in my list above, but this is a new feature to me. This feature allows you to create Groovy scripts that run as either a validator, condition, or post function. What can these do? Well, that depends on how good your Groovy skills are. But this does take the App from being an otherwise curated collection of post functions to something you can fit to your needs. 

Now, I’ve made no secret that my Groovy skills are non-existent. However, the editor they provide tries to help you out as much as possible, meaning that even a novice like me can get in there and start experimenting and working. Then it’s just a matter of my favorite programming methodology: Change something and see what happens.

View Issue Transitions tab

This feature creates a new tab on your issues page called “Transitions”. Here you can see precisely when different transitions occurred, who did it, and when that transition took place. I know this is a top question, and digging through the “History” tab can be a bit of a chore. I love how this looks. While not a deal-maker in and of itself, it’s something to make the App that much more appealing.

Shared Actions – reuse post-function configurations

This. This feature. There are times that I’ll have to use a post function in several parts of the workflow. And nothing changes on the post function, other than it’s on a different transition. Having the ability to set it once and share it amongst transition would save me a lot of time in these scenarios. And anything that saves me time makes me a happy Jira Admin.

Unfortunately, this feature appears to only be for Cloud at the moment, but I’m hoping they’ll consider porting it over to the Server and Data Center Versions – because I neeeeed it!

Scheduled Actions

This feature is another Cloud-Only feature at the moment, but I figured I’d cover it as well. As I stated at the start of the piece, Automations of any sort have to have a time component figured out. While a status change as a trigger makes sense a lot of the time, it’s not universal. So the Cloud version of JMWE gives you another option: Just trigger it off time. Hence the scheduled action. I’ve had times where I had an even that would need to be run every first of the month for reporting purposes. This feature would help out with just that. 

My Analysis

What this App does Well

While I see this App is branching out, it doesn’t forget what it does well and sticks to that. Sometimes you need a specialty knife designed for a specific purpose and is just really good at that purpose. It has a varied and broad set of Post Functions, Conditions, and Validators. And if you manage to find a use case it doesn’t cover, you have the option to script your own. And while it has its own extra functionality, like the “Transitions” view on Issues, it doesn’t forget what it’s here to do.

What this App could work on

Well, that’s easy enough. As I stated above, the Cloud version of this App has several features that I’d love to see in the Server/DC version as well. I know that full feature parity may never be possible, but I would love to see the Shared Actions in my Server instance.

Would I recommend this App?

Well, Yes! I already have once, after all. Look, every instance can use a Workflow App of one flavor or another. And while I don’t believe in a “One size fits all” approach, you definitely can’t go wrong with JMWE.

JMWE’s Tier Rank

Honestly, this is the most straightforward ranking I’ve had – because I’ve already done it! This App, if it’s in your mix, is a must-have. It’s not a groundbreaking game-changer, but it does fill an almost vital niche. Given that, I have no problem giving it an “A” Rank….again.

And that’s it for JWME!

Do you depend on a workflow App? I’d love to hear some of your use cases! You can follow and leave a comment on LinkedIn, Twitter, or Facebook. We are even on Instagram! If you find what I do here valuable, you can also subscribe to me on Patreon for even more The Jira Guy content! I release content there that is Patreon exclusive – meaning it will never appear on the main blog! Or you can subscribe below to get content delivered directly to your inbox! This is the fastest way to be notified of new content. But until next time, my name is Rodney, asking, “Have you updated your Jira Issues today?”

2 Comments

  1. Funny, I inherited an instance with both JMWE and JSU on it, and was horrified to see that vanilla Jira (on-prem) came with such paltry out-of-the-box post functions.

    You’ve reminded me that I should leave some of these add-ons nice (and constructive) reviews on the Marketplace…

    Like

  2. However, while server apps are built for single-server deployments, many customers successfully install them in Data Center products. If you’re using a Data Center product, Atlassian recommends you contact the vendor to determine compatibility at scale. For server apps, academic licenses are available at a 50% discount if you have an academic license for your Atlassian product.

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.