Jira Sucks, but it doesn’t have to

I’m betting you didn’t expect this title this week. Two things inspired this article. First, was this entry into the blog’s search performance.

This graph tells me that Google is returning my site when people are searching, “Jira sucks.” What’s more, people are clicking on the link. Not often, but still!  

The second event that inspired this post is another post someone did on LinkedIn explaining why they feel Jira is simply the worst. The odd thing is, every point they brought up is something a good Jira Admin can fix.  So I figured I’d look at why using Jira can be a terrible experience and how you can fix it for your users.

Also, a bit of a confession: usually, I like to have these articles ready by Tuesday before publishing AT THE LATEST. However, by that time, I didn’t have enough talking points to make a full article. So I had to go to social media to get feedback from the broader community! Thankfully you all gave me enough to round out the post. So, let’s get into the first of Jira’s sins.

“Jira makes it challenging to create an issue.”

I’ve seen this on almost every new instance I’ve worked on as a new Admin. The issue creation process is so arduous that most workers would rather not deal with it entirely. This experience often leads to the feeling that Jira as a whole sucks, because people don’t understand that that experience is unique to their instance. Let’s go into three factors that can lead to this experience, and what you can do about it.

Required Fields

This item is usually the biggest offender. For one reason or another, you will have a large number of required fields, which may be spread out between several tabs on the Issue Creation Screen. This format makes it so that your users have to play “Hide and Go Seek” with these required fields, click save, realize they missed one, and repeat. I’m hoping you can see how this can be frustrating to users.

I take two approaches to combat this. First, I limit the number of required fields. I do this by being diligent in asking “Why?” every time a project lead asks me to make a field required. I make sure their reasoning is sound, and that they intend to use it in some meaningful way. I also educate them about the fact that if they have too many required fields, people are going to put in junk information to get past the screen, making whatever report or information they derive from it useless. 

The second approach here is to put all the required fields front and center. That is, I put them all on the first tab, right at the very top. That way, users can tell what fields they need to fill out right away and get on with their lives. It just leads to a cleaner look overall, so it’s something I always recommend.

Too Many Fields

This one also causes a ton of headaches. People see they can customize their Jira with custom fields, and go a bit crazy. Doing so leads to a bloated, unfriendly look to Jira.  

I mean, imagine it. You are a user, and all you are trying to do is create a task to track some work you are doing. However, when you click “Create,” you are hit with a wall of empty fields to fill out. What’s your likely response? To fill it out, or say, “Eff this!” and do the work without the Jira issue?  

So, how do we combat this? Well, we always have to be diligent when creating new fields. Again, I remind you that the question “Why?” is your best friend. Find out the reason the project leads need a field. Do they want to use that information in a Dashboard? Or is it something they will need to help prioritize work? Or is it some vanity information that can live just as well in the issue description? Don’t be afraid to say “No” if the answer to that last question is “Yes.” Not only will this help with Jira’s appearance, but it will help your instance run smoother!

Secondly, we can organize the fields that we do have. Maybe only specific teams will need any subset of fields. Then we should set up tabs on the screens, which each tab representing each team. Or perhaps you only need a particular set of fields when you go to a specific status. You can have them pop up when a user transitions the issue into that status, so they don’t bloat the creation screen. The point is you have tools to organize fields, use them!

I can’t find my work in Jira.

This reason is another one I see a lot. People who aren’t familiar with Jira may find it hard to figure out how it’s organized, or where their work even is. That will lead to the opinion Jira is just too complicated and bloated. So how do we combat this?

Well, first things first – we have to talk about your system dashboard. This feature will be people’s first experience with Jira after logging in. So you will want to make sure it’s a welcoming one. Customize the introduction gadget to point to your documentation (we’ll get to that in a moment). Be sure that the “Assigned to Me” gadget is in place. However, if a user is genuinely new, they won’t have any issues assigned to them, so keep that in mind when designing your System Dashboard.  

Back to the documentation, you’ll want that in place. Jira hides its search functionality in a dropdown. Be sure people can readily find the documents to help them learn to use it. Searching issue data is Jira’s superpower, so you want to get people up to speed with that quickly. Also have documents about setting up dashboards available, and make sure people know they can create a custom dashboard to help them find their work.

And finally: workshops. As a Jira Admin, I try to hold regular seminars on JQL, creating Dashboards, tips and tricks with queries, and best practices. Some of these workshops I turned into the early posts on this blog! Be an active part of training your userbase in Jira. It will help combat the feeling that people can’t find their work.

I always have to buy an add-on to do simple tasks!

Oh boy. This one is a big complaint. And I get it: Apps are expensive. I’ve had to explain to more than a few Atlassian Partners that when I do a review, I have to get a trial license because I can’t afford to be buying (or renewing) an App a week. And if they restrict their trial license, that means I can’t do a full review.

Unfortunately, this one comes down to economics. How many employees do you think Atlassian has? The number will surprise you considering how big they are in the market, but the most recent figure I can find put them at around 3600 employees. And that’s everybody, from Custodial on up to the Founders.  

Let’s be generous and say a quarter of that number are software engineers. I have no backing for that number, but it’s an assumption, so bear with me. That means that 900 Developers are working on everything Atlassian has. Trello, Bitbucket, Confluence, everything. I counted about 20 different products offered from about the timeframe we are looking at. That means we have an average of 45 Developers per project. Now, I admit some products will have more developers than others. That’s not my point.

My point in all this is that there are only so many person-hours that can be put into features. As much as Jira wants to be the be-everything-do-everything, that takes time that they simply don’t have. So, what do you do? 

Their solution to this problem is well tested. Create an API that others can use, and allow an Add-on economy to develop. That way, Atlassian can focus on features that a larger group of people can use, and let App Partners develop more niche solutions. However, these Partners need to be able to feed their families. Some have whole businesses to support, which is why they tend to charge what they do. 

Jira sends to many emails!

My god, does Jira send out some emails! I’m sure every Jira Admin can sympathize with their users on this one. This one is objectively fact-worthy. 

The first thing I do here with a user like this is commiserate with them. I let them know that I interact with multiple projects each day, so I’ll get even more emails than they do from Jira. Acknowledge that they have a legit complaint.

Then I share with them how I manage it. I let them know how I go through, find all the issues I’m “watching,” and I unwatch any that are no longer relevant. This “fix” won’t help with current issues spamming you, but it does make a dent. I also show them how I sort Jira issues in Outlook so that I don’t miss anything critical, but am not bothered by an email every day.  

And finally, I let them know there is hope. Atlassian has announced during their last Summit that they will be implementing a feature to send out an email Digest of several updates, rather than a single email with each update. I cannot tell you how much I want this feature right now. This tidbit was honestly one of the happiest pieces of news from Summit.

And that’s it for this week!

Look, the point is your user’s experience – and thus, their outlook on Jira – is entirely in your hands. Always keep in mind that people use your system. Whenever you implement something, the question should be, “How will it impact the users?”

Honestly, I still have enough points for a followup article! You guys helped out a lot. But as I stated, I’m already running late enough on this post, so I think I’ll call it here. If you enjoyed this article, be sure to sign up below to get new posts delivered directly to your inbox! You can also follow me on Twitter, Facebook, and LinkedIn to get the latest news from the blog! Don’t forget to like, comment, and share the posts with your friends! But until next time, my name is Rodney asking, “Have you updated your Jira issues today?”

Answering your comments!

Just going to say this – I totally stole this idea for a post from Ravi Sagar

Honestly, if you are not following Ravi, you should be. I find it hard sometimes to come up with a topic each week, and this man comes up with one per day! He is knowledgable about the subject matter he covers and is always willing to help people further in his comments section. As I’m stealing this post idea from him, it’s only fair I give him a shout out.

Today we are going to look through some of the various comments, direct messages, and emails I’ve gotten over the past year. I answer each one personally still, but I thought it would make a fun post to share with you all. So, without any delay, let’s jump into this.

Counting Issues

“Thanks for these tips! Is there a way to use JQL to return a count of linked issues?” – Jen

So, without Apps, there’s not a great way to just get a number on a dashboard. You can get it with a two dimensional gadget and finding the “Total” line.

However, if we look at the question, they are asking for just a JQL to return a count. They don’t mention dashboards at all in their question. Considering that, we can definitely say that JQL will not return that directly, but you can still gather that information from the query screen. If we look at the places marked in red below, we can see the total number of issues returned in both the Detail view and the List view.

Sprints in Queries

“Can you help me with creating a query for all issues from a certain sprint onward? Right now I have to update the query for every new sprint.
project = AND Sprint in (488, 498, 482, 491, 502)
Any ideas? Thanks in advance.” – Tiffany

How you set up this query varies depending on which set of sprints you are looking for in relation to the current sprint. Tiffany isn’t completely clear on this point, so we’ll have to generate several answers to cover the range of possibilities.

Let us say they want the current sprint and all future sprints. Essentially, we are only excluding past sprints so that we can format our JQL as below.

sprint not in closedSprints()

We can, of course, add any additional conditions we want on there to refine the query further.

Let’s say that Tiffany instead wanted a query that only returned issues in future sprints. This request gives us an even easier JQL string.

sprint in futureSprints();

However, there is one more possibility here. It could be the fact that Tiffany is not looking for issues in the current or next sprint, but every sprint after that. To the best of my knowledge (and the docs), this isn’t currently possible in JQL. It would be a nice feature, as I can see something like this being useful. But as of right now, it’s not possible with Jira out of the box.

Formatting a response.

“Thank you for awesome content. My management is weird and they want a very detailed report on daily basis.
This is how they want the report
Row1 Story – – title, status
-> Row2 Subtask1 of row1 – – title, status
-> Row3 Subtask2 of row1
Row4 Story2
->Row5 subtaks of story2
And so on.. Problem is I tried using parent id but its not helping as they are not close.
Could you please help me?” – Priyesh

This one wasn’t easy to figure out. To my knowledge, there isn’t a great way to get your JQL return in a specific format like this. Sure, you can set your columns and sort, but showing this relationship from a JQL response is not currently possible.

So, as is usually the case when we are looking at something Jira can’t do, we turn to the Atlassian Marketplace. There I found Big Gantt. Long-time readers may remember that I don’t care for this app. It’s not because there is anything wrong with it – it works perfectly well. It’s more a combination of UI and how many fields it creates on the system that gives me pause. However, for this use case, it works perfectly well.

To get this to work, I had to set up a new “Program.” After loading it up, I had to go to Box Administration (the “gear”), then Tasks -> Task Structure. Here I enabled both Epic and Sub-tasks.

After this, I click “Scope definition” and made sure it included one of my test projects under the “Automatic Rules” dropdown.

When I go back to the Gantt section, I see my issues in the format Priyesh wanted them in. They can now capture it in a screenshot, or export it as needed.

Where can I learn more about Jira?

So, I have gotten several questions on this. It’s usually along the lines of “How do I learn more about Jira?”

To answer this, I still say one of the best ways to learn is hands-on. Roll up your sleeves, get in there, and get messy. This fact is also a reason I highly recommend you get a test instance or a personal instance. As I’ve often said, you can get a starter license for Jira Server for only $10. Considering the benefits to your future, it’s an easy buy.

When I started, I had to google everything. Doing that, I found great resources like Atlassian Documentation. Honestly, it’s nice to have a product so thoroughly documented.

But if you are interested, there are experts out there who are willing to put out material to help you. One such is Rachel Wright, author of the Jira Strategy Admin Workbook. And you’re in luck! Rachel recently announced that she has courses on LinkedIn on Jira Administration. Definitely a great place to start if you don’t know anything.

Of course, I’d like to consider this site another such resource to help you learn Jira. I’m always willing to take on additional reader-requested topics if they a) interest me and b) something I feel I can do justice. So feel free to send me any requests you may have!

Converting Apps to Data Center

“I just wanted some insights from you if it’s okay. We have few plugins that are written for server and now we are moving for data center.I’m sure there has to be refactoring and the atlassian documentation has best practices listed. However I found them generic and high level.” – Anupam

So…this one. I’m going to be real honest with you, readers. I’m not a very talented programmer. I’m passable, but I’m honestly embarrassed to show my code sometimes.

All that is to say, I don’t have a clue where to start on migrating Jira Apps to Data Center, either. However, this is where I remind you that the Atlassian partners are there to help you. There is a number who can help you with such a migration. So reach out to them and start talking!

Help with the ACP

This topic is another one that I get asked about often.

Let me be clear: I don’t have “dumps” of questions – or any questions outside the sample set available from the Atlassian University. Any such cheating would likely risk my ACP status, and that is not something I consider worth the risk.

With that out of the way, I stand by my original article on the topic. Atlassian provides a list of exam topics. Just to though and google each item! When you find a useful document for what you are trying to study, make sure you have someplace to put that link so you can refer to it again. Make sure you fully understand each point, and you’ll be fine.

The next tip I’ll give is brush up on your test-taking skills. I was lucky enough to read a book on the subject as I was preparing for my college entrance exam, and it has helped me ever since. And I still use those strategies to this day to help – especially on the ACP. Relax while taking the exam. Eliminate wrong answers, so if you have to guess on a question, you maximize your probability of getting the right answer. Go through and answer all the easy questions first, marking the more difficult ones, then return and take on the challenging problems. They ultimately will help you get closer to your goal.

The last thing I want to reiterate is the ACP is supposed to be a tough exam. The recommendation I got when I first started my ACP Journey is that you shouldn’t even consider the ACP Certification unless you have been working on Atlassian tools every day for at least two years. Not a part of your responsibilities – but your entire job. And having taken a number of them, I can say I agree whole-heartedly. However, they are not impossible. Atlassian has done a lot of work to get the difficulty exactly where they want it. And believe me, it’s always worth it when you see you passed the exam and rose to their challenge.

And that’s it for this week!

I hope you enjoyed this week’s post. It’s an experiment, and I hope it’s helped you learn something new. As always, let me know what you think with a comment on social media! Don’t forget to follow us on LinkedIn, Twitter, and Facebook to get the latest news and updates from the blog. You can also subscribe below to get updates directly to your mailbox! But until next time, my name is Rodney, asking, “Have you updated your Jira issues today?”

The System is Down!

Well, we made it to August! I hope you enjoyed App Month. To be completely honest, I only realized July had five Wednesdays after I had already committed to the idea. Oops!

But I got to meet some really great Atlassian Partners, learn some cool things about some Apps, and in general had a lot of fun. And you guys seemed to like it too!

Another record breaking month, with an additional 800 page views on top of June. To put it mildly, you guys killed it! Let’s see what August holds!

Today we will be looking at what you should do when Jira is down. As usual with us, this only applies to Jira Server and Data Center. Look, no matter what we do, Jira will come down unexpectedly at some point. That’s just one of the joys of running any service. If you are lucky and are monitoring all the right metrics, it may only come down when you plan for it to. However, everyone’s luck runs out at some point. So lets take a look at what we can do now to be prepared.

Have a Plan

There was a time, early in my career, where I didn’t plan for downtime. When downtime happened, I was all panic, no purpose. I’d extend downtimes longer than they needed to be so that I can find a permanent solution. This ladies and gentlemen is an inadequate approach when people depend on your system. 

When people depend on your system to do their work, every hour it’s down is an hour the company is paying them to do nothing. I once had to break it down like this for a software engineer who wanted me to keep Jira down until lunch.

Let us say you have 400 Developers, with an average salary of $150,000/yr. That breaks down to roughly $72 per hour per Developer. That means a Jira outage cost you $28,846 in lost productivity every hour, and that is just Developers! It does not include Project Managers, IT, Management, UI/UX, QA, and everyone else that depends on Jira. You can see how it can quickly add up.

However, it is possible to be too hasty here too. You could be destroying information you need for a permanent fix by performing a quick fix. In that situation, you’ll likely have a ticking time-bomb, ready to bring down your system again.  

That is why it is essential that you have a plan. Ideally, a document that describes whom to contact, what information to gather, and when to escalate. The industry term for this document is a Runbook, and it is recommended you have one for every system you manage.

In the past, I’ve linked to a generic Runbook template – and to be honest, it wasn’t the greatest for Atlassian Products. Atlassian themselves have a template that I like better than the one I’ve previously linked. However, I’ve taken the time to customize it further into a generic Jira Runbook template. This request came out of my last Webinar, and I thought it was a great idea! It will still need a lot of information specific to your instance filled in, but at least it’s a start! 

Communicate Immediately

So, you’ve got a plan, and you’re following it. Good. But remember, many people need Jira and can’t get to it. Keeping them in the dark only means dealing with that many more interruptions while you try to fix things. They need to know what’s going on, even if the single update is “I know about it, I’m working on it, and I’ll give up updates as I know more.”

There are several ways you can do this. I had a list of email groups in Outlook that I could copy/paste into a new email. This method meant I didn’t have to remember who all I needed to contact – as again, I usually had other things on my mind. I just wrote up my message, pasted in the BCC, and hit send.

<pet-peeve> By the way, that’s another thing. For large chains, use the BCC rather than CC or TO lines. That way, if anyone needs to reply to you, they can without interrupting everyone else. </pet-peeve>

Another option you can look at is Statuspage. I’ve always liked the product, even though I never had the benefit of working with a group that used it. Training your users to check here for issues will help them find information on outages first without bothering you. Doing this sounds like a win-win to me.

Collect Information

So, you’re following your plan, and you’ve notified your users. Next?

Next, you need to take time now to gather information before attempting a restart. Typically, I like to have the following two things in case I need to go to support.

1: Thread Dump

A thread dump is a detailed list of everything Jira is doing currently and how long each task is taking. Having these details can be invaluable in determining why Jira is behaving weirdly or being slow. Atlassian provides a script now to automate capturing these thread dumps. Check out the docs on Thread Dumps here:

As a note on Thread Dumps, if you install a plugin called Thready, it will help you analyze the thread dumps by attaching the thread’s name to each entry. It’s a free plugin and doesn’t impact performance, so I usually test and install it on my instances to be ready. 

2: Support Packet

The support packet is another thing I try to capture if I can. Getting this will depend on your Jira instance being alive and responsive, so you may not be able to get it. If you can’t, don’t worry. Capture your log files from <Jira Home>/log/*.log, and you should be good to go. But the idea is before you try to change anything to get Jira back up, take a moment to get things that will help you solve this problem long-term. 

Try to change one thing at a time.

So, you’ve collected the evidence, and you’ve told people you’re on it. What now? You can run in like a firefighter, make eleven changes, and pray one of them fixes Jira, right?

WRONG! Look, you’ll want to tell your management, your users, and your future self what went wrong and how you fixed it. You can’t do that if you aren’t sure what fixed the problem. That is why you need to take a breath, calm yourself, and focus on one change at a time. Change something; see if it works now. Change again, repeat. Do so until something works. You will still need to pay attention to the logs and hunt for clues on google. But take your time, and be methodical, and be sure what your problem was when all is said and done. You will be thankful for it; trust me. 

Did I say Communicate?

Congratulations, you’ve gotten through the worst part of it. Jira is now back up and running, and everyone’s happy, right? 

Well, no. First thing, you need to let your users know Jira is back up and ready for use. They are waiting to do their jobs, after all. Some of them will find it’s working on your own. But it is common courtesy to let everyone know.  

Document, document, document!

For some, this will be the worse part. It’s excellent Jira’s up and running, but some people (like your management) may have questions about what happened. And these are not people you want to keep in the dark.  

I typically write a document that I call an After Action Report. I’ve also heard them called Root Cause Analysis, but and After Action Report makes me feel more like a hero after a big fight. Yes, it’s an ego thing.

Typically, I’m looking to answer three questions:

  1. What went wrong. Include a timeline of events, and the major players and systems involved.
  2. What you did to fix it short term. Be detailed, and write down procedures and commands. You never know when having these handy will save you time in the future.
  3. How you intend to keep this from happening again. Action items here could either be permanent fixes to be done, a followup with Atlassian support, monitoring on a specific metric or component, or a change to Standard Operating Procedures. The idea is to show you intend not to let a problem become a pattern. 

Keep these in the same place (Confluence!). Again, if you’ve done your job right, you may never have to reuse one. But it’s handy to have it there and helpful if you ever need to refer to a fix you’ve found before. 

Congratulations, you’ve survived!

Having downtime can be one of the most stressful events of your career. I should recount the time I was on duty for twenty-four hours straight with a severely troubled Jira instance. To be fair, I only spotted the problem after taking three hours to get some rest – so had I gotten some rest sooner, I may have resolved it that much faster. Seriously, don’t be me!

What are some of your downtime stories? I’d like to hear some of them in the comments! In speaking of comments, next week I’ll be compiling all the questions I’ve gotten in the comments and on DM’s into a post! If you have any questions you’d like me to answer, go ahead and get them in!

If you’ve enjoyed this post, be sure to follow the blog to get new posts directly in your inbox! You can use the form below to sign up! You can also follow us on Facebook, Twitter, and LinkedIn to get the latest updates! Be sure to like and comment on the posts, so the social media networks know the Jira Guy is worth sharing! But until next time, my name is Rodney, asking, “Have you updated your Jira issues today?”

App Review: Profields by Deiser

In case it wasn’t clear – I tend to be a bit old-school Jira. This fact means to me a Jira project is a continuous, living creature. Teams develop software in cycles, with each cycle meant to be another version of the project. For non-software groups, versions still work well to define and manage “initiatives.” This mindset has been the guidance I’ve given teams in the past, and it mostly works well. 

However, I’ve been considering another interpretation lately. That a project is just that, a project, with a defined beginning and end. Sometimes an “initiative” is so complex that it needs a step up to use versions to identify different phases of that same initiative. This view does open up other problems, though. Where do you store details about when the project begins, what it’s about, etc.? You can save it in Confluence, but that has two problems.

  • People have to go to Confluence and look that up
  • That information isn’t all that usable.

That is where the fifth and final App in “App Month” comes into play. Profields lets you define and use Project fields (get it?). This simple idea opens up a world of possibilities in project management. So let us take a look and see what Deiser has in store for us!

Also, a special thank you to Deiser. I got a chance to speak with their product team directly before this article, and they even gave me an exclusive playground with populated data for capturing screenshots! This step in an App Review is often the most time consuming, so it is much appreciated!

Features

Project Fields

To get started, I guess we should talk about the foundational element, Project Fields. That is a custom field that is not associated with an issue, but instead a whole project. You can get started by going to Profields in the top bar and heading to “Fields.”

Once here, Jira presents us with a list of fields already in our instance. If you are starting with Profields, this will be all the default ones already used by Jira. To this, we can add our custom Project Fields. As of the current release, the types of fields you can use are:

  • List
  • Text
  • Number
  • Date
  • Duration
  • Status
  • Priority
  • User
  • Group
  • Project
  • Cumulative
  • Script

I saw some exciting uses of these fields in the demo instance: Bitbucket Key, Bamboo Project, Budget, Clients, Current Phase, Total Remaining Estimate, and Work Ratio. However, the uses are as varied as your ingenuity and needs. It’s up to you to figure out the best use of the tools!

Project Fields follow a similar setup to Custom fields in that they require a mechanism to show them within a project. With Custom Fields, it’s a screen, and with Project Fields, they call it a layout. I want to commend the team here, as it would have been effortless – yet very confusing – to call their set up a screen and be done with it.

The Layout screen also seems very intuitive. It gives you the ability to set up different “Containers” and place your fields, giving you the ability to group related fields.

After this, Associate your layout with a project, and you’ll start getting some impressive data!

“PQL”

So, we’ve got all this data on the projects themselves now, so what?

Honestly, if you’re asking that question, I have to know: Do you even Jira? One of Jira’s superpowers is using JQL to search issues while filtering on any custom fields. Now that we have Project fields, we can also use those for searching and filtering Projects!

Granted, I’m also just learning about the usage of this App myself, PQL seems to follow the same rules and syntax as JQL. This fact means if you are a JQL Wizard, you shouldn’t have any problems picking up PQL as well.

And just like JQL, once you have your query set up *just* right, you can save it as a filter to either reference later, or use in Dashboard Gadgets!

Dashboard Gadgets

Did I say dashboard gadgets? Yes, sir, I sure did! Long time readers will know by now that I love having more options for users to use on their dashboards, and Profields gives us five to help us display Project data.

  • Project Pie Chart
  • Profields: One Field Statistic Chart
  • Profields: Project Timesheet Report
  • Profields: Project fields Summary
  • Profields: Two-dimensional project statistics report

Because these are reporting on the project themselves, it does open up some exciting reporting on how projects are doing.

Again, at first glance, this looks like a regular dashboard of issues – but these are reporting on whole dashboards, not just issues!

Another use case this brings up is standardizing schemes in projects. We all know that controlling the number of schemes in Jira can help improve its performance, but finding the outliers using a unique scheme is a chore. But now, it’s a dashboard!

Treat Projects like you would Issues

If I had to assign a theme to this App, that would be it. Do issues get a navigator where you can run queries? Then so do Projects! Can you watch an issue and be updated when a field changes? Then so can Projects! Can you change fields in bulk on issues? Then so can you on Projects! This simple concept gives you more capabilities to sort, process, and manage your projects! 

My Analysis

What this App does Well

If I had to assign a theme to this App, It would be to treat projects as you would issues. It seems Deiser has thought of almost everything in this regard. Do issues get a navigator where you can run queries? Then so do Projects! Can you watch an issue and be updated when a field changes? Then so can Projects! Can you change fields in bulk on issues? Then so can you on Projects! This simple concept gives you more capabilities to sort, process, and manage your projects!   

What this App could work on

I only had one step that confused me for a moment when using this App. I could not find the place where you create new Project Fields. This problem stems from two facts. The first one, I am terrible at seeing small details right in front of me. No, ask my wife! I am!

The second is because that setting is in the top bar. This time is one case where I’d like to see it in the Admin Section. I mean, they already have a Project section with only a few entries. It seems to be a natural place to look for it.

But honestly, that is a nit-pick. Otherwise, this is a well-executed App!

Would I recommend this App

So, for most projects, I still see them as long-living entities with work done in cycles. But even then, I can see a place for having this kind of information within your projects.

However, this App shines on situations where Projects do have defined lifetimes. One example I can think of is Consulting. You only work on discreet projects for a given client. Here it makes sense to use something like this to store details within the project itself using Profields.

I do think everyone can benefit from this App. Whether the amount of use justifies its price to your organization, that’s not up to me. But if you have a situation where you can use this, I think you are already arranging a test!

Profields’ Tier Rank

This App was a bit hard to place on the tier list. It did make me change some of my assumptions on how best to use Jira, so it’s going to get a high rank. But I don’t see it as a universal change. I feel I can recommend Power Admin and Automation for Jira to you without fully knowing your situation because both are so universally useful. This App, however, I’d have to hear more about your case. Therefore, I feel it still earns a solid “A” Rank.

And that’s it for App Month!

What did you think? Did you find a new favorite App? Any I didn’t cover you’d like me to look over?

I’m not going to lie, though – it’s going to be a bit before I do another App Review. Not that I don’t enjoy learning about them, it’s just that I’m ready to cover other topics! To that effect, I’m going over Jira Incident Management next week! This idea came from a viewer of last week’s Webinar, and I’m excited to cover it in greater detail!

In speaking of last week’s Webinar on “So, you’re a Jira Admin, Now what?”, I think it went really, REALLY well! If you missed it and would like to view it, you can watch it on WebGentle’s Youtube Channel!

In other news, the poll is closed! It seems more people sell Jira with just the first letter Capitalized.

I have also gotten a few comments on this over the past few weeks, so I’ll be changing how I refer to it within the Blog to match. However it’s going to take me a bit to update the branding, and I might not be able to update all the back articles.

But thank you reading! If you enjoyed reading this post, sign up below to receive them by email! You can also follow us on Facebook, Twitter, and LinkedIn! Be sure to share, like, and comment on the post so your friends can find us! But until next time, this is Rodney saying, “Have you updated your Jira issues today?”

App Review: Rich Filters by Qotilabs

So, I had an unusual situation late last week. A colleague asked our team if Custom Charts for Jira could do something particular. He was trying to create what amounted to a search bar in a dashboard so that his users could type in a specific term and get a list of results. 

The Simple Search Gadget could do this, but unfortunately, he could not use it because there is no filter return list gadget for Custom Charts. However, the situation was kind of funny because this week’s App can do just that! So, let’s get into Rich Filters for Jira Dashboards!

So, What is it?

At its core, this App gives you the ability to filter out results on different gadgets. This process, like custom charts, creates dynamic dashboards that let users dig deeper into the data.

My first thought here was “Wait, that’s it?” Then I decided to learn from last week’s lesson, and dig deeper into the Docs.

Filters

So, the main point of this App is to filter the content on your dashboard to allow users to drill down and find more in-depth trends in their Jira issues. You control this feature through the “Rich Filter Controller” gadget.  

To set a rich filter, you must go to “Issues -> Manage Rich Filter,” shown below.

From here, you can view your existing filters, or create a new one.

Once you click “Create rich filter” or click on an existing one, you select a base filter (one you’ve already created in Jira), and then you can set up various ways to filter it further.

Static Filters

A Static filter is not too different from the quick filters you may already be familiar with on Boards from Jira Software. They are a snippet of JQL that is AND’ed onto the current query.

I set up a couple of quick examples here. The first filter clears the dashboard of anything not assigned to you. The second one gives you all the unresolved issues that are past due. Both of these can be quite powerful as tools to help you isolate specific issues on your dashboard.

Dynamic Filters

Unlike Static Filters, Dynamic ones respond to what the issues contain in those fields. You select the fields you’d like to use as a dynamic filter, and the Dashboard figures out the rest.

As you can see, it will present you with options you can check off. If you don’t readily see your choice, you can search for it in the provided search bar. I like how this feels. Just click what you want and – boom – the entire board adjusts only to show what you are interested in.

Smart Filters

The last one is called a Smart filter, and it allows you to either color or label issues depending on a JQL string. For example, I set this up to put a color dot next to the issue based on its status.


You can then use the Smart filter on the view settings to see what the status is by the color next to the issue.

Views

This one is an optional setting, but it does let you define which columns are present in the Filter Results – which surprisingly was not an option in the gadget itself. It is similar enough to the Screen configuration page that I won’t touch too much on it. But this did take me a second to figure out.

Rich Filter Controller Gadget Settings

So, we have our Rich filter set, and now it’s time to use it. To include it in a dashboard, put a Rich Filter Controller gadget into the board, then set it up.

Here we can specify the Rich Filter to use, which filters – if any – show up, and whether we want an additional JQL bar (to cover situations we didn’t foresee). Click “Save,” and your gadget is ready to go.

You have to click +JQL to get the JQL bar to appear!

You can then add other “Rich Filter” gadgets to the board, set them to use the same Rich Filter, and you are all set up!

Gadgets Available

I’m not going to lie. This App is only as powerful as the gadgets that come with it. However, I’m happy to say there are a good few to choose from.

  • Rich Filter Created vs. Resolved Chart
  • Rich Filter Date Bar Chart
  • Rich Filter Pie Chart
  • Rich Filter Results
  • Rich Filter Simple Counter
  • Rich Filter Simple Gauge
  • Rich Filter Smart Counters
  • Rich Filter Smart Gauges
  • Rich Filter Statistics
  • Rich Filter Time Series Chart
  • Rich Filter Two Dimensional Statistics

As you can see, we have a good mix of gadgets here. Still not enough (never enough gadgets!), but this should be enough to get your users started with.

My Analysis

What this App does Well

This App does what it says. It lets you further filter data on a dashboard to create a dynamic experience for the end-user. I can see this being deployed as a Team board. That is a board the entire team can use, but still get the information relevant to each team member. 

Once the Dashboard is set up, it’s relatively simple to navigate and use. And as I stated a few weeks ago, I love new options to use in a Dashboard.  

What this App could work on

Once you have the Dashboard set up, it’s simple for a user to use. Setting up the Dashboard, though, can be tricky. I found myself referring to the Qotilabs Documentation more than a few times when setting up my Test Board. This fact tells me that if I can’t figure it out intuitively, my end-users have no hope.  

For example, in the built-in Filter Results gadget, I can configure the fields shown right in the App. But for the Rich Filter Results version, I had to go back to the Rich Filter to set up a View to do this. This process is not only inconsistent with the experience people are already expecting, but it also adds quite a few more steps in the setup process. 

At a certain point, I had to have the Dashboard open in one Tab, and the Rich Filter in the other just because I was jumping between the two so much.   

All these are “the first time I use” issues – meaning every time afterward, I’d know what to expect and not trip over myself. However, multiply this problem by your entire Jira userbase – and that can be a lot of hand-holding. 

Would I recommend this App

Yes. I know, my “What it could do better” was pretty long, but the fact is this App works well without slowing down my Jira system too much. It adds functionality to the Dashboards that make them a more dynamic user experience, which they don’t normally do. 

But Readers, it’s up to you to judge your userbase. Are they savvier, or are they in constant need of instruction? Do they read the docs you provide? Do you have time to run a training session or two? Given that this requires some learning to use to its fullest capabilities, that might sway your decision. That all being said, this is a sound investment into your Jira System.

Tier Rank

So, where to put this? In the end, It’s a robust offering, with a bit of work needed to make it to the top. I’d love to track this and see what the Devs do with this. But in the meantime, I think it’s held back by the amount of work needed to get it up. So, I think at the end of the day, it earns a solid “B” Rank.

This is starting to fill up nicely!

And that’s it for this week!

So, four down, and one more App to go for App Month! What has your favorite been so far? It’s hard for me to choose – but I’d probably say the Admin Toolbox.

Don’t forget that I’ll be doing a presentation tomorrow with WebGentle! It will be on one of my favorite articles I’ve written here: So, you are now a Jira Admin, now what? I definitely hope you will attend! To sign up for it, you can click here!

Future Rodney Here! Webinar is already done. However, you can check out the YouTube video from it below! Not back to our regularly scheduled blog post.

Also, I recently got these sticker proofs in the mail! I love these! Not sure if, when, and how I’m going to send these out. It might be something I save for the next in-person Summit!

Don’t forget we have a poll going this week. I went ahead this week and used Jira instead of JIRA, just to see how it felt. I don’t appreciate how much of a habit the Capitalization is. Be sure to vote – if Jira wins I’m going to permanently change my style!

But that’s all I have for this week! If you enjoyed reading, please share, like, and comment on social media! You might be helping your colleagues discover something that can help them! Don’t forget you can follow us on Twitter, Facebook, and LinkedIn. You can also sign up below to receive new posts directly to your email! But until next time, my name is Rodney, asking, “Have you updated your Jira Issues today?”

App Review: JIRA Workflow Toolbox by Decadis

JIRA Workflows are the backbone of the system. They dictate how issues flow, who has what responsibility, or when you need to do specific tasks. Do you want to start a fight as a JIRA Admin? Just tell a user you are changing their workflow without their input.

That is why I decided to look at the JIRA Workflow Toolbox by Decadis for the third App in the “App Month” series. And when I started, I thought this was just another collection of validators, conditions, and post functions – not dissimilar to JIRA Suite Utilities and JIRA Misc. Workflow Extensions. But I soon discovered that this one App has the power to displace two or three Apps in your system. All for the cost of one.

Now, I want to take you through the features I discovered, and let me tell you why you should consider this App!

Features

So, I should apologize to Decadis. They were gracious enough to meet with me one on one to give me a demo of this App. And what was my first question? “What do you think sets you apart from Apps like JSU and JWME?” Not my proudest moment.

However, When I first sat down with this App – that was my main question! I had heard good things about it, but to me, it seemed like a clone of sorts. My error: I skipped over the Getting Started page. Seriously guys and girls, don’t be like me. Be better than me!

Also, read your docs before opening your mouth!

If I had taken the time to do my research and read this page, I’d have found that the workflow functions were just one facet of this hidden gem. So let us take a look together at the other functionality this Multi-tool has!

Workflow Functions

So this is where the App gets its name – and likely what you will be using the most. As I stated earlier, this is where I started looking – and if you are like me, you might find this very familiar. Many of these are post functions, validators, and conditions you will find in tools such as JWME and JSU.  

You can find the usual assortment of post functions (add comments, manipulate fields, create an issue link), but you can also find some more exotic functions like move an issue. This feature can be especially powerful to change an issue type mid-workflow based on a field value.

In speaking of field values, the post functions for JWT has a functionality that I don’t think I’ve seen with any competitor – and is a bit of a game-changer. You can add a condition to an individual post function to control when it executes. Let that sink in. You can have a single post function not run based on values in the fields or properties on the issue.

Having this ability opens up some exciting use cases. You can have multiple projects use the same workflow, but have each project run a unique set of post functions in a given step. Or you can have the workflow move the issue to a high-priority issue type and workflow if it sees fields set in a particular way. This functionality is some potent stuff!

Automation Rules

That’s right; there are Automation Rules bundled in! The setup here will also look familiar if you have Automation for JIRA. The similarity is more an example convergence than copying, but there are unmistakable similarities.  

My understanding is that this used to be its own unique offering, but after Atlassian bought Code Barrel, it was only logical to combine the offerings. However, if you don’t have Automation for JIRA, this can be invaluable to you.

Automation is one of the key ways people try to work more efficiently in JIRA, and this is a great way to gain an automation capability if you don’t have one. Having this capability in the App is a sweetener on this deal. However, there’s more!

Calculated Fields

So, personally, this is my favorite feature. Before, if you wanted a derived field – that is a field you calculate from other fields – you would need Scriptrunner. And these sorts of calculated fields can be rather powerful.

For example, I saw a question recently where someone wanted to know how they can sort our customers based on their email domain. This kind of parsing and sorting isn’t possible in JQL.

However, using a calculated field with this expression, we get a field that automatically generates the desired domain.

findModify(%{00007}, "(\\S+@)", "")

I will note that this is currently using the field ID number – not the field name. There are plans to change this soon! But in the meantime, they do include a handy string injector, so you don’t have to go looking up field ID numbers.

This example is just one use case I can think of. You can sum up the story points of related issues, or pull information from a parent issue in real-time. The possibilities this allows are near limitless. This feature is an MVP in my book!

UI/UX Changes Ahead!

So, you might have noticed the lavender elephant in the room in my screenshots. Their current User Interface features this table of purple boxes. While not a deal-breaker – I have seen MUCH worse – it can be distracting. Decadis admits as much, and to fix are about to release and end-to-end rework of their UI.

Another part of this is they will also be reworking their parser to do away with the need for you to know your field ID. In other words, they will be able to take the field names within the App’s various functions.

And while I’m on the topic of UI/UX, I mentioned in my review of the Admin Toolbox that the categories should be renamed to make them less confusing. It is something they were already working on, as during the demo, I spotted this!

Not really related, but I thought it was a nice touch!

My Analysis

What this App does Well

So, let me be straight with you. For each of the things this App does, I can think of another App that does it equally well (if not better). That is not to say that this App is terrible, quite the opposite. It takes a serious commitment to quality and user experience to compete in those lofty circles.

However, I think the real value proposition is that this one App does all three functions. Just going to level with you, Marketplace Apps are expensive. There is a particular pain that comes with that annual P.O. to renew Apps. So saying you have this one App that can do multiple things starts to look attractive.

And then there is this to consider. My feeling in reviewing both this App and Admin Toolbox is that Decadis cares about making your teams their most efficient selves. Every feature seems tuned to that end goal. And honestly, I think they easily hit that goal.

What this App could work on

So, I honestly had a problem with this section. Most of what I originally had originally intended to say here, Decadis showed they were already working on! But honestly, there are worse problems to have!

However, there is always another horizon to conquer. That is to say that I feel we can always improve something. To that end, I do have this (I’ll even put this in a user-story format).

As an Admin, I would like to migrate easily from JWME/JSU to your App.”

The JIRA Guy, 2020

To pull this off, you’d need to almost reverse engineer how the other Apps store their data and then create a migration script. It’s not an easy goal, but if Decadis can pull this off, that’s a goal worth celebrating.

Would I recommend this App

This point is another section of my analysis where I struggled. It’s not that I don’t love the functionality this App provides, I thoroughly do! It’s more that my recommendation is going to be somewhat conditional.  

If you don’t have Scriptrunner, Automation for JIRA, or a Workflow Functions App, go for it. You will be thankful to have the extended functionality this App provides.

If you have any or all of the Apps I listed above, you should take a more in-depth look. 

  • Are you using some of the other functionality of Scriptrunner, or are you using only the Calculated Fields?  
  • To what extent are you using Automation for JIRA, and whats the effort in migrating those rules?  
  • How many person-hours in migration are you going to spend versus how much money on the bill you will save?  

Simply put, the answer is going to vary significantly from organization to organization. I’d still recommend you at least take a look at it.  

JIRA Workflow Toolbox’s Tier Rank

So where to place this one wasn’t a difficult decision. This App is yet another robust offering from Decadis, and easily earns it’s “A” Tier. From the conditionals on the post function to the Automation Rules and Calculated fields, Decadis designed this App to make life easier. You wouldn’t go amiss to check this one out!

And that’s Week three of App Month down!

So, are you digging the flurry of new Apps reviews? It certainly looks like you are! I have two more to write up this month, and I am looking forward to diving into both of them!  

In other news, I have been asked to give another Webinar, this time by WebGentle! For this one, I have opted to present on one of my favorite articles to-date, “So, you’re now a JIRA Admin, now what?” We will cover steps you should take your first week as a JIRA Admin to set you and your instance up for long-term success. The webinar will be on Thursday, July 23, at 10:30 AM EST/8 PM IST. You can register using the link below to attend! I hope I get to see all of you there!

  • Register to attend Webinar

Future Rodney here! The Webinar is already one. But fear not, you can view the YouTube video for it below! Now back to our regularly scheduled post!

I also wanted to get your thoughts on something. How do you capitalize JIRA? I still put it in all Caps – it’s an old habit, and not 100% accurate, but it’d take me longer to change it all to normal on this site than it’d be worth.

However, I want to know what you readers think. So I’ll be putting a poll in the article, and keeping it open for two weeks. If enough people vote Jira, I’ll start using that here forward.

But that’s all I have for this week. Please remember that if you liked this post, please like, comment, and share it on your preferred social media platform. If you loved this article, sign up below to get new posts delivered straight to your mailbox. You can also follow me on Twitter, Facebook, and LinkedIn! But until next time, my name is Rodney, asking, “Have you updated your JIRA issues today?”

App Review: Custom Charts for JIRA by Old Street Solutions

Just going to start this off with a simple statement: I love dashboard gadgets. I don’t think that’s controversial. The fact that JIRA gives us this excellent way to parse, sort, and display the data within issues makes it unique. But, sometimes, I find the default gadgets a bit limiting.

VisualScript does help. It’s crazy flexible, but to get the most out of it, you need someone who knows JavaScript. And we don’t always have that luxury. Don’t get me wrong, the built-in library and Community make it an easy purchases, but what else is out there?

That’s where this week’s App comes in. For the second week of App Month, we will review Custom Charts for JIRA by Old Street Solutions. This App claims to allow us to make custom reports for our Dashboards without any code. Let’s take a closer look to see how they pull this off!

As with last week, we’ll look at what it does and how it does it. Then we’ll review what it does well, what it could do better, would I recommend it, and where does it rank. Let’s get into this.

Custom Charts for JIRA

Charts

So, as a rule of thumb, any App I consider has to solve something your current instance cannot do well. If you already have an App for that functionality (or worse yet, it’s something JIRA can do on its own), why bother?

That also makes my first question for any App easy. “What problem does this even solve?” That is usually followed very quickly by “What do we have that also does that?”

In this case, the problem we are solving is that JIRA only has so many dashboard gadgets, and given that, you can only parse issues so many ways. Not to mention the built-in gadgets rarely respect any order, will not let you manually set a sort-order, and generally, you have to have a filter pre-setup.

Custom charts solves this by giving you a new gadget (aptly named Custom Charts). Here you can display several different graphs. Specifically, they are:

  • Pie Chart
  • 1D Bar Chart
  • 2D Grouped Bar Chart
  • 2D Stacked Bar Chart
  • Funnel Chart
  • 1D Table
  • 2D Table

Now you might be saying, “Hey, Rodney, you might have a problem. Several of those are already on JIRA.” Well, if that’s you, You are correct! The Pie Chart, 1D Table, and 2D Table are already present in the default set of Gadgets. So, what sets them apart?

Customization Interface!

That’s correct. Unlike the built-in offerings, you can customize these charts to the nth degree.

You can also change the filter, as well as use JQL instead of a saved filter. This feature is significant – sometimes, when I want to change the information displayed, I don’t want to find the filter, bring up the filter, change it, go back to the dashboard, and repeat until I get the changes in place. This simple option lets me adjust the JQL right there in the gadget.

The gadget also lets you change the order to anything you desire, and tweak what the App shows on the gadget. On the appropriate charts, it will even let you change grouping (and its order)! Basically, there is no part of the chart that there isn’t an option for.

Search Gadget

This one is a bit harder to wrap your head around – but can be amazingly powerful. When you are setting up your charts, you have three options for the source.

You have saved filters, which works exactly as it does for the default gadgets. Next, you have the JQL setting, which we have already discussed above. And finally, you have a third option, the Simple Search Gadget. This feature lets you pull from a gadget that defines search criteria for all other gadgets configured to use it.

This gadget makes your dashboard a living board that responds as you adjust and refine the criteria. Let’s say you want to drill down into work being done by Van Helsing. Just change the settings on the Simple Search Gadget, and the rest of the board responds upon your button press!

Upcoming feature!

Old Street Solutions does something beautiful I wish more companies did. They have their roadmap available for anyone to view! No joke, you can see it here:

I’ve been talking with the team at Old Street for a bit now. They acknowledge that they do not support Date fields currently. However, they are pending a release any day now that will fix this. As it is not a feature I can currently test, it should remain something you look at in your decision making.

Why this instead of VisualScript?

So, remember when I said part of my general App evaluations includes asking “Will JIRA already do this?” This is where that question comes in. I personally cannot help but to compare this App with VisualScript. So, why choose this one?

While they both perform similar functions, I see VisualScript and Custom Charts very differently. VisualScript is very flexible – it can do anything you want so long as you can program it. For some JIRA Admins, that is an okay tradeoff.  

In comparison, Custom Charts is not as flexible. But that is alright. Their niche is to provide you richer and more customizable gadgets than the default set. They won’t do everything, and they don’t have to. If Dashboards gadgets are a line graph, the default Gadgets would be on one end, VisualScript on the other, and Custom Charts somewhere in the middle.

My Analysis

What this App does well

It does what it says – allow you to make fully customizable charts. There isn’t an option on the end view that you can’t tweak. The ability to tie all of them to a Search Gadget is just icing on the cake. I love it when a company provides me a feature I didn’t even know I wanted!

On top of that, the company is open about its Roadmap and what they intend to do. In a world where getting decent Release Notes seems impossible, having a roadmap was an unexpected pleasure.

What this App could do better

Honestly, I was hoping for more charts. In a world with seemingly a million ways to display data, the seven given feels a bit limiting. I see the line chart on their Roadmap, though, so I’m not the only one who missed it. Maybe this is something they intend to grow as they have time. But honestly, that’s about it. It’s a robust offering that you can tell was built with intent and care!

Would I recommend it?

Very much so. There is a niche here for people who want more control over the information displayed through Dashboards, but do not want all the setup and power VisualScript brings to the table. I feel Custom Charts sits comfortably in this niche.

Just be warned, once your users have a taste of what this App can do for their dashboards, they may never go back to only using the default set again!

Custom Charts for JIRA’s Rank

So, I like the idea of keeping up with my App Ranking board as I review Apps. I’ve added both of the ones I’ve done for App Month. I just feel it’s an easy way to represent how these Apps compare to each other.

Custom Charts was harder to place than the Admin Toolbox last week. It does only one thing, but it does that one thing VERY well. So, I felt it earned it’s “A” Rank.

This App won me over on its ease of use. Anything I can give users where they can just figure it out without hand-holding gets a win in my book. Then there were the features that surprised me. As I stated before, I always love to find a feature already present I didn’t know I needed – like the Simple Search. Great Job on this App!

So what do you think?

I am so far finding some great Apps this month that have just been lurking on my “To check out eventually” list. I know I always need to keep on top of what’s available in the marketplace, but it’s easy to get behind on that. What are some of the lurkers on your list? Have you been inspired to check them out?

If you enjoyed this post, stick around! We will have at least three more App reviews this month. We also have a whole collection of tips, tricks, and how-to’s to help you get the most out of your Atlassian Instances! Don’t forget you can sign up below to receive emails as soon as we release a new post.

You can also follow me on Twitter, Facebook, and LinkedIn! Be sure to like, share, and comment on the various social media platforms to tell them that they need to show these posts to others! You’d be surprised what a difference it makes! But until next time, my name is Rodney, asking, “Have you updated your JIRA Issues today?”

App Review: Admin Toolbox by Decadis

A few weeks ago, I posted my “JIRA App Tier List, ” You all loved it.

However, a few of you wanted to know why I didn’t include your favorite App. As I was going to speak on the strengths and weaknesses of each, I felt it wasn’t fair to judge an App with which I wasn’t familiar. So I decided only to include Apps I have either used before or have personally demoed.

However, in July, I intend to fix that. Each week I’ll be reviewing apps from different vendors in what I call “App Month.” These are all Apps that people have approached me about since publishing the article. If you have a favorite App we have yet to look at on the blog, please share it so I can look at it. I actually keep a list of these to review as I have time!

For our first run, we will be looking at one of the Xapps collection from Decadis: Admin Toolbox for JIRA. On the tin, it says it will help make admins’ lives easier. Let’s take a look and see just how they do this.

Admin Toolbox for JIRA

To quote the Marketplace listing for this App, “Admin Toolbox for Jira was built by Jira Administrators for Jira Administrators to save time providing the following functions.” Going down the list of functionality, I can see how some of these functions would have made my life easier. Let’s take a look at the features.

Configuration Search

This single feature, if I’m honest, would likely be my most used feature. By pressing “g” then “x” in short succession, you get a menu that can search all the configurations for settings.

Do you need settings relating to a specific field? Then type that field’s name, and boom, you’re there.

Same with Schemes, Projects, Screens, Workflows, anything! If you can find its name, you can go there directly. And if you include the Project Key in your scheme names, you can even do this excellent trick.

Considering you will spend most of your time in the UI, anything that will help you navigate it easier is an easy win. A thumbs up for this feature!

Copy Transitions, Validators, and Conditions

Completely custom workflows can be the worse, am I right? I mean, you have to go into every transition and do something. Add a validator. Add a post function. Tweak a condition. And it is often very repetitive, as you are just making slight variations on the same setup repeatedly. Makes you wish you have a copy and paste for workflows?

Well, Decadis heard out wish. The Admin workflow allows you to copy a post function, condition, or validator to any other part of the workflow – or even another workflow altogether!

I don’t know about you, but this would speed up my custom workflow builds by quiet a bit! It takes one of the most monotonous parts of the process and speeds it up. This is fast becoming a theme, no?

Workflow Report

This one solves a problem that even Botron’s Power Admin won’t fix. When you search an App in Power Admin, you might notice a blank spot.

However, when we use the Admin Toolbox’s Workflow report, under the Transition Attribute Report tab, we can see exactly how many transitions are using which apps.

This handy little tool will also tell you when your workflows have problems through the Error Tab.

Yes, I purposely uninstalled the JMWE App to produce this error. Thank you for noticing.

This kind of reporting was always a blind spot in my Plugin analysis. I’m glad to finally have a tool in the tool-belt to deal with this once and for all.

Project Shuttle

So this feature I’m mostly on the fence. What it does is add a new menu that lets you define your projects and how they relate to each other. For larger companies that have a lot of projects, this could be a game-changer.

However, I’m always hesitant to change JIRA’s navigation too much. It can cause problems for new employees at your company that are familiar with JIRA from other companies.

Another problem I have is it reuses the term “Project Category” without using the existing settings by that name. This change is yet another source of confusion for JIRA Admins that are not familiar with this App. A minor pet-peeve, I’ll admit, but there it is. I cannot tell you how many times I feel for traps like this when I was a new JIRA Admin.

However, I feel the win for ease of navigation far outweigh any (admittedly) personal hang-ups I have on how it’s done.

My Analysis

So, I’m going to try something different for App Reviews moving forward. I’m going to look at four things: what I think the App does well, what I think they could improve on, would I recommend the App to you, and where it ranks on the Tier list. I don’t know how well this will work, so I’d love to hear your feedback! Let me know what you think of the featured Apps this month!

What this App does excellent.

It seems their tagline of “built by Jira Administrators for Jira Administrators to save time” appears accurate. Every feature saves you time in either navigation or information collecting. I can easily see scenarios within my career where tools provided would have saved me so much time.

For Example, there are days even now where I’ll look at some change I want to make, and I’ll have to go, “Where is that setting again?” And I’ve already discussed how monotonous it could be making a bunch of the same transition post functions in a large workflow. So yeah, the main benefit of this Apps is the time savings it can give you by making your life that much easier.

What this App can improve on.

As I stated, my biggest quip is the reuse of the term “Project Category” in the Project Shuttle feature. I’d personally like them to use the built-in categories already in JIRA. But, I also don’t see an easy migration path to that without upsetting a lot of customers, so I think I’d have to deal with this.

My other thought on what it can improve is also not easy to fix, based on its concept. As a general rule of thumb, any App that only benefits one team has a higher burden of proof than one that can be used by everyone. That is to say; I’ll need to see a greater need for it than I would say a dashboard gadget.

This policy isn’t me being picky. Apps can be expensive! Spreading that cost by having more users use it makes it easier to justify. Therefore, the inverse is also true – an App that only benefits a few should be harder to justify. 

Would I recommend it?

Yes. Absolutely yes.

I bet you already figured that if I went through all this trouble to write this post. It either had to be that bad or that good. Thankfully this one is the latter.

Look, fellow JIRA Admins. Our jobs are hard. We have to balance management’s need for insight, the user’s need for ease-of-use, and the system’s need for stability. So I’m all in on anything that will make that job more manageable. And I see this App doing just that.

So do yourself a favor. If you have a few cycles, load this up on your Testing instance, and play around with it. You won’t be sorry.

Tier List Ranking

So, now that it has my recommendation, how does it rank? To be clear, every App on the tier list has my recommendation. But I fully acknowledge that some are just better than others.

Looking at this App, it’s a robust offering. It does have a few flaws, but those are admittedly nit-picks. More importantly, it actually does what it sets out to do. It’s not groundbreaking, but I feel it earns an easy “A” Rank.

And that’s the First App of App Month down!

So, let me start with another thank you to all the readers out there. When I started posting regularly to the blog, I would have honestly been happy if my potential employers would have read it. After finding a job, I would have been happy if I at least helped someone else in their career.

But this is just crazy. As I’m writing this, we just hit out 1700 page views in June. And we also topped 1000 visitors to the blog! You readers didn’t just break the one-month record; you smashed it! That is more than I ever thought would ever visit my humble blog. So thank you to everyone who shares the blog with their colleagues, comments on it on social media, and helps this blog continue to grow. You all are what drives me to keep posting each week.

In speaking of social media, don’t forget to follow the blog on Facebook, Twitter, and LinkedIn. While you are on the various social media platforms, don’t forget to like, comment, and share the blog. Doing this lets the platforms know you like the content we have here, which will cause them to share it on! You can also subscribe to receive posts directly to your email by using the form below! But until next time, my name is Rodney, asking, “Have you updated your JIRA issues today?”

Integrating your Atlassian Cloud with Azure AD

Well, today, it seems we are going to do something I admittedly rarely do on the blog. That’s right; today, we are going to admit that JIRA Cloud exists!  

It’s not that I have anything against JIRA Cloud. My specialties tend to lie around making sure the underlying JIRA system runs as smoothly as possible, which is hard to do when you don’t own the underlying system. However, there is still plenty of overlap between JIRA Server/DC and JIRA Cloud, so it’s not like I’m unqualified to speak on it!

So it’s no secret at work that I maintain a whole collection of personal test systems. I do this to replicate and test just about anything I want without waiting for permission. The environments include (but are not limited to):

  1. VCenter Environment for VM’s
  2. More Raspberry Pis than I rightly know what to do with
  3. AWS Account
  4. Azure Account
  5. Cloud Environments of Confluence, Bitbucket, JIRA Software, and JIRA Service Desk
  6. Server Environments of Confluence, Bitbucket, JIRA Software, and JIRA Service Desk
  7. Several VPS online, including one running (wait for it…) Confluence.
This is RACK01. As in, “Yes, there is also a RACK02”. I…I might have a problem.

So, when my manager wanted some help looking into some oddness he saw in JIRA Cloud using Azure AD, he knew who had the tools to recreate and test that setup.

However, I didn’t know how to set up the integration when I started. So I had to learn that. And since I had to learn, I might as well help you learn too!  

Pre-reqs

To pull this off, you will need a few things first.

  • An Azure AD subscription. If you don’t have a subscription, and just want to do some testing, you can get a one-month free trial here.
  • Atlassian Cloud single sign-on (SSO) enabled subscription.
  • To enable Security Assertion Markup Language (SAML) single sign-on for Atlassian Cloud products, you need to set up Atlassian Access. Learn more about Atlassian Access.
  • A Claimed Domain with Atlassian. To do this, you will need to be able to modify the DNS records for your domain.

Also, we cannot forget the documentation. This actually was from Microsoft, and not Atlassian! Shocking, I know. But it was on point and guided me through most of the process.

Setting up Single Sign-On (SSO)

Single Sign-On, or SSO, is a mechanism that does what it says on the tin. If you log in to any application participating in the SSO environment, you will not be required to re-enter your password to sign into any other participating app. So if both your JIRA and Confluence are a part of the same SSO environment, you can start working in JIRA, then move over to Confluence without having to pause to authenticate again.

  1. To get started, go to your Azure AD Directory, then click “Enterprise Applications” in the sidebar (underscored in red). This page is where you will set up the Integration with Atlassian Cloud.
  1. Now that you are on the Enterprise Applications Screen click “New Application.”
  1. In the search bar shown, type “Atlassian Cloud”. Doing this will bring the integration up in the search results. Once it appears, click on it.
  1. Clicking the search result will cause the following menu to Pop up on the right-hand side. You won’t need to modify anything here, so you can click “Add” at the bottom of this menu.
  1. We can safely skip “1. Assign users and groups” for now. Proceed by clicking “2. Setup Single sign-on.”
  1. On the next screen that appears, you are presented with three choices. Select the second option that says, “SAML.”
  1. Next, you will get a pop-up asking about Saving. For now, click ‘No, I’ll save later.”
  1. You can save Section 1 on the next screen for later – as you will need information from Atlassian to complete this section. Instead, move onto Section 2 by clicking it’s “Pencil” icon.
  1. Here, we’ll only need to update one attribute. By default, Azure AD wants to send the user’s Principle Name to Atlassian Cloud. However, Atlassian wants the email address in this field. So to change it, click “Unique User Identifier (Name ID).
  1. Doing so will cause the following form to appear. Change “user.userprincipalname” to “user.mail” under Source attribute, then click “Save.”
  1. On the Navbar, click “SAML-based Sign-on” to return to the previous section.
  1. With the Attributes & Claims ready, we can start collecting information Atlassian will need. To begin with, download the Base64 Certificate in Section 3 to your local system.
  1. The next three pieces of data we will need are in Section 5. Copy the three URL’s highlighted below to a notepad you can reference later. To find them, you will need to expand the “Configuration URLs” Dropdown menu.
  1. Now we can switch over to Atlassian and start the setup there. Under your https://admin.atlassian.com admin page, Select Security →SAML single sign-on
  1. On the page shown below, click “Add” SAML configuration.”
  1. Now we can start entering the information we got from Azure AD. Be sure to pay attention to how I have it mapped below, as Atlassian and Azure have different names for each field.
    • Enter Login URL from Azure into the Identity provider SSO URL field
    • Enter the Azure AD Identifier from Azure into the Identity provider Entity ID field
  1. Now open the Certificate you downloaded in Step 12 in a text editor of your choice. Copy the contents into the Public x509 certificate Field, then click “Save.”
  1. Now we will need to give Azure some information on your Atlassian Cloud setup. To do so, copy the “SP Entity ID” and “SP Assertion Consumer Service URL” fields from the next page.
  1. You remember in Step 8, when I had you skip Section 1 on Azure’s SSO Configuration? Now is when we will go back and fill it in by clicking the “Pencil” icon.
  1. Here we’ll copy in the two URLs we copied in Step 18 into the two highlighted fields. Be sure to pay attention below, as again, Azure and Atlassian disagree on what to call these fields.
    • The SP Entity ID field from Atlassian goes into the Identifier (Entity ID) field in Azure
    • The SP Assertion Consumer Service URL field from Atlassian goes into the Reply URL (Assertion Consumer Service URL) field in Azure
    • Be sure to click the “Default” checkbox next to both, then click “Save”
  1. You should get a Pop-up asking if you want to Test single sign-on.  Click “Yes”.  This will open the following screen.  If your user is already provisioned in Atlassian Cloud, click “Sign in as current user”
  1. Congratulations, SAML SSO is now setup!

Setting up User Provisioning

So, we have SSO setup. Great!

As things stand now, you still have to go and manually populate every new user in your Atlassian environment. Not Great.

To resolve this, we’ll next setup User Provisioning, which also does what it says. This process will automatically set up new users in your Atlassian Cloud system as you add them in AD. Which, once again, will be Great.

  1. Go back to the Atlassian Cloud Integration page in Azure. This is the page from Step 5 of the SSO setup above. Once there, click “Part 3. Provision User Accounts.”
  1. On the next screen, we will select “Automatic” under Provisioning Mode:
  1. Next, we’ll need to set up some things under your Atlassian Access screen (https://admin.atlassian.com). To get started here, click “Back to organization” → Directory → User Provisioning.
  1. Now we will click the “Create a Directory” page to get started here.
  1. Enter a Name for your Directory. To keep it descriptive, I like to copy the name from the Azure Directory. After we enter the name, click “Create”:
  1. With this created, Atlassian presents us with two pieces of information that we’ll need to give Azure. Copy both the URL and the API key.
  1. Back within Azure, we will enter both of these into the Admin Credentials section. Again, be careful here as Atlassian and Azure disagree on what to call them.
    • The Directory base URL from Atlassian will go into the Tenant URL field in Azure
    • The API key from Atlassian will go into the Secret Token field in Azure
    • Be sure to test the connection after you enter both
    • OPTIONAL: You can also enter a Notification Email to get failure notices.
  1. On the next page, Mappings, you can use the defaults as-is. Just click “Next.”
  2. Under Settings, Set “Provisioning Status” to “On,” then Set Scope to “Sync Only Assigned users and Groups.”
  1. Click “Save,” and you are done!

Azure AD will not sync your selected users to Atlassian automatically! But which users will Azure sync? That is the focus of our next section!

Adding Users and Groups to sync to Atlassian Cloud

So with our setup right now, we have Azure syncing over only selected users to Atlassian. We set it up like this because if you sync everyone and have a large AD environment, you can quickly find yourself out of licenses on JIRA. So let us explore how we tell Azure which users it needs to set up in Atlassian Cloud.

  1. Back on the Atlassian Cloud Overview Page (again, from Step 5 of the SSO Setup), click “Users and Groups” from the sidebar.
  1. On this screen, click “+ Add User” at the top of the screen.
  1. Click “Users” then select the Users that Azure should sync with Atlassian Cloud. Repeat for Groups that you would like to also sync over to Atlassian Cloud.
    Note: As I did my testing on Azure’s free tier, I didn’t have groups available to get a screenshot of. Sorry!
  1. Select Role then click Assign. Congratulations! These users will now be populated into Atlassian Cloud during the next sync operation!

And that’s it!

You now have your Atlassian Cloud environment setup and ready to use Azure for Authentication! If you are already leveraging Azure AD to manage your users, it is just one less headache to worry over. 

Job Seeker Profile!

So, it does happen where someone searching for a job will contact me to ask if I know of any open positions. Unfortunately, I am not always able to help them in that regard. However, given the uncertain times we live in, I want to do something. So I’ll feature them here.

That is the case today with Siva Kumar Veerla from Hyderabad, India. He has recently been thrown into the job market due to the COVID-19 Pandemic. From his CV, he is a solid Atlassian Administrator who has led several projects, including upgrades and system installs. He is currently looking for opportunities in India or Europe. If you think he might be a good fit for you, please feel free to contact him on LinkedIn or through the information on his CV.

And Other exciting things!

Let me just say…Wow. This month has been amazing! For starters, look at this.

Yes, that is a new record month for the blog! Thank you for continuing to read, comment, like, and share the blog on the various Social Media platforms.

I’d also like to thank Predrag Stojanovic especially, who pointed out an Atlassian Group on Facebook. And well, that group loved last week’s blog post! So, I’ve gone ahead and set up a Facebook page for thejiraguy.com blog! Like Twitter, like this page to get the latest posts from the blog and random Atlassian news I find interesting! You can also subscribe below to get new posts delivered directly to your inbox!

Also, I will be giving a presentation tomorrow on Monitoring your Atlassian Applications using Nagios! If you are in the Atlanta, GA area, tune in Thursday! If you are not, I am trying to refine this presentation to submit to Atlassian for Summit. So, with a bit of luck, you’ll be hearing it from me next April!

But until next time, this is Rodney, asking “Have you updated your JIRA Issues today?”

More JQL Tricks

Well, we’ve made it another week. And let me tell you what a week it was. You guys killed it on the previous post – it’s currently the second most viewed post on the blog – and on it’s way to becoming number one! Thank you all so much!

Today’s topic also mirrors another popular post. I am looking at several more JQL tricks you can use to optimize your queries. Some of these are suggestions that I got in response to my previous post, some are new tricks I’ve learned, and some are stuff I cannot believe I missed. Lets get rolling on this.

Starting with the Basic search

So this was one of the ones I got as feedback from my previous article on JQL, thanks to Ed Gaile. And the trick is so simple I am ashamed I forgot to include it. This trick is when you start building a new query – start in basic mode.  

Starting with the basic search will allow you to define parameters easily. Then, once you do so you can switch to Advanced, you can see and edit the JQL String.

One of the most significant benefits of using the basic mode first comes with adding a time-based parameter. When you do so, this handy pop up will appear to let you define your exact timeframe with no hassles!

membersOf()

We covered previously how powerful the currentuser() function is. It will let us easily customize a single query to whoever views it. Let’s consider this situation.

Your QA team consists of Bob, Lisa, Jerry, Beth, and Chris. You want a query that will return everything assigned to QA. And go!

Your first instinct is to write a query similar to this:

assignee in (Bob, Lisa, Jerry, Beth, Chris)

While functionally correct, this can cause problems. Let us say Jerry is tapped to become a Program Manager. You now have to go back and update your query. Tom joins the team now to replace the vacancy left by Jerry. Another update. What if there is another way?

If your team is within a JIRA group, you can reference that group directly in a query. Let’s assume the same situation, but we know the JIRA Admins use group jira-qa to manage permissions specific to QA. We can then replace the above query with the following:

assignee in membersOf("jira-qa")

The benefit here is that the Admins will update the group to change out Jerry’s job function and on-board Tom, so your query requires no changes to stay up to date.

If your instance is using Active Directory syncing, you might also be able to leverage AD Groups directly in JIRA. The benefit here is as your AD Groups are updated, the change is automatically reflected in JIRA, and therefore your query!

lastLogin()

So this one is very situational. Let us assume that as part of a triage operation, you want to make a query that shows everything that users created since the last time you logged into JIRA.  

You can write a query that looks for everything created in the past day, but that will only get half the data from the weekend. Plus, for most weekdays, that will include issues you’ve already triaged. Not ideal.

That is where the function lastlogin() comes in. This function will return a timestamp from your last login so that you can find new issues. In practice, it looks something like this:

issuetype=Bug and createdDate >= lastLogin()

This function also works with updatedDate and resolutionDate, so you can find issues that were updated or resolved since your last log in. For Triaging and reporting, definitely a good thing to have in your toolbox.

Filter using another filter

All right, here’s one I found as research for this post. And honestly, I didn’t even know it existed. You can reference another filter in your query, and add onto it!

filter = "Filter Name" AND ...

Yes, this is a real thing! You can use this trick to narrow down the results of a query further, or two build several variations on a query while abstracting out the common parts. It amazes me to this day that I can have studied this platform extensively for years, yet I can still find something I genuinely did not know!

Subscribing to a Saved Filter

So, let us go back to the Triage example from the lastLogin() section. You’re happy with the results, but you hate that you have to log in to JIRA each morning to get started. Maybe you’d like to review the results on the train while on your way to get a head start? You can use JIRA’s Mobile App, but that won’t remind you to do it.

There is a way to get JIRA to email you the result of your query on a set schedule. This trick is called a subscription, where JIRA will run the saved filter based on your permissions, and send you the results via email.  

To set up a subscription, first navigate to your saved Filter. Then click “Details -> New Subscription”

Once there, you can set up which groups (to which you are a member) will receive the query. You can also select “Personal Subscription” (which is the default) to send it to yourself. Afterward, select how often you would like to receive the filter results and click “Subscribe.” Congratulations, you will now start regularly receiving the Query results.


Searching through the Past

So, it is now time for “Admin Storytime” with Rodney. Once upon a time, a Project Manager came up to the brave JIRA Admin nervous. One of the villagers wasn’t too smart and had closed many issues that shouldn’t have been. The Project Manager was scared that this would mess up their project, so he needed our hero’s help in finding all the closed issues and reversing the dreadful curse. 

So what did the hero do? He did a historical searched using the Changed functionality. 

For those not familiar, you can use “changed” to take a look at what a field value was, who changed it, what they changed it to, and when they changed it. In this case, the query looked like this:

status changed to Closed by Villager after startOfDay()

I would note that not all fields support this kind of searching – in fact, the vast majority doesn’t. Status, however, is one I can usually search the history on, so it’s handy to keep in mind.  


sorting

Sorting your returns

So, most of the time, the order you get issues back in is not essential. But sometimes, it does help you understand the data if you can sort it by one metric or another. This situation is where the “Order By” function comes in.  

reporter = currentUser() order by created ASC, updated DESC

This function allows you to specify what order you’d like to receive the results. For example, you can sort it by date created in Descending (DESC) to get a list of results sorted from the newest to the oldest. Put the field you’d like to sort by, and then the direction you want to sort on, and you are off to the races.

You can also sort by more than one field. For example, you can first sort by the assignee to get an alphabetized list of issues by assignee, then sort by Updated to get the newest issues touched by each user on top of each user’s results.

I should note that not all gadgets respect the Order By function, so your mileage may vary on Dashboards, but it’s still something handy to keep in mind.

So, what are your favorite JQL Tricks?

As I have noted, some of these I got from your comments on the previous JQL post. So what other JQL tricks do you have? Post your favorite tricks, and I may share them on a future post!

If you are in the Atlanta, GA area next week, I’ll be speaking during the first half of the (Remote) Atlassian Community Event on how to set up Nagios to monitor Atlassian Applications. I hope you will join us!

Don’t forget to comment, like, and share this post on social media of your choice to help spread the word! As I said, you guys have been killing it this month on the numbers, and I want to see if we can get an all-time high! Also, be sure to follow me on twitter at @theJIRAguy.

And as one last note, check out the newest Atlassian Blog on the block, run by my good friend Kris. She will also be posting weekly! Her blog will be more focused on the Super-User aspect, so it should be an different yet much needed point of view. http://www.notesfromkris.com/

But until next time, my name is Rodney, asking, “Have you updated your JIRA issues today?”