App Review: Elements Connect

Paid Partnership with Elements

It may sound odd, especially with me running a blog and all that, but I’m still uncomfortable with the idea that I’m some sort of influencer. The idea that people can be fans of mine is still a new concept – and something I’m still very much adjusting to. All that is to say, when I get a contact from a new Marketplace vendor, there is still a bit of disbelief present on my part. 

That was very much the case when Elements contacted me earlier this year, asking if I was interested in reviewing one of their Apps. 

However, I took a look at the App in question and began questioning where this App has been. No, seriously, this product was the answer to several long-standing requests I’ve had over the years at previous companies. So today, I will be looking at Elements Connect and what it can do to help Jira leverage information from other services in your Organization.  

Features

Before we get to some use cases, let’s take a minute to talk about what Connect does. Which well, I’ve already done. It connects to remote resources to query information. This connection can take the form of other services, such as Zendesk or Salesforce, or remote MySQL, MSSQL, and PostgreSQL databases. It can even query LDAP sources to bring in more detailed user information.

It’s a simple concept, but to be honest, it’s also been one of my biggest headaches. As long as I’ve been a Jira Admin, I’ve had people who wanted to connect Jira to another service to gain more insight on issues, and my answer has always been the same:

I have neither the skill to implement a bespoke integration nor the time to acquire such a skill.

Victorian Rodney, Probably

But this changes things. Seriously, this is why I love exploring new Apps. The exciting sense of possibilities as you learn a new offering on the marketplace. That feeling that if this comes up again, you can go, “Yes, we can do that easily!” That’s a worthwhile experience. So, let’s go into some of the ways you could potentially use this new tool to bring more nuance to your instance’s Jira issues.

Connect Salesforce to link Jira tasks with opportunities

For this review, Elements provided a demo instance with several use-cases baked in that I could play around with – and this was one of the included integrations. The concept is simple. In Salesforce, you have opportunities you can associate with Jira Issues. This inclusion should allow you to know how much money a particular piece of work can bring in, which could help you prioritize and plan.

The scary thing is that this EXACT use case was a request I had at a previous company. No, seriously. If I didn’t know better, I’d swear they obtained our old mock-ups and used that to design this integration. We tried several add-ons that were available at the time to try to get this working, and we could never get it off the ground. Yet, here it is. Just…there. Just saying – this had my attention before, but now I was taking notes.

This field works exactly how you’d think. When you click edit, you are presented with a complete list of opportunities as queried from Salesforce. Press ctrl+click on each opportunity you want to attach to this issue, then click the checkmark. And Voila! You’re done!

And to be clear, you are not limited to Opportunities. If you can query it in Salesforce, you can search for it to include in Jira issues.  

Query LDAP for extended user details in Jira

This example was the second built-in Demo data source was an LDAP source, used to query details about a User in an HR Project. This demo also demonstrates a dependency between connected fields – updating one automatically updates the other. 

One of my grievances about Jira is that it just didn’t do much with user data. Beyond username, password, and groups, it just didn’t care. This connection gives you a chance to bring some additional information in do so something with. If it’s available in your LDAP instance, you can do things like reassigning to a manager for first-level approval. I’ve tried a few times in the past and couldn’t get this to work. The information just wasn’t available. I’ve done hacks before to try and get around it, but it never quite matched what I wanted. Now it’s possible, and I can’t wait to start experimenting with it. 

Custom Database, no problem

So, this is the data source that I’m most excited about. I am not a DBA, but I can string together some Select statements, which means If it exists in a relational database, I can probably query it. So I decided to take this to a logical conclusion: Minecraft.  I run a semi-vanilla server for some family members, and one of our add-ons allows us to story changes made temporarily in a database – for easier rollback. Well – it’s in a database, so let’s play around with it.

Admin Interface for Connect: Creating a field to query all users from a MySQL DB

First thing I do is add a field to search the database for Minecraft usernames.  This will allow a user to identify their username in a ticket to help an agent act.

Admin Interface for Connect: Creating a second field that uses the value from the first.

Then I take the value of that field (if present) and use it to query the database for the last five console commands that the user issued. And with just two related fields, I got this result.

And because this is connected to a live database, as I issue commands in the game, it updates real-time.


Now, I didn’t get this on the first try.  Honestly, it took me a good amount of time to figure out how to get the results exactly right.  This is where the Configuration tester came into play.  By selecting a test issue, I could see what the result would be and how things would play out. 

It also has a tab that lets you explore the structure of the data source – which, If you are navigating an unfamiliar data source, this kind of insight is invaluable. 

And if I can do this for a game, can you imagine what I can do for something Enterprise level? Seriously: Mind. Blown.

Live Vs Snapshot Fields

So, I imagine most of the time, you are going to want the latest information to take action on.  This is natural – the whole point is to have the most accurate, up-to-date info – otherwise, a normal field would have been fine. 

However, even this can take two forms.  You can have the latest information as of the time you last edit the field or have the most up-to-date information whenever a field is loaded.  This is the difference between a Live field and a Snapshot field – and it’s a very powerful tool on shaping how the integrations behave.  

To explain this better, let’s look again at my example above with Minecraft.  The idea is that you have a Service Desk, and people report problems to you there.  Then you can see a few of the last commands they run.  This may give you some clues to help resolve the issue.  HOWEVER, this being a service desk, they very well could keep playing, and thus updating these commands, before you pick up the ticket.  

If the field was a live Field, you’d see the last 5 commands they ran as of the time you opened the ticket.  The information that could help you has dropped off the ticket, and therefore not likely helpful to you.

But, if it was a Snapshot field, it would preserve the last five commands they ran as of the creation of the ticket.  The information you need is right there, handy. 

So, it should be clear that your individual use case will show you which of the two you should have, but having the power to decide how the field behaves can be incredibly helpful. 

Full Demo Instance for you to try yourself.

So, Elements was kind enough to provide me with a private test instance.  However, you are also free to try the App – with integrations – before making a decision yourself!  They have a public demo instance available to play around with.  So don’t take my word for it, try it yourself!

My Analysis

What this App does well

So, this is another app that does what it says and does it well. It connects you to remote data sources and lets to bring that data into Jira. That’s it, but that is enough. It lets Jira do what it does best – let you query and organize data in fields; it just opens up what that means. And that alone can be a significant increase in usefulness. 

What this App could work on

So, I’ve had to have a good long think on this one.  I take it as a personal philosophy that no App is perfect, and each will have something that can be improved upon.  I keep that in mind when testing out an App prior to writing about it – try to spot where I’m struggling, or where I’m having problems.  And the response from the vendors has been positive.  Most have taken the feedback and gone ahead to work on those issues.

However, this App really made me think about it.  And ultimately, no App is perfect, and I found a point in my testing where I really struggled.  During my Minecraft demo setup, I ran across a point where no matter what I did, I could not get the other fields to show up on the Issue View.  They were on the screens, their contexts were set correctly, and they were populated – as best I could tell.  And then, suddenly, they worked.  And I could not figure out why they suddenly started working.  No joke, I spent a whole day of testing on this issue.  I did get a chance to ask about it.  During issue creation, if you populate a field that others use as a dependency, the dependant fields don’t automatically update.  The fix is easy enough – you need to add a post function to the creation step to get them populated. 

But – I had to be told this.  I’m told Elements is preparing some documentation for this – but honestly, I feel it should also have a warning about this somewhere in the settings. If a dependency is detected, just a notice that says to be sure to add the post function to the workflow if you intend to populate the dependency field during creation.

However, that’s still beside the point.  An App is pretty well set up if I actually have to think about this section, so well done Elements!

User Map’s Tier Rank

So, rank. When it comes down to it, I can see a lot of potential uses for this App. Even then, it’s still going to come down to your requirements on whether you would need this App or not. That being said, I have yet to find a better alternative for what it does, and I’ve been looking for years. So I think Elements Connect has earned its “A” rank. Hey, uniqueness counts.

So, what do you think?

Do you think this is something you would use? What use cases are you considering? I want to hear your thoughts! You can find me on Facebook, Twitter, Instagram, and LinkedIn, where you can comment on posts, keep up with the latest news, and interact with other fans! You can also subscribe below to get the latest The Jira Guy posts to your inbox. But until next time, my name is Rodney, asking, “Have you updated your Jira issues today?”

3 Comments

  1. “During issue creation, if you populate a field that others use as a dependency, the dependant fields don’t automatically update. The fix is easy enough – you need to add a post function to the creation step to get them populated.”
    Nice catch!
    I’ve been meaning to work with Elements Connect more, ever since I ran into them awhile ago (when it was nFeed for Jira).

    Liked by 1 person

  2. But you should be very careful with the number of custom fields which are loaded by postfunctions. Timeouts can quickly become a big problem here. We load our customer data via elements connect and unfortunately there are about 12 fields. This led to a lot of stuck threads with tickets created via api. We had to change to automation for jira for the automatic loading of depended fields. Fortunately the Plugin is integrated into automation for jira and so you can use it right out of the box 🙂

    Liked by 2 people

Leave a comment

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