Giving the Go-Ahead: Approvals in Jira Service Management

Jira Service Management (JSM) includes a variety of features beyond what is available in Jira Software or Jira Work Management. One of the most powerful features is the ability to require an approval on any request. You can even require that a request be approved before an issue shows up in the service team’s queue. 

Approvals are useful for traditional ITSM processes – think of change management – but are also one of the key features that makes JSM a great solution for non-tech teams. Consider how many HR or Finance processes need to be approved before they can be carried out. Understanding (and being able to demonstrate) how approvals work helps promote Jira adoption by other service teams across the organization.

In my Jira Service Management: Administration course, you’ll learn all about how to set up approval. You’ll learn:

  • What types of requests typically require an approval
  • How approval requirements impact your Jira workflow
  • How to control who can approve a request
  • How to set up multiple layers of approvals
  • Licensing requirements for approvers in Jira
  • How to notify approvers that there is a request they need to act on
  • What happens to requests that don’t get approved
JSM issues and requests have multiple approval states

And who are these “approvers” anyway? We’ll also look at the various ways to define who can approve a request (by request type, change advisory board (CAB) membership, user input etc.)

Adding approval to a JSM workflow

After examining scenarios that typically require an approval, we’ll go through the set up process step by step – from adding the appropriate transitions to your workflow, to customizing your approver notification email message. Then we’ll dig into some of the more advanced features – like forcing an approval or allowing agents to cancel the request. Finally, we’ll use JQL to search for requests that are pending an approval.

The course is designed with precise explanations and real world examples. I also include quizzes and challenges (with solutions) that you can try in your own Jira application to cement your learning. Once you understand how approvals work in Jira, you’ll have a firm foundation for implementing JSM for any service team in your organization.

Take the course on LinkedIn now. Access to my courses and others is included with your Premium subscription.


Rachel Wright’s Jira and Confluence
Admin and User Courses on LinkedIn

New Course – Jira: Advanced Administration

Jira: Advanced Administration with Rachel Wright
Take “Jira: Advanced Administration” with Rachel Wright

Life is short. Jira is complex. There simply isn’t time to make all of the mistakes and learn everything you need to know by trial and error. I’ve compiled over eight years of lessons learned in my Jira Basic and Advanced Administration courses. The advanced course is available now on LinkedIn! It will help you navigate the complexities of Jira and find the right balance between user support and application functionality. Take this course to correctly configure your application and make sure it stays clean, manageable, and flexible.

Course Structure

The Jira: Advanced Administration course picks up where the Jira: Basic Administration course leaves off. The advanced course is designed to help you understand and internalize Jira concepts by including:

  • Real world examples of what to do, and what not to do taken from my personal experience
  • Explanations of the latest Jira jargon (ie. Company-managed projects vs team-managed projects)
  • Tips and best practices
  • Demonstrations
  • Challenges that you can try in your own Jira application
  • Quizzes to ensure understanding and build your confidence
  • Handouts
  • And more

While the examples used in the course are from Jira Software, the lessons can also be applied to Jira Service Management and Jira Work Management projects. All deployment types (Cloud, Server, and Data Center) are included.

Course Content

The course takes a deep dive into topics such as configuring global permissions, understanding scheme hierarchy, creating custom schemes and custom workflows, managing project settings, working with groups and roles, and controlling access to information.  

Your job as a Jira administrator is to give your teams the functionality they need and ensure the long term health of your Jira application. We’ll discuss when and how to make customizations and how to choose from the thousands of available Jira apps and extensions.

Finally, we’ll also look at advanced Jira features such as creating issues from email and issue collectors, importing data into your Jira instance, and streamlining process with automation.

Knowing the best way to solve a problem and how it will impact your application in the future is the difference between a good Jira administrator and a great one. If you’re a newly minted Administrator, an experienced JA looking for guidance on taming an overgrown Jira instance, or a determined perfectionist who’s trying to set things up right the first time – then this course is for you!


Rachel Wright’s Jira and Confluence
Admin and User Courses on LinkedIn

Not a LinkedIn Learning member yet? Access to my courses and others is included with your Premium subscription!

Coming Soon – Jira: Advanced Administration

My new Jira: Advanced Administration course is now available! Take the course on LinkedIn now.

Access to my courses and others is included with your Premium subscription!

About the Course

Jira is the industry standard for tracking work, tasks, and strategic company initiatives.  The software is infinitely flexible and customizable, which is both a blessing and a curse.  The goal of the Jira administrator should be to configure application settings to support the needs of the organization and ensure the health of the application in the future.  This requires an intimate understanding of Jira’s capabilities, global options, and scheme configuration.

In this advanced Jira administration course, you’ll learn:

  • The most important configuration options like general settings and global permissions
  • How schemes work together to power Jira projects
  • How to create custom projects, issue types, workflows, screens, and custom fields
  • How to manage project-specific settings like components and versions
  • Working with groups and roles for easy user management
  • How to restrict access and share information with permission, issue security, and notification schemes
  • Ways to extend Jira with apps, connections, and integrations
  • Advanced features like importing data, creating issues from email, adding custom events, and automation
  • And more

“Knowing the best way to solve a problem and how it will impact your application in the future is the difference between a good administrator and a great one.”
– Rachel Wright


Rachel Wright’s Jira and Confluence
Admin and User Courses on LinkedIn

Verify Approval in a Jira Workflow

It’s smart to make Jira workflows as simple and flexible as possible. I like to give users multiple ways to transition issues between statuses and even let them skip statuses when needed. But sometimes skipping a status is undesirable or creates a compliance problem. Consider an approval status for example. You’d certainly fail an audit if work was started on an issue or an issue was completed before it was approved. Luckily, Innovalog’s Jira Misc Workflow Extensions (JMWE) app has a validator to prevent it.

Use Case

Before work is started or an issue reaches its final workflow status, make sure it passes through the “Approval” status.

Requirements

You’ll need the following:

  • Access: Jira application administrator permissions (to install the app) and the ability to edit workflows
  • Environment: Jira Server, Jira Data Center, or Jira Cloud
  • Install: Install the JMWE app from the “Find new apps” page in your Jira instance. Apply a free trial or paid license on the “Manage apps” page.

We’ll use the following app features:

Set Up

Simple workflow with an “Approval” status and global transitions

Set up or create the following:

  • Workflow: Create one simple workflow with an “Approval” status. Example: Open > Approval > To Do > In Progress > Closed
  • Issues: Create one issue

Implementation

Here’s how to do it:

  • Edit the workflow
  • In text or diagram mode, add a validator to the “In Progress” transition
    • Select the transition leading to the “In Progress” status
    • Click the “Validators” tab (text mode) or link (diagram mode)
    • Click the “Add validator” link
    • Add the “Previous Status Validator (JMWE add-on)” validator
    • In the “Previous Status” field, select the “Approval” status
    • In the “Error message” field, enter the copy “Please transition to the “Approval” status to collect approval.
    • Click the “Add” form submission button and publish the workflow
Innovalog Previous Status Validator
On the validator’s setting page, the “Approval” status is selected and a custom error message is provided (optional).
The “In Progress” global transition has one validator, requiring an issue to have previously transitioned through the “Approval” status.
  • Using the same steps above, add a “Previous Status Validator” to the “Closed” transition

With the two validators in place, issues may not skip the “Approval” workflow status. The validator checks the issue’s transition history, to make sure it previously reached the “Approval” step.

Result

Test your work:

  • Transition your sample issue from its initial status to the “In Progress” status
  • The transition should fail and display an overlay with your custom error message
A transition from the “Open” status to the “In Progress” status fails and a custom error message is displayed.

Bonus: Allow selected issues to bypass the “Approval” status

If an issue is small or low risk, you may want to conditionally bypass approval. An easy way to do this is by checking the value of a custom field before executing the transition validator.

Here’s how to do it:

  • Create a custom “Select List” field called “Risk”
    • Create the selection values: “Low”, “Medium”, and “High”
  • Add the custom field to your issue’s screen
  • In the sample issue, set the “Risk” value to “Low” or “Medium”
  • Edit one of the existing Previous Status Validators
  • On the validator’s settings page, click the “Conditional validation” checkbox under the “Validator scope” header
  • Use the wizard to craft a simple Groovy script that checks the “Risk” field for a value of “High”
    • Click the “Issue Fields” button
    • In the “Select a field: ” form field, chose the “Risk” custom field
    • Under the “ACCESSING THE FIELD’S VALUE” header, click the “issue.get(“customfield_10700”) == “An option”” button
      • Note: Your custom field ID will be different than the example
    • In the Groovy statement inserted above, change the “An option” copy to “High”
    • Click the “Update” form submission button and publish the workflow

This simple script allows issues with a Risk of “Low” or “Medium” to ignore the entire validator. Learn more about Groovy customizations here.

With this added condition the validator only runs if the “Risk” field’s value is “High”

Q&A

Why is the “To Do” status needed in the sample workflow?

Two reasons:

  1. When an issue is approved, it doesn’t mean work automatically starts. There may be a review or assignment process that occurs before someone actually starts work on an approved issue. The “To Do” status helps signify that the issue is ready to work, but work has not yet started.
  2. An issue must pass through the “Approval” status for the validator to function. Simply reaching the “Approval” status is not enough to indicate approval was collected.

Why did you use the “Previous Status Validator” instead of the “Previous Status Condition“?

Workflow conditions allow you to show or hide transitions. I wanted the “In Progress” and “Closed” transitions to display regardless of whether the issue reached the “Approval” status.

Still having trouble? Check the Jira log file, turn on error handling on the Jira Misc Workflow Extensions Global Configuration page, review the JMWE documentation, review answered questions in the Atlassian Community, or raise an Innovalog support request.

Need Workflow Help?

Jira, Jira Service Desk, and Confluence courses

Take the “Jira Workflows for Business Teams” online course, get the Jira Strategy Admin Workbook, and check out the workflow materials in the Strategy for Jira store.

Automatically Transition Jira Issues

As a Jira administrator, I frequently see this problem: child issues are closed but nobody remembered to close the parent issue. Users have already moved on to the next thing and the parent issue sits in its incorrect status forever. Or maybe it’s the opposite: the Epic is closed, but its Stories, Bugs, and Tasks were forgotten.

When issue status does not reflect reality, reporting is a nightmare. All completed or unneeded issues should be transitioned to their final status. Why not take this step off your user’s “to do” list and automate it? It’s easy to automatically transition issues with Innovalog’s Jira Misc Workflow Extensions (JMWE) app.

Use Case

When all child issues are closed, automatically transition the parent so users don’t need to do it manually. Example: When all Sub-tasks are transitioned to the “Closed” status, automatically transition the Task issue to the “Closed” status.

Requirements

You’ll need the following:

  • Access: Jira application administrator permissions (to install the app) and the ability to edit workflows
  • Environment: Jira Server, Jira Data Center, or Jira Cloud
  • Install: Install the JMWE app from the “Find new apps” page in your Jira instance. Apply a free trial or paid license on the “Manage apps” page.

We’ll use the following app features:

We’ll use the following standard features:

  • Condition – Sub-Task Blocking Condition

Set Up

Set up or create the following:

  • Issue Types: A “Standard” issue type (Example: Task) and a “Sub-Task” issue type (Example: Sub-task). These are default Jira issue types; they likely already exist.
  • Workflow: Create one simple, 3 step workflow. Example: Open > In Progress > Closed
  • Issues: Create one “Task” issue and two “Sub-task” issues

Implementation

Here’s how to do it:

  • Edit the workflow
  • In diagram mode, create a new global transition
    • Click “Add transition”
    • In the “From status” field, select “Any status”
    • In the “To status” field, select “Closed”
    • In the “Name” field, enter “Close”
    • In the “Screen” field, select your standard “Resolve Issue Screen”
Add Transition Screen
Add Transition Screen in Diagram Mode

Here’s how the workflow looks, in Text mode, with the global “Close” transition.

Jira Task Workflow
All statuses have a global “Close” transition.
  • In the “Close” transition:
    • Add the “Transition parent issue (JMWE add-on)” post function
    • Configure three areas on the transition settings page: “Transition(s)”, “Transition screen”, and “Comment text”.
      • Under “Transition(s)”:
        • Click the “Transition Picker” button to select the correct transition. Alternatively, you can type the name of the transition (Example: “Close”) or enter its ID (Example: “31”).
          • Tip: I prefer to enter the transition’s ID as it’s less likely to change than its label.
        • Click the “Add” button to the right of the “Workflow name” field. See screenshot
      • Under “Transition screen”:
        • Scroll down to the “Transition screen” section
        • Select the “Resolution” field from the drop down menu
        • Click the “Add” button
        • This will automatically set the parent issue’s Resolution to the same Resolution selected when the last child issue was closed. See screenshot
      • Next to “Comment text”:
        • Use the “Comment text” field to enter a comment when issues are automatically closed.
          • Example comment: “This issue was automatically closed when all Sub-tasks reached the “Closed” status.” See screenshot
    • Click the last “Add” button at the bottom of the transition settings page
    • Move the new post function after the function called “Update change history for an issue and store the issue in the database.
Innovalog JMWE "Transition parent issue" Post Function
The “Transition parent issue” behavior is the forth post function in the “Close” transition.
  • Also in the “Close” transition:
    • Add a “Sub-Task Blocking Condition” and select the “Closed” status. This prevents the parent from transitioning until all child issues are closed.
      • Example behavior: All sub-tasks must have one of the following statuses to allow parent issue transitions:  Closed
    • If you want email notifications sent when the issue is automatically closed, go to the “Post Functions” tab and change “Fire a Generic Event event that can be processed by the listeners.” to “Fire a Issue Closed event that can be processed by the listeners.”

Finally, publish your workflow and assign it to the “Task” and “Sub-task” issue types in your Jira project.

Result

Test your work:

  • Transition one of your two Sub-task issues to its final “Closed” status
  • Refresh your parent Task and verify there was no status change, no comment, and no resolution added
  • Transition your second Sub-task issue to its final “Closed” status
  • Refresh your parent Task. The Task should automatically transition to its final “Closed” status with a resolution and comment added.
  • Bonus test: Create a Task issue with no Sub-tasks. Transition the Task to its final “Closed” status. Verify a transition screen is present to collect the resolution. Always make sure closed issues have resolutions!
Innovalog JMWE Result
The two Sub-task issues are in the “Closed” status. The parent Task issue was automatically transitioned to the “Closed” status, a resolution of “Done” was set, and a comment was added.

Q&A

Why did you create a global “Close” transition instead of a single transition?

I wanted to be able to transition the Task issue to the “Closed” status from any status. If users always transition Tasks to the “In Progress” status when they start work, you could create a single transition, in the “In Progress” status, instead.

Why did you add a transition screen to the “Close” transition?

For issues with no Sub-tasks, the user needs to select a resolution value. For issues with Sub-tasks, the parent issue’s resolution will automatically match the resolution of the last Sub-task closed.

How do I automatically close Epics?

Use the “Transition linked issues (JMWE add-on)” post function and the ” Linked Issues Status Condition (JMWE add-on)” condition instead.

It’s not working as expected. What should I do?

  • Make sure the “Transition parent issue” post function is positioned after the “Update change history…” behavior.
  • Verify the “Transition parent issue” post function is connected to the “Close” transition.
  • Verify the “Sub-Task Blocking Condition ” is present and the “Closed” status is selected.

Still having trouble? Check the Jira log file, turn on error handling on the Jira Misc Workflow Extensions Global Configuration page, review the JMWE documentation, review answered questions in the Atlassian Community, or raise an Innovalog support request.

Need Workflow Help?

Jira, Jira Service Desk, and Confluence courses

Take the “Jira Workflows for Business Teams” online course, get the Jira Strategy Admin Workbook, and check out the workflow materials in the Strategy for Jira store.

Teaming Up to Improve Workflows

Workflows are the most talked about area of Jira. Sometimes workflows don’t represent your real life process. Other times, there are too many manual steps and people hate it! Whatever the situation, users and admins are always interested in learning more and improving workflows. It’s no surprise that “Jira Workflows for Business Teams” is my most popular online course and that workflow materials are the most downloaded items in the Strategy for Jira store.

That’s why I’ve teamed up with Innovalog to help you improve your Jira workflows. Their Jira Misc Workflow Extensions app is one of my favorites in the Atlassian Marketplace. Want to extend your workflow capabilities without code, automatically transition linked issues, or make sure a certain field was updated? The JMWE app does it and so much more! This add-on brings the workflow automation power you’ve been missing in Jira Cloud, Jira Server, and Jira Data Center. I love this plugin so much that I included seven ways to use it in my book. Now, we want to bring those use cases and others to a broader audience. New articles for enhancing workflows are on the way!

About Innovalog

Innovalog's JMWE improves workflows

Innovalog, the Atlassian Platinum Top Vendor, is on a mission to make work flow. Their products enable Jira workflows for thousands of companies around the globe and power business-critical processes for millions of users. Jira Misc Workflow Extensions (JMWE) is one of the all-time top-selling apps for Jira! To learn more, watch this 80-second video.

About Rachel Wright

Strategy for Jira helps you build smart workflows

Rachel Wright is an entrepreneur, process engineer, and Atlassian Certified Jira Administrator.  She is the owner and founder of Industry Templates, LLC, which helps companies grow, get organized, and develop their processes.  Rachel also uses Atlassian tools in her personal life for accomplishing goals and tracking tasks.  Her first book, the “Jira Strategy Admin Workbook“, was written in Confluence and progress was tracked in Jira!

Together we’ll help you improve workflows and make work flow.

Learn About Jira on Skillshare

Where can you learn about Jira, improve your coding skills, and grow your business all in one place?  At Skillshare!  Skillshare is an online learning community with thousands of classes on design, business, technology – and now, Jira!  It’s the Netflix of learning.

Rachel Wright teamed up with Skillshare to create “Jira Workflows for Business Teamsto help you build smart workflows that your business teams will actually use!

This course is available now to all Skillshare members!  Don’t have an account?  Sign up to enroll in Rachel’s class, access all the other classes, and receive a one-month free trial.

0
    Your Cart
    Your cart is empty. Go add some materials!Return to Shop