Document toolboxDocument toolbox

(v1.1-en) CRM FAQ



General Assistance

  1. I just updated to Version 8.x of the CRM Plugin, is my license still valid?
  2. Can I enter my old Goldfinger Holdings license with the latest version of the plugin?
  3. Are all features of the plugin available when using an evaluation license key?
  4. Do you perform customizations if required?
  5. Help! I've run into a problem and can't seem to find a solution. What should I do?
  6. I want to be notified of any CRM Plugin updates, upgrades, or news. What's the best way to do this?
  7. What type of security is built into the CRM Plugin?

Installation

  1. What versions of JIRA and CRM systems work with the CRM Plugin?
  2. What setup is required in my CRM system?
  3. I want to install the CRM Plugin in our Salesforce sandbox environment so we can thoroughly test it before moving it to production. How do I do this?
  4. Does each CRM user need to have a JIRA user account?
  5. What permissions does the CRM Account used by the plugin need?
  6. Our JIRA instance is located on our intranet and is not publicly accessible - Can we still use the CRM Plugin?
  7. How do I upgrade to the latest release of the plugin?
  8. What's the best way for me to upgrade the plugin when I upgrade JIRA?
  9. Will I lose any plugin configuration settings when I upgrade?
  10. Is there a way to backup or copy the plugin configuration settings to another JIRA server?
  11. After installing or upgrading the plugin I get an error message that says "java.lang.IllegalStateException: The bundle is uninstalled"?
  12. After installing or upgrading the plugin I get an error message that says "java.lang.UnsupportedClassVersionError: com/go2group/jira/crm/config/PluginProperties : Unsupported major.minor version 51.0"
  13. Can I keep users from linking a JIRA issue to more than one CRM record?

Usage

  1. How does data get copied between JIRA and CRM?
  2. When I edit a JIRA issue why don't I see the plugin fields for the CRM Account, Contact or Case?
  3. When a new JIRA issue is created from a CRM record, which JIRA project is used?
  4. When the plugin prompts the CRM user for the project in which a new issue is to be created, can I restrict the list of projects and issue types displayed?
  5. How do I set JIRA fields from CRM?
  6. Can I use the custom CRM fields for reports / searches within JIRA?
  7. Is it possible to only synchronize certain Projects within JIRA and leave the others untouched (un-synchronized)?
  8. Is it possible to restrict which types of records in CRM are synchronized with JIRA?
  9. Can I link more than one JIRA Issue to a Single Salesforce Case?
  10. How do I make a field in Salesforce that hyperlinks to the linked issue in JIRA?
  11. How are values in JIRA Multi Select and Cascading Select fields sync'ed with CRM?
  12. How do I use the JIRA REST API to set values in the plugin's CRM fields?
  13. How are Usernames matched between JIRA and CRM?
  14. Can I sync data between JIRA issues and any object in CRM?
  15. How can I make the reporter of a JIRA issue the CRM user who clicked the "Create/Update JIRA" button?'
  16. When CRM data is used to update JIRA, how do I control which JIRA user is used in the change history as the user making the change?
  17. How do I control the author in Jira of comments copied from CRM?
  18. For SugarCRM can I sync issues with Cases instead of Bugs?
  19. Which types of JIRA custom fields can I sync with CRM?
  20. What about the API limits imposed by Salesforce?
  21. Why does the Cron Service fail to copy some Salesforce Files to Jira?
  22. What happens if my company copies our Salesforce records to a new Salesforce organization?

Procurement

  1. How much does the CRM Plugin cost?
  2. Is there an End User License I need to agree to before using the CRM Plugin?
  3. Is the EULA based per instance, or per user?
  4. How can I purchase the CRM Plugin?
  5. If for some reason I am not satisfied with the CRM Plugin, can I apply for a refund?

   


General Assistance

1. I just updated to Version 8.x of the CRM Plugin, is my license still valid?

Starting with version 8.0.0, the CRM Plugin switched from being a Paid via Vendor app to being a Paid via Atlassian app.  If you upgraded from a previous version of the plugin and had a valid license from Goldfinger Holdings, that license key will continue to work until the expiration date.  To see your license status look on the plugin's "Initial Setup" admin screen.  You may notice on the Jira "Manage apps" admin screen that it appears you do not have a license for the plugin, this is because you do not have an Atlassian license, but you do not need one until your Goldfinger license expires, at which point you will renew by purchasing a new license key from Atlassian.

Note that when moving from older CRM Plugin versions to version 8.x, you should ensure you retain the file "crm-plugin.properties" in your JIRA-HOME folder.  This file is where the Goldfinger Holdings license key is stored.   If you are switching Jira server from a Jira server with plugin version 7.x to a server using plugin version 8.x, copy the "crm-plugin.properties" file from the JIRA-HOME folder of one Jira server to the other Jira server and then disable and re-enable the plugin on the Jira "Manage apps" admin screen.  This will enable you to continue using your old Goldfinger Holdings license key with the latest version of the CRM Plugin until the license expires, after which you will need to obtain a new license key from Atlassian.

2. Can I enter my old Goldfinger Holdings license with the latest version of the plugin?

  No, while version 8.x of the CRM Plugin will recognize and honor license keys from previous versions of the plugin, you cannot re-enter those older license keys using versions of the plugin starting with 8.0.  Here is what you can do

  1. Uninstall any version of the CRM Plugin you currently have in Jira (no existing CRM data or plugin configuration settings will be lost by doing this)
  2. Download version 7.2.15 of the plugin from the Atlassian Marketplace, here is the link: https://marketplace.atlassian.com/download/apps/1220331/version/56214
  3. Use Jira's "Manage apps" admin screen to upload this jar file to install version 7.2.15
  4. In Jira, go to the plugin's "Initial Setup" configuration screen and enter the license key you received from Goldfinger Holdings.
  5. Assuming you successfully applied the Goldfinger Holdings license to version 7.2.15, you can then use Jira's "Manage app" screen to upgrade the CRM plugin to version 8 and the plugin license key will continue to work until it expires at which point you will renew by purchasing a new license from Atlassian.

You can ignore the license messages you see on Jira's "Manage apps" administration screen, the Atlassian licensing engine is not used until your Goldfinger Holdings license expires, look on the CRM plugin's "Intial Setup" administration screen to verify your plugin license and see the expiration date.

3. Are all features of the plugin available when using an evaluation license key?

  Yes.

4. Do you perform customizations if required?

  This is a common service we offer our CRM plugin customers. Just contact us.

5. Help! I've run into a problem and can't seem to find a solution. What should I do?

First check this FAQ and the other CRM Plugin Documentation.  If you believe the plugin isn't functioning properly, check the plugin's "Error Log" setup screen for messages that explain what went wrong.  If you need technical help, login to our support JIRA server (you can create yourself an account) and refer to the the CRM Plugin JIRA project to see if there are any existing issues related to your problem. If you don't see your problem discussed please either open a new issue or contact us directly.  Our contact information can be found here.  To help in debugging technical issues, go to the plugin's "Error Log" screen in JIRA and change the logging level to include debug messages, perform a test that illustrates the problem, return to the "Error Log" screen and include all the messages from there in your JIRA ticket or email. 

6. I want to be notified of any CRM Plugin updates, upgrades, or news. What's the best way to do this?

JIRA has a built-in plugin manager which displays when new versions of plugins are available.  you can also Email us!

7. What type of security is built into the CRM Plugin?

The CRM Plugin uses either a SOAP or REST API to make a network connection from your Jira server to your CRM server, allowing for a tight integration between JIRA and CRM.  Unless disabled in the plugin configuration, this connection uses an encrypted connection (SSL) to communicate with the CRM system.  This ensures that requests ONLY come from the CRM user over an encrypted (SSL) connection between JIRA and the CRM user's browser.  There is no network connection made from the CRM server to your Jira server so firewalls used with your Jira server do not need to be changed.

 

Top of Page


Installation

1. What versions of JIRA and CRM systems work with the CRM Plugin?

The CRM Plugin works with the following editions/versions:

Atlassian JIRA, version 4.0 or newer

  • Salesforce Enterprise, Unlimited, and Professional Editions
  • SugarCRM, version 5.1.0a or newer

2. What setup is required in my CRM system?

There are no changes required to the CRM system for the plugin to function, however there are customizations you will probably want to make.  Most users choose to create custom fields in CRM to hold values from JIRA instead of overwriting existing CRM fields, for example, this allows you to display both the CRM status and the JIRA status in separate fields. 

Many users also choose to create one or more custom buttons on their CRM screens to manually sync a CRM record to JIRA or to link a CRM record to an existing JIRA issue.  See instructions for Salesforce or SugarCRM.

  3. I want to install the CRM Plugin in our Salesforce sandbox environment so we can thoroughly test it before moving it to production. How do I do this?

Normally, you leave the Salesforce URL field on the CRM configuration screen blank and the standard Salesforce server is used. If you are installing this in a test environment, just add the Salesforce URL for your test environment in this field. The Salesforce URL should look something like:  

https://test.salesforce.com

4. Does each CRM user need to have a JIRA user account?

No, the plugin neither requires or expects this, but if any CRM users do have JIRA accounts the plugin can recognize them when updating JIRA by matching their CRM account email address to the email address used in their JIRA account.  For example, on the plugin's "JIRA/CRM Field Mappings" setup screen, you can map JIRA fields such as "reporter" and "assignee" to a CRM field that contains a CRM user's email address (for Salesforce Case records this is usually "Owner.Email").  The plugin will use the email address from CRM to match an existing JIRA account, in the event that no match is found, the plugin will use the mapping's "JIRA Default Value".

  5. What permissions does the CRM Account used by the plugin need?


The CRM account needs to have read access to whatever CRM fields you would like JIRA to be able to read from and write access to the CRM fields you want JIRA to be able to write to. For most users this will be at least Read access to the Account and Contact fields and Read/Write access to the Case/Bug fields.

6. Our JIRA instance is located on our intranet and is not publicly accessible - Can we still use the CRM Plugin?

Yes, as long as your JIRA server is allowed to initiate an https (port 443) or http (port 80) connection to your CRM server.  The CRM server does not need to initiate any connections to your JIRA server.

If your CRM users do not have web browser access to your JIRA server, then you will not be able to make use of the JIRA servlets in the plugin.  These servlets are used to manually create, update and link to JIRA issues using custom buttons you create and place on your CRM screens.  This means you will be restricted to using the plugin's Cron Service (a background job that runs every minute on your JIRA server) to copy new and changed data from CRM to JIRA and will not be able to manually create or update JIRA issues using custom buttons in CRM.  This also means you are restricted to one-to-one links between CRM records and JIRA issues, i.e. you will not be able to link more than one Case/Bug from CRM to a single JIRA issue.

7. How do I upgrade to the latest release of the plugin?

Upgrading the CRM Plugin to the latest release is easy:

For JIRA version 4.4 or later, use the built-in plugin manager to uninstall the existing version of the CRM plugin and then install the latest version straight from Atlassian's plugin marketplace.

For JIRA versions older than JIRA 4.4:

  1. Download latest JAR file
  2. Stop the Atlassian JIRA service
  3. Copy the downloaded JAR file to your "<JIRA-HOME>\plugins\installed-plugins" folder
  4. Restart the Atlassian JIRA service

8. What's the best way for me to upgrade to 4.0 / 4.1 if I'm upgrading JIRA at the same time?

If you follow Atlassian's upgrade procedure you'll be fine. Their instructions state that all your JIRA plugins should be upgraded to a version that supports your target JIRA version prior to upgrading. It's common though for users to upgrade after they first bring up the new version of JIRA. Normally this does no harm but in the case of JIRA 4.4 you will loose existing CRM data from JIRA's database. You can upgrade from JIRA 4.2 to JIRA 4.4 but before you run JIRA 4.4 for the first time remove version 3.3.4 of the CRM plugin and install the latest 4.x version of the CRM plugin. Note that it goes into a different directory than the older version. Version 4.x and later of the CRM plugin should be placed into your "JIRA-HOME\plugins\installed-plugins" directory.

9. Will I lose any plugin configuration settings when I upgrade?

No.  You can even uninstall the plugin and re-install it and retain your settings.  The configuration settings for the plugin are stored in a file in your JIRA-HOME directory named "crm-plugin.properties", as long as this file exists in JIRA-HOME the plugin will retain your settings.

10. Is there a way to backup or copy the plugin configuration settings to another JIRA server?

Yes, just copy the file "crm-plugin.properties" file from one JIRA-HOME directory to another and either disable and re-enable the CRM plugin or restart JIRA so the new settings file will be read.

11. After installing or upgrading the plugin I get an error message that says "java.lang.IllegalStateException: The bundle is uninstalled"?

This message indicates that the JIRA Plugin Manager failed to properly install the plugin. Restarting JIRA is the only known solution for this problem.

12. After installing or upgrading the plugin I get an error message that says "java.lang.UnsupportedClassVersionError: com/go2group/jira/crm/config/PluginProperties : Unsupported major.minor version 51.0"

This message means you are using an older version of Java than required by JIRA and the CRM plugin.  See https://confluence.atlassian.com/display/JIRA/Supported+Platforms.  You can see the current version of Java used by JIRA by going to your JIRA admin screen: System -> System Info and look at the value displayed for Java Version.  Updating the version of Java you are using will resolve this problem.

13. Can I keep users from linking a JIRA issue to more than one CRM record?

Yes.  In JIRA, go to the plugin's "CRM Record Definitions" configuration screen. Edit the "case" settings, look in the User Interface Settings section for a setting labeled "Multiple CRM Linking". Uncheck this setting and save the change.

Top of Page    


Usage

1. How does data get copied between JIRA and CRM?

Once a JIRA issue has been linked to a record in CRM, any changes made to the issue in JIRA are immediately copied to the record in CRM.  The CRM plugin does this by listening for JIRA issue events and then copying the added or changed data to CRM using the CRM system's Web Services (usually using the SOAP protocol).  There are two ways changes in CRM are copied back to JIRA, by enabling the plugin's Cron Service which will periodically poll the CRM database for changes and copy them to JIRA and/or by using a custom button in CRM to sync specific CRM records to JIRA.  A common configuration is to use a custom button to create JIRA issues from CRM and then use the Cron Service to keep those issues up-to-date which you can do by configuring the Cron Service to only update issues (as opposed to creating and updating JIRA issues).

It is technically possible to create code in most CRM systems that will automatically copy changes from CRM to JIRA but that requires a fair amount of technical expertise with your CRM system and is beyond the scope of this documentation.

2. When I edit a JIRA issue why don't I see the plugin fields for the CRM Account, Contact or Case?

If you aren't seeing a particular field when editing a JIRA issue it means your field isn't configured for the project or issue-type or screen that applies to that issue.  If you are using a newer version of JIRA, when editing the issue try the " Where   is   my   field ?" option under the "Configure Fields" pull-down menu.  If you don't have this feature in your version of JIRA you'll need to use JIRA's admin screens to make sure the custom fields you want to see are configured to apply to your issue's project and issue-type and that the field has been added to the the appropriate JIRA screen.  Refer to https://confluence.atlassian.com/display/JIRAKB/Custom+Fields+or+System+Fields+are+Not+Appearing+on+the+Screen

3. When a new JIRA issue is created from a CRM record, which JIRA project is used?

You can choose to have all JIRA issues created from CRM records to go into a single pre-defined JIRA project by setting a Default Project on the plugin's "Initial Setup" screen, or the plugin can create issues is multiple JIRA projects, you just need to configure a way for the plugin to know which JIRA project to use.

When the plugin is not configured to use a Default Project, there are two ways to specify which JIRA project to use for new issues.

  1. If you use a custom button in CRM to create new JIRA issues, you can have the plugin prompt the CRM user for the JIRA project and issue-type to use, it will do this whenever a project is not specified any other way.
  2. You can use the plugin's "JIRA/CRM Field Mappings" to map the JIRA "project" field to a field in CRM and have the CRM user set this field to a value to indicate which JIRA project to use.  The CRM user could put the JIRA project name or key into this CRM field or you could use the Value Translations feature on the "JIRA/CRM Field Mappings" setup screen to derive which JIRA project to use based on a set of values in the CRM field.  For example you could map the JIRA "project" field to the Salesforce Case "Type" field and configure Values Translations to use JIRA project "PROJ1" for Cases of Type "Bug" and to use JIRA project "PROJ2" for Cases of Type "Other".

4. When the plugin prompts the CRM user for the project in which a new issue is to be created, can I restrict the list of projects and issue types displayed?

When a custom button is used in CRM to create a new issue in Jira, the optional HTML form that prompts for information like the Jira project and issue-type will only list projects and issue types that are configured to have issues linked to a CRM record.  In other words, the only projects listed are the ones that are configured to use the plugin's custom fields (Account, Contact, Case etc.)

For example, if you are creating issues from Case records, edit the JIRA custom field configuration for the plugin's custom field "Case" and set the field configuration context to only apply to specific projects and issue types.

In Jira go to the Jira admin screen "Issues" -> "Custom Fields", find the plugin's Case field and in the "Actions" drop-down menu in the right-most column, select "Configure" and then select "Edit Configuration"

The Jira documentation for this can be found at Configuring custom field contexts.

5. How do I set JIRA fields from CRM?

Either create a custom field in CRM or choose an existing CRM field, map it to the JIRA field via the plugin's "JIRA/CRM Field Mappings" setup screen. Then set its value from CRM before creating or updating a JIRA issue via the CRM plugin.  The CRM plugin creates or updates JIRA issues from CRM by using its built-in JIRA service (the plugin calls this the "cron service").  You can also use a custom button created on the CRM screen to invoke a servlet URL.  The custom button can be used either along with the cron service or in place of the cron service.  The instructions for creating the custom button in both Salesforce and SugarCRM can be found at http://doc.goldfingerholdings.com/display/CRMPJ4/03.+Documentation

6. Can I use the custom CRM fields for reports / searches within JIRA?

The values displayed for the CRM plugin's Jira fields (Account, Contact, Case, etc.) are not actually stored in the Jira database so a normal Jira search on those fields won't work. Go to the plugin's "CRM Record Definitions" config screen in Jira and edit one of the record definitions, the CRM field names shown in the "Name Fields" setting can be searched using a JQL function.  For example the JQL search expression Account in crmRecords("acme") will find all JIRA issues linked to any CRM account where one of the name fields for the Account record contains the text "acme".

Be aware that this requires a network query from Jira to Salesforce for each Jira issue you are searching against so performance may not be acceptable if you are searching against a large number of Jira issues. An alternative is to use the plugin's "JIRA/CRM Field Mappings" to create a field mapping that copies the CRM "Country" field value to a Jira custom field and then you can perform a normal Jira search on that Jira custom field.

7. Is it possible to only synchronize certain Projects within JIRA and leave the others untouched (un-synchronized)?

Yes, in fact this is the most common and easiest way to use the plugin. Linking issues to CRM from JIRA is done via the plugin's CRM fields (Account, Contact, Case, etc.). If you don't associate these fields with a JIRA project then issues in that project cannot be linked to CRM and the plugin will ignore these issues.  Also, from the plugin's "Initial Setup" screen you can set a JIRA "project" to use as the default project and all issues created from CRM will be created in that project unless overridden by a project value from the CRM record.

8. Is it possible to restrict which types of records in CRM are synchronized with JIRA?

The Cron Service that the plugin uses to pull changes from CRM has an option to add an expression to the Where Clause of the SQL statement used. This can be used to only copy CRM records to JIRA that meet a given criteria.  This setting can be found when editing one of the plugin's CRM Record Definitions.  For example, on the plugin's "CRM Record Definitions" setup screen edit the "case" record definition, in the "Cron Service Settings" there is an option labeled "Filter".  You can place an expression such as "JIRA_Project__c='CRM'" into this setting to make the plugin only copy to JIRA Case records which have the custom field "JIRA Project" set to the value "CRM"

9. Can I link more than one JIRA Issue to a Single Salesforce Case?

Yes, but you'll need to setup Salesforce to handle this. Follow these instructions

10. How do I make a field in Salesforce that hyperlinks to the linked issue in JIRA?

First make sure you have a field mapping on the plugin's "JIRA/CRM Field Mappings" setup screen that copies the Jira field "key" to a field in CRM, then create a custom Case field in Salesforce of type "Formula". Use this as the formula:

HYPERLINK(" http://JIRA.COMPANY.COM/browse/ " & JIRA_KEY__c , JIRA_KEY__c)

Replace "JIRA.COMPANY.COM" with the hostname of your JIRA server and replace "JIRA_KEY__c" with the name of the CRM field you are using to hold the issue key copied from Jira.

11. How are values in JIRA Multi Select and Cascading Select fields sync'ed with CRM?

When copying a value from any of JIRA's multiple value fields, the values are made into a single text value separated by a delimiter (you can specify the delimiter to use in the Field Mapping).  Likewise, when the value is copied back to JIRA the value from CRM is broken up into separate values using the same delimiter and stored as multiple values.  If any of the single values is not already defined as an option for the JIRA field, the plugin will automatically add it.

12. How do I use the JIRA REST API to set values in the plugin's CRM fields?

JIRA's REST API can be used link a JIRA issue to one or more CRM records by storing the CRM record IDs into the custom fields used by the plugin (Account, Contact, Case, etc.).

Examples: (note that in these examples "customfield_10002" is the id name for the plugin's Case field)

JSON data to set two CRM record ids into a custom field
{"fields":{"customfield_10002":["500C000000UauKTIAB","500C000000UauKTIAZ"]}}
JSON data to add a CRM record id to a custom field

 {"update":{"customfield_10002":[{"add":"500C000000Ofx4g"}]}}

JSON data to add two CRM record ids to a custom field

 {"update":{"customfield_10002":[{"add":"500C000000Ofx4g"},{"add":"500C000001AFeFS"}]}}

A utility program such as 'curl' that submits URLs to a web server can be used to change the CRM records that a JIRA issue is linked to.  Here are some examples curl commands for the Windows command line.  Note that the JIRA username, password, host name and custom field name will be different for each JIRA system.  The JIRA issue being modified is specified at the end of the URL.

Link a JIRA issue to exactly one CRM record

curl -D- -u JIRA-USERNAME:JIRA-PASSWORD -X PUT --data {\"fields\":{\"customfield_10500\":[\"500C000000Ofx4gIAB\"]}} -H "Content-Type: application/json" http://localhost:8080/rest/api/2/issue/KEY-1

Link a JIRA issue to 2 additional CRM records

curl -D- -u JIRA-USERNAME:JIRA-PASSWORD -X PUT --data {\"update\":{\"customfield_10009\":[{\"add\":\"500C000001CF78q\"},{\"add\":\"500C000001AFeFS\"}]}} -H "Content-Type: application/json" http://localhost:8080/rest/api/2/issue/KEY-1

Unlink a JIRA issue from a CRM record

curl -D- -u JIRA-USERNAME:JIRA-PASSWORD -X PUT --data {\"update\":{\"customfield_10009\":[{\"remove\":\"500C000001CF78q\"}]}} -H "Content-Type: application/json" http://localhost:8080/rest/api/2/issue/KEY-1
  

13. How are usernames matched between JIRA and CRM?

When the plugin is setting the value for a JIRA field that requires a JIRA user account, first it will use the value from CRM to match a JIRA account by username and if that fails it will try matching a JIRA account by email address.  It's unusual to use JIRA usernames in a CRM system so normally an email address is passed from CRM to a JIRA field such as "assignee" or "reporter" and the plugin will use the JIRA user account that matches that email address.

14. Can I sync data between JIRA issues and any object in CRM?

Yes.  The default configuration is for the plugin to share data between JIRA issues and Salesforce Cases (or SugarCRM Bugs).  But the plugin can be configured to also share data between JIRA issues and other CRM objects.  The sharing of data between JIRA and other CRM objects can be done in addition to sharing data with the Case (or Bug) records or in place of sharing data with the Case (or Bug) records.  In short, you can link a JIRA issue to one or more CRM objects of any type and then sync data between that issue and those records as you wish.

As an example let's say you want to link to and share data with a custom object you have created in Salesforce.  You need to perform the following steps in JIRA:

  1. Create a JIRA custom field of type "CRM Record Field" ("CRM Generic Field" in older versions of the plugin) and associate it with whatever JIRA projects and screens you wish.
  2. On the plugin's "CRM Record Definitions" setup screen, create a Record Definition for your object and put the name of the custom field you just created in the "Custom Field Name" field.
  3. Specify the name of the custom object in the "CRM Object" field.  Let's assume the custom object name is "My_Object__c".
  4. In the "Display Fields" field, use the "Select" link to the right to add one or more fields that you want to appear in JIRA.
  5. The "Record ID Field" should be set to the CRM field that contains the primary key for the CRM record, this is usually "Id" or "id".
  6. Set "Name Fields" and "Search Fields" to the CRM field that you consider to contain the name field for this CRM record.  For many types of CRM records this field is called "Name" or "name".
  7. If your custom object supports comments and attachments then you can set the "Copy Comments" and "Copy Attachments" options to sync comments and attachments between a JIRA and your custom object.
  8. You can change any of the other CRM Record Definition fields if you wish but the default values should be fine in most instances so go ahead and save the record definition.  At this point you now have the ability to link JIRA issues to CRM records in this CRM object.
  9. If you want the plugin to copy data between JIRA and this CRM object, go to the plugin's "JIRA/CRM Field Mappings" setup screen and map one or more JIRA fields to CRM fields in the CRM object. You can use the "Select" link next to the "Fields" field to popup a dialog that will let you browse all the available CRM objects and their fields.  Note that you should not map the JIRA custom field you created in step 1, that field is implicitly mapped to the id field of the CRM record, and will display the name fields from the CRM record after a JIRA issue is linked to a CRM record.

Now in JIRA when creating or editing an Issue, you can use the custom field for the CRM object to either search for and link to an existing record or create a new CRM record.  Once a JIRA issue is linked to records in your CRM object, the plugin will copy data from JIRA to those CRM records based on the field mappings you set up.  Note that you can control a JIRA user's ability to create new CRM records in this object by an option in the object's "CRM Record Definition".

To copy data from this CRM object to JIRA you can use either the plugin's cron service or custom buttons placed on your CRM screen (or both if you wish). 

When the plugin's cron service is enabled, each time time it runs it will reference the plugin's "JIRA/CRM Field Mappings" to see which CRM objects to look at and sync changes from those objects to JIRA. You can control whether the cron service will create new JIRA issues from new CRM records in each of these objects or if it should only update existing issues.  You do this by editing the plugin's "CRM Record Definition" for that object and setting the option labeled "Create JIRA Records".

To create a custom button in CRM for manually copying data from CRM to JIRA, in the definition for the button use the following URL.  For details see instructions for Salesforce or SugarCRMChange "JIRA-HOST.COM", "CRMTOKEN" and "My_Object__c" to the appropriate values for your system.

  http://JIRA-HOST.COM/plugins/servlet/create-issue?crmtoken=CRMTOKEN&id=My_Object__c:{!My_Object__c.Id}

15. How can I make the reporter of a JIRA issue the CRM user who clicked the "Create/Update JIRA" button?

Add the argument "&reporter={!$User.Email}" to the end of the URL used for the "Create/Update JIRA" button in CRM.  This works because JIRA field values passed in the servlet URL override the plugin's field mappings. If you need, you can specify fields from the Salesforce user record of the currently logged in user other than "Email", for example "User.Username" can be used instead of "User.Email".

16. When CRM data is used to update JIRA, how do I control which JIRA user is used in the change history as the user making the change?

The plugin has a JIRA field called "modifying-user" that is used to specify which JIRA account should be used as the "author" of a change to JIRA.  The modifying-user field can be set to either the user name or the email address of an existing Jira user account. For CRM comments and attachments copied to Jira, this value is usually set to the email address of the CRM user that made the comment in CRM (See next question below) and then the plugin tries to match a JIRA user account to this email address.  For the changes that appear on an Issue's History tab when viewing an issue in Jira, if you don't have "modifying-user" specified in the "JIRA/CRM Field Mappings" or on the URL used by the custom button in CRM then the plugin uses the value specified for the JIRA "reporter" field.

For example, when using Salesforce, if you would like the modifying user in JIRA to be the Salesforce user that last updated the Salesforce record then on the plugin's "JIRA/CRM Field Mappings" configuration screen, create a field mapping that maps the Jira field "modifying-user" to the Salesforce field "LastModifiedBy.Email".  Or if you'd prefer to use the Salesforce user that clicked the "Create/Update JIRA" button on the Case screen, then modify the definition of that button so that the URL includes "&modifying-user={!$User.Email}".

17. How do I control the author in Jira of comments copied from CRM?

First be aware that the author of any comment in Jira can only be set to an existing Jira user account.  On the plugin's "Issue Options" screen there is a setting labeled "Use matching JIRA users as authors", when this setting is enabled, the plugin will use the CRM email address of the CRM user that modified or created the comment in CRM and try to match this against the email address of an existing Jira user, if a match is found that user is set as the author of the comment in Jira.  The next attempt to determine an author when using a custom button in CRM to sync comments from CRM to Jira, is to use the Jira username or address passed via the "modifying-user" field as described in the answer right above this question, and as a final step, the plugin will use any Jira user set on the plugin's "Initial Setup" screen as the Default Reporter.  When none of these steps produce an existing Jira user, the comment is displayed as being made by "Anonymous".

18. For SugarCRM can I sync issues with Cases instead of Bugs?

Yes, the steps for syncing data from JIRA to a non-Bug SugarCRM record (such as Case) are as follows:

  1. In Jira, on the plugin's "Initial Setup" administration screen, ensure the "CRM Custom Fields Case" field name is set to blank (this is really the Jira field name to be used for Bug records)
  2. On the plugin's "CRM Record Definitions" administration screen, edit the "case" definition and set it to use a Jira custom field, for example "Sugar Cases".  You'll probably need to select "New Custom Field..." here unless you already have a CRM Record Id field to use.
  3. Edit the plugin's JIRA/CRM Field Mappings to map the JIRA fields to SugarCRM case fields. You can use the "Select" link next to the "Fields" field to popup a dialog that will let you browse all the available SugarCRM objects and their fields, including any user defined fields.
  4. In JIRA when creating or editing an Issue, use the custom field for the CRM object to either search for and link to an existing record or create a new CRM record. If you are using SugarCRM Cases instead of Bugs, hide the Bugs field on your JIRA screens and use the custom field you created for Cases in its place.

When creating custom buttons on the SugarCRM detail screen as described in (v1.1-en) Using custom buttons in SugarCRM to interface with JIRA, the URL used for non-Bug records should be in the following format. The key difference is that the CRM record ID is prefixed by the object name (in this example "Cases").

https://JIRA-HOST/plugins/servlet/create-issue?crmtoken=TOKEN&id=Cases:{$fields.id.value}


19. Which types of JIRA custom fields can I sync with CRM?

JIRA custom fields of the types listed below can be copied to or receive values from CRM fields.  Other field types that contain text values will often copy from JIRA to CRM and may work when values are copied from CRM to JIRA.  Contact Goldfinger Holdings if you require support for a field type not listed here.

  • Checkboxes
  • Date Picker
  • Date Time Picker
  • Epic Link (JIRA Agile)
  • Labels
  • Number Field
  • Multi Level Cascading Select *
  • Organizations  (JIRA Service Desk)
  • Project Picker
  • Radio Buttons
  • ReadOnly Select List
  • Select List (cascading)*

  • Select List (multiple choices) *
  • Select List (single choice) *
  • Text Field (multi-line)
  • Text Field (single line)
  • Text Field (read only)
  • URL Field
  • User Picker (multiple users)
  • User Picker (single user)
  • Version Picker (multiple versions)
  • Version Picker (single version)
  • CRM Record Field
  • CRM Contact's Email Field
  • Deviniti [Dynamic Forms] - Dynamic Cascading Select

*When a value being copied from CRM isn't already defined in JIRA as an option for the JIRA field, the plugin automatically adds the new value to the fields options list.

 20. What about the API usage limits imposed by Salesforce?

It's unlikely that the CRM plugin will exceed the Web Services API usage limits that exist in Salesforce, but you can analyze this in several ways.

First you can view a page that shows the API usage for the last 24 hours

In Classic: Go To "Setup" -> "System Overview"
In Lightning: Go to "Setup" -> "Environments" -> "System Overview"

You can also view API Usage reports in Salesforce (must be in Classic). This report shows the API usage by day for the last week.

Go to "Reports" tab -> "Administrative Reports" -> "API Usage Last 7 Days"
Look at the entries where the "Client Id" is "Go2Group/"

Also you can have Salesforce send emails when limits reach a specific point.

See https://help.salesforce.com/articleView?err=1&id=monitor_rate_limit.htm&type=5

In addition to the features in Salesforce, in Jira, on the plugin's "Advanced Settings" configuration screen, you can see the most recent API usage, for example:

And if you have Informational messages enabled on the plugin's "Error Log" screen, each time the plugin's Cron Service runs it will report how many API calls were used for that job.

 21. Why does the Cron Service fail to copy some Salesforce Files to Jira?

There is a known limitation with copying Salesforce Files to Jira. Due to a limitation in the Salesforce API, the plugin's Cron Service is not allowed to read Salesforce Files that are not shared with at least one other entity besides the parent record. This only affects the Cron Service, if you are using a custom button in Salesforce to sync CRM data to Jira you won't be affected by this. If you think you are having this problem, try a test by either using a custom button in Salesforce to sync to Jira or share the Salesforce Files record with some user.

If you are using the Cron Service to copy Files to Jira, there is a Salesforce setting you should consider enabling. Look at the Settings option in Salesforce is called "Query All Files". See http://releasenotes.docs.salesforce.com/en-us/spring19/release-notes/rn_files_query_all_files.htm.


 22. What happens if my company copies our Salesforce records to a new Salesforce organization?

The CRM Plugin stores Salesforce record Ids in the Jira database (specifically as values for the plugin's custom fields, Account, Contact, Case, etc.).  When Salesforce records are migrated to a new Salesforce Organization, these record ids change and all the link data used by the plugin is no longer valid.

To restore the link data, the Jira database has to be modified to replace each old Salesforce record id with whatever its new record id is after the migration.  One way to do this is to create a list of all the old CRM record ids and their new ids, this list is then "fed" to some process that would update the Jira database.  One way to obtain this list of ids is, prior to migration, create a new custom field in the Salesforce records being migrated and copy the Salesforce field "id" to this custom field, now after the migration, the new records will have the new record id in the "id" field and the old record id in the custom field.  Alternatively, one could create a mapping of old ids to another unique value, for example Case Number for Cases would work, and then use this mapping to go from the old record id to the Case Number and from Case Number to the new record id.  I'm sure there are other ways to build this list.  Once you have such a list you then need to pick a way to update the Jira database, my preference would be to use a SQL client program connecting to whatever database is used with Jira and executing a SQL script (i.e. a list of SQL Update commands) that would update the table that holds the Jira custom field values.

Another possible solution is to use a list of Jira Issue Keys along with the new Salesforce record Ids to create a list of URLs for either the Jira REST API or the CRM plugin's link-issue servlet and then use a utility like curl to execute this whole list of URLs (each URL would update one Jira issue to set the new Salesforce record ids into the appropriate Jira custom fields).

 

Top of Page


Procurement

1. How much does the CRM Plugin cost?

The CRM Plugin is priced per year and the license agreement includes 12 months of support and maintenance. Maintenance includes upgrades and updates, and support is provided through email, our customer-focused JIRA instance , and by telephone or screen-share meetings when needed. The cost is listed below.

  • $3,200 per Salesforce or SugarCRM system when using JIRA Server
  • $4,800 per Salesforce or SugarCRM system when using JIRA Data Center
  • $4,500 per Dynamics CRM system when using JIRA Server
  • $5,800 per Dynamics CRM system when using JIRA Data Center

2. Is there an End User License I need to agree to before using the CRM Plugin?

Yes! Please review the CRM Plugin - License Details for more details.

3. Is the EULA based per instance, or per user?

We structured the EULA to be as simple as possible for our customers. The license allows our customers to install and use the CRM Plugin between one (1) instance of JIRA and one (1) instance of your CRM system, irrespective of the number of users.

4. How can I purchase the CRM Plugin?

The CRM Plugin can be purchased online through the Goldfinger Holdings Store . All transactions are processed using the Google Checkout secure site. Goldfinger Holdings also accepts credit cards and purchase orders to obtain the CRM Plugin.

5. If for some reason I am not satisfied with the CRM Plugin, can I apply for a refund?

Goldfinger Holdings does not offer refunds. Goldfinger Holdings allows its customers to evaluate the CRM Plugin for a period of 30-days (and beyond where necessary), which allows our customers to determine whether the CRM Plugin will work within their environment. If you have any questions prior to purchasing the CRM Plugin, please contact us.


Top of Page