What's the problem
Many companies that use JIRA for internal and external business processes face problems with building Service Desk and CRM solutions. The problem is that JIRA has no Company dictionary so it is impossible to associate tickets or sales with customers. JIRA Users Dictionary has only Full name and e-mail fields and doesn't provide an opportunity to keep such information as Position, Phone number, or Company.
The above constraints force administrators to tune up integration with external databases. For example, you can use the nFeed plugin. It allows you to add a new field into JIRA issues and use it for selecting values from external DB using SQL-queries. The configuration of this plugin requires knowledge of SQL. Customers already using popular CRM-systems can use connectors such as Salesforce Plugin but they will have to work in both systems. You can also use the Contact Manager plugin for contact management, but it is very expensive in our opinion. Also there is a free solution - using special JIRA project and issue type Contact with unique attributes. But all these solutions either too expensive or not suitable for all situations.
We solved these problems by using CRM for JIRA. It allows your JIRA administrator to create contact and company dictionaries with the necessary attributes. The plugin setup takes about an hour. After that we can use dictionary records, search them, and create new records on-the-fly from the JIRA issue.
How It Works
Let's take a look at how we create a new company in CRM. This can be done 3 ways:
importing from external data (XML, CSV-files, external DB)
creating company in the dictionary
creating company in JIRA issue
To create a new company in the dictionary you can just click Add button in the toolbar and fill in attributes:
Notice that the Company name field is intelligent. If you start typing a new company's name - the system will display existing records from the dictionary with similar names.
JIRA Administrator can add a new attribute to the card or even the whole tab at any time.
You can also determine if the attribute is required.
If you need attribute with long dictionary value (for example, branch or city) you can use an attribute with Custom Dictionary value that displays values from a custom dictionary. These dictionaries are also a part of the CRM plugin. Please note, that you can add new values to the dictionaries from the JIRA issue without going into the dictionary.
Also, you can add a list of chosen company issues to separate tab, see more How to display a list of issues at Company/Contact card
There are situations when it is necessary to create an organization directly from the JIRA issue. CRM plugin automatically determines the company by issue reporter almost in all of our projects:
But you can enable manual filling in of companies - it will allow the users to select a company from the directory with live search by name or any other attribute, for example VATIN, phone number, website, etc.
If the CRM plugin cannot determine the company automatically (reporter doesn't have a specified company) the field will suggest creating new or select existing.
Working with the company table is simple - just type any part of the company name. It's possible to sort the company list by any column.
Other things to say about working with contacts. CRM plugin also provides Contacts Dictionary. It is a very similar Company Dictionary according to the features. There are two important things to focus on:
Contacts can be synchronized with the JIRA users system dictionary. This allows CRM users to create JIRA users without having JIRA Administrators permission.
To work with contacts from company cards you need to add an attribute with Contacts type. It will allow you to associate contacts with the company.
User can quickly find, create, or edit contacts from company card:
Managing companies and contacts will allow you to search for issues and make reports by them:
You can also display contacts and companies in the columns of your JIRA issue navigator: