How Do You Utilize JIRA as a CRM?
Asked by Ricky Wang Lin:

Does anybody know, if it's possible to utilize Jira as some type of CRM(via apps or natively) where you can search tickets based on current/old users (Don't believe this is a thing as Jira is inherently a ticketing system unlike Salesforce).

For example, I'd like to be able to click on my profile and be able to see all the tickets that are associated with me. I've seen some plug ins that are able to do sync with AD, but they don't seem to have this specific feature.

Any thoughts?


Answers:
author: Aron Gombas _Midori_
body: This particular use case is pretty simple to solve with gadgets.

There are two gadgets called "1D statistics" and "2D statistics", check out [here](https://confluence.atlassian.com/jira064/adding-the-two-dimensional-filter-statistics-gadget-720416991.html).

Just select the "assignee" field as dimension, it will display the assignees with a counter and clicking the counter will take you to the Issue Navigator with the assignee's issues shown.

comments: author: Capi [resolution]
body: Yes, this is a good one!


author: Ricky Wang Lin
body: Hi Aaron. Thanks for the response - I was aware of 2D statistics but never 1D statistics being around...

So in this case, Jira Default User fields will not be sufficient for the simple fact that they're prone to changes (e.g Assignee). Your proposal would really only work if the Assignee is assumed to be sticking to me, but it'll disassociate from me the moment the Assignee field changes to something else.


author: Aron Gombas _Midori_
body: Maybe you could do like this:

1. Add a new custom field "Original assignee" (or something) of the "User Picker" type
2. Implement a little automation (with the Automation for Jira app or ScriptRunner) that copies the new value of the "Assignee" built-in field when it is changing from NULL to non-NULL to the custom field but only if the custom field is NULL. Basically, the *first time* when the issue gets assigned, you also store that first assignee in the "Original assignee" field.
3. You use "Original assignee" in the 1D Stats gadget.

Maybe it is not complete, but it gives you the idea of using a second "immutable" field.


author: Capi [resolution]
body: My old company used to have Jira as a CRM. It was alright, but at a certain point they migrated to a dedicated solution that was more helpful for marketing activities.

You can create JQL reports and have those in dashboards, the question is how you would associate that to a specific user. Would you have an owner custom field or something like that?

comments: author: Ricky Wang Lin
body: Hello - thank you for the response!

Well, to start off, the requirement would be: "How do I find all the tickets related to Ricky?" Then we may evolve into something else fancier, but that's the starting point I'm looking for.

In terms of the 2nd part, yes, I presume there would be a contact/person field that pulls records from AD that we can enter value in. So if we were to run a JQL against all the tickets where my name is entered in that contact/person field, then it'd pull all of that. Ideally, a UI with search option would be nice to just look someone up for the more mediocre Jira users.

Any apps or tweaks you could recommend that your old company used?


author: Capi [resolution]
body: What info about each user would you like to sync from AD? Depending on what it is I can recommend different apps.

The suggestion from Aaron is a really good starting point.

Are your tickets deals? Are all of them associated to a company for example?


author: Ricky Wang Lin
body: Hi Capi From AD, itd likely be a custom attribute that represents a date the user completed an agreement.

I took a look at Aaron's response and don't think it's the best for our particular use case as we're looking.

These tickets are to actually be utilized to track our Jira / Confluence access request records, so they aren't really deals or anything. Basically, utilized Jira and this "CRM" like mechanism, I'm hoping to be able to answer questions like:

1. "When was Ricky approved to have Jira / Confluence access?
2. Has Ricky's user agreement expired and need renewal in order to continue to have access?"
3. "If Ricky left the project and no longer needed Jira access, when was his last day and how do we know there was a ticket for his departure"?

Hopefully this provides more insight!


author: Capi [resolution]
body: Well, syncing that attribute seems to be the important requirement you want to solve.

Do you have your AD on the cloud through Office365 or on your own servers? Do you have an LDAP sync with the Atlassian directory? Depending on your infra, the synchronization options will vary.

The rest sounds pretty much like a standard approval workflow and some basic dashboarding that allows to quickly query existing tickets in that project. I'm sure you can find examples online for the approval workflow.


Tags: server

zzz