Published using Google Docs
Plum CRM Documentation
Updated automatically every 5 minutes

Download Certificate:

Click here to download the certificate.

After you click the link, you will see this screen.

Please click the link and the certificate .zip file will download.

Plum-CRM Installation and User Guide

Download Certificate:

Introduction

Requirements

Installation

Step 1: Salesforce Installation

Step 1.1a: Adding digital certificate in Connected app

Step 1.1b: Finding the client key

Step 1.1c: Allowing Oauth access

Step 1.1d: Edit the Case Page Layout

Step 1.1e: Add tabs on menu bar

Step 1.1f: Add permission set to all users

Step 1.1g: Providing edit access to Goldfinger CRM Authentication Settings to profiles (optional step)

Step 1.1h: Custom Logs in Salesforce

Step 1.1i: Setup Create/Update Jira button for Custom object

Step 1.1j: Setup Link/Unlink button on custom object

Step 1.1k: Setup trigger on custom object

Step 1.2 : Salesforce Post Installation Steps for Classic:

Step 1.2a: Adding digital certificate in Connected app

Step 1.2b: Finding the client key

Step 1.2c: Allowing Oauth access

Step 1.2d: Edit the Case Page Layout

Step 1.2e: Add tabs on menu bar

Step 1.2f: Add permission set to all users

Step 1.2g: Providing edit access to Goldfinger (Plum) CRM Authentication Settings to profiles (optional step)

Step 1.2h: Custom Logs in Salesforce

Step 1.2i: Setup Create/Update Jira button for Custom object

Step 1.2j: Setup Link/Unlink button on custom object

Step 1.2k: Setup trigger on custom object

Salesforce Installation Checklist

Step 2: Jira Installation

On-premise Migration

Users Instructions

Create a Salesforce Case from Jira

Create a Jira Issue from a Salesforce Case

Searching for issues in Jira

Advanced Configuration Options

Getting Started Options

Record Setup

Field Mapping Options

Field Mapping Advanced Options

Field Mapping Value Translation

Frequently Asked Questions

Setup trigger on Custom object

Setup Create/Update Jira button for Custom object:

Assign Account/Contact to an existing Case

Introduction

The Goldfinger CRM Application provides tighter collaboration between support teams and sales teams. The Goldfinger CRM Application displays CRM data in Jira issues and Jira data in Salesforce screens, sharing timely knowledge between two otherwise disparate teams, running in a multi-tenant scalable environment that can support all deployed Atlassian customers in a single Kubernetes cluster.

A typical use case is an agent using Salesforce will record a case reported by a customer. To work the case Engineering must get involved so the agent syncs the case to a JIra project. The project manager is notified of the new issue and assigns the work to an engineer. As the engineer works on the issue they may request the agent to get a log file from a customer. Instead of using email or phone to communicate with the agent, the engineer will enter a comment in the Jira issue which will appear as a comment in the Salesforce case. When the agent receives the log file from the customer it's attached to the salesforce case, which is synchronised to the Jira issue for use by the engineer. As work progresses status is changed on the Jira issue which is synched to the salesforce case, and when the issue is resolved the agent is notified of the fix which can then be sent on to the end customer.

Requirements

  1. User with admin access for Jira
  2. User with admin access for Salesforce
  3. Jira user with permissions to read, update, and delete issues Jira issues (including comments, attachments, and issue links).
  4. Service account user for Salesforce that can read, update, and delete Salesforce records (including comments and attachments).
  5. Allow Salesforce users to edit Chatter posts and comments.


The Service Account(s) chosen on the configuration screen cannot be used to create or edit issue data. This is also a best practice, i.e., only human users (not service account and not administrators) should be used to edit issue data.

Installation

The installation of the application is performed in three steps.

Step 1: Salesforce Installation

The Goldfinger CRM app is available from the Salesforce Appexchange:

https://appexchange.salesforce.com/appxSearchKeywordResults?keywords=goldfinger

If you don’t have it yet, create a Salesforce Org and make sure that you have admin access. Then install the Salesforce managed package for all users which will install the necessary objects like the triggers and custom fields and screens.

Step 1.1 : Salesforce Post Installation Steps for Lightning

After the package has been installed click on configure for the Goldfinger CRM App:

 

Click on the “Create Connected App” button. This screen will appear. Enter the service user profile name and press the Confirm button.

 

Step 1.1a: Adding digital certificate in Connected app

1. Click on Setup

 

2. Search for Apps

 

 

3. Scroll down to Connected Apps section and click on Edit link next to Goldfinger_Holdings connected app

4. Select Use Digital Signatures checkbox from API section

 

5. Click on Choose file and select the certificate named “prod_server.crt“.

The CRT file can be downloaded from the Getting Started tab on the Jira configuration screen by clicking on the “Public Key” link.


 6. Click on Save button to save the certificate.

 

Step 1.1b: Finding the client key

  1. Search for App Manager in the setup search box



  1. Select view on Goldfinger_Holdings

  1. Click on Manage Consumer Details

                

4. After authentication this will display the consumer key that is needed on the Jira configuration “Getting Started” tab.


Step 1.1c: Allowing Oauth access

  1. Go to the service account profile
  2. Search for Goldfinger_Holdings
  1. Ensure the checkbox is selected and press save

Step 1.1d: Edit the Case Page Layout

  1. Edit the page layout:
    a. Drag field “Jira Issue Key” into the layout in the position you desire it to be.
    b. Drag the “Sync Jira” custom link to page layout in the position you desire it to be.
    c. Drag the “Link to Jira“ button on the layout in the custom buttons section.

Step 1.1e: Add tabs on menu bar

There are two panels the administrator can use to manage the settings for the Goldfinger CRM.

The Authentication Settings panel is used to configure the callback credential settings. These settings are used to push changes in Salesforce to Jira.

The Jira Api field must be set using the value from the below Jira configuration screen.

 

The Jira Gateway Server must be set to “https://crm.goldfingerholdings.onl".

The Goldfinger CRM Configuration Panel is used to set the automatic triggers that send modified data to Jira. Also a where clause can be entered to limit the Case records that are sent to Jira.

The steps to add these panels to your layout are:

  1. Click on Pencil icon from top right corner:

        2. Click on Add more items button:
                 


        

3 . Search for “CRM“ and select the tabs, click on add button:

        

Step 1.1f: Add permission set to all users

Read only access must be added (via a permission set) to all users so their synchronisation to Jira will work. The Admin user must provide access to our application settings to profiles or users by the following steps:

To assign permission set to all users:

1.     Go to Setup and Open Installed Packages

2.     Click on Configure next to Goldfinger CRM App

3.     You will see below page:

4.     Click on Assign Permission button, this will assign CRM permission set to all users.

 

To assign permission set to some users:

1.Go to the user detail page for who we want to provide access:

2. Scroll down to Permission set Assignment section and Click on Edit Assignments button under Permission set assignments

3. Select Goldfinger CRM Permission set and add it to Enabled permission set section

 

4. Click on Save button:

 

Did you forget this step?

If you see this error in your log:

'GHPC.PushCaseDetailsBatch' for job id '7075x0000GkwRJL' : no protocol: null/rest/api/1/create-issue?user=005f20000079yiR&recordType=Case&source=salesforce&api-key=null&recordid=5005x00001olGPO

Or if you tried to sync to Jira using the “Sync Jira” link and you see this response “Failed to update the issue due to the error null”.

You probably forgot to do the previous setup step. Please add the permission set “CRM Permission” to your user’s profile.

Step 1.1g: Providing edit access to Goldfinger CRM Authentication Settings to profiles (optional step)

We have a tab “CRM Authentication Details“ which is used to configure Jira Secret Key and URL, on new installation of package by default System Administrators will have access to this tab. If you want to provide access of this tab to some other profile other than an administrator then please follow below steps:

Provide Access to the profile

  1. Go to Setup
  2. Search Profiles in Quick find box

  1. Open the profile you want to provide access to for ex. System Administrator
  2. Click on Edit button and Search for “Custom tab Settings
  3. Make Sure CRM Authentication Settings tab value is set to “Default On”.

  4. Click on the Save button.
  5. If you want to provide access to another profile, repeat steps 1 to 6.

Set profile name in Custom setting

  1. Go to Setup
  2. Search for Custom Settings.

  1. Click on Manage link next to CRM Settings.

         

  1. Click on Edit
  2. Go to the Profile Names field and enter the name of the profile you want to provide access for ex. System Administrator.

  1. Click on Save button
  2. If you want to provide access to multiple profiles, then enter the comma-separated profile names.
  3. Now all the users under that profile should have access to Goldfinger CRM Authentication Settings tab:

Step 1.1h: Custom Logs in Salesforce

By default, we have enabled the custom logging mechanism in salesforce which stores all API logs and Exception logs in the “Goldfinger CRM Log” object. We use these logs to troubleshoot any issues/exceptions in the integration. We store the most recent 2 weeks of logs in Salesforce.

i. To enable/disable the logs please follow these steps:

  1. Go to Goldfinger CRM Configuration tab
  2. Check or uncheck the Enable Custom Logs checkbox

  ii. To view the Logs, open Goldfinger CRM Logs tab:

iii. Export Goldfinger CRM logs:

1.  Go to Setup

2.  Search for Data Export

3.  Click on Export Now button

4.  Search and Select GHPC__Plum_CRM_Logs__c” object

5.  Click on the Start Export button.

 

6.  You will receive an email with a download link once the export is ready.

 

7.  Click on the download link

Step 1.1i: Setup Create/Update Jira button for Custom object

To set up create/Update Jira button for custom objects, please follow the below steps:

  1. Open the custom object on which we want to add the button.
  2. Scroll down to Buttons, Links, and Actions section and click on New Button/Action button:

  1. Enter the below text into the code editor section:

/apex/GHPC__CreateJiraCustomObj?Id={!GFH_Options__c.Id}

Note: Replace GFH_Options__c with your custom object name.

  1. Click on Save and add this button on your page layout.

Step 1.1j: Setup Link/Unlink button on custom object

  1. Open the custom object on which we want to add the button.
  2. Scroll down to Buttons, Links, and Actions section and click on New Action button:

  1. Select Action Type as Lightning Web Component and Select GHPC:linkToJiraIssue LWC component as shown in the below screenshot:

  1. Click on Save
  2. To add this button on lightning page open any custom object record and click on Edit page from top right corner:

  1. Click on the highlight panel:

  1. You will see the Highlights panel as right hand side, click on Add Action button on that panel:

  1. Search the quick action name which you provided in step 3  and click on save.

Step 1.1k: Setup trigger on custom object

To sync a custom object with Jira we have to set up a trigger on the custom object, please follow the below steps to setup the trigger:

  1. Open Developer Console

  1. Go to File => New => Apex Trigger

 

  1. Enter any name for the trigger and select the name of custom object you want to sync:

 

  1. Copy and paste the below code inside your trigger and save it.

  GHPC.ProcessCustomObject pc = new GHPC.ProcessCustomObject();

        pc.sObjectList = trigger.isDelete?trigger.old:trigger.new;

    database.executeBatch(pc,10);

Note: By default, the trigger will work on “before insert” event, update this trigger event to “after insert”. Also, make trigger work on the Update event just add “after update” keyword for ex:

trigger SyncCustomObjWithJira on GHPC__GFH_Options__c (after insert,after update) {

Enable Chatter and Attachment sync for custom objects:

  1. Open Goldfinger CRM Configuration Page
  2. Enter comma separated custom object API names in “Custom Object API Names for Chatter and Attachment Sync” field

Step 1.2 : Salesforce Post Installation Steps for Classic:

After the package has been installed click on configure for the Goldfinger CRM App:

Click on the “Create Connected App” button. This screen will appear. Enter the service user profile name and press the Confirm button.

Step 1.2a: Adding digital certificate in Connected app

  1. Click on Setup

2. Search for Apps

3. Scroll down to Connected Apps section and click on Edit link next to Goldfinger_Holdings connected app

4. Select Use Digital Signatures checkbox from API section

5. Click on Choose file and select the certificate named “prod_server.crt“.

The CRT file can be downloaded from the Getting Started tab on the Jira configuration screen by clicking on the “Public Key” link.


6. Click on Save button to save the certificate.

Step 1.2b: Finding the client key

 

  1. Go to Setup
  2.  Search for Apps in the setup search box


  1. Click on Goldfinger_Holdings

  1. Click on Manage Consumer Details

  1. After authentication this will display the consumer key that is needed on the Jira configuration “Getting Started” tab.

Step 1.2c: Allowing Oauth access

  1. Go to the service account profile
  2. Search for Goldfinger_Holdings

  1. Ensure the checkbox is selected and press save

Step 1.2d: Edit the Case Page Layout

  1. Edit the page layout:
    a. Drag field “Jira Issue Key” into the layout in the position you desire it to be.
    b. Drag the “Sync Jira” custom link to page layout in the position you desire it to be.
    c. Drag the “Link to Jira“ button on the layout in the custom buttons section.

Step 1.2e: Add tabs on menu bar

There are two panels the administrator can use to manage the settings for the Goldfinger-CRM.

The Authentication Settings panel is used to configure the callback credential settings. These settings are used to push changes in Salesforce to Jira.

The Jira Api field must be set using the value from the below Jira configuration screen.

The Jira Gateway Server must be set to “https://crm.goldfingerholdings.onl".

The Plum-CRM Configuration Panel is used to set the automatic triggers that send modified data to Jira. Also a where clause can be entered to limit the Case records that are sent to Jira.

The steps to add these panels to your layout are:

  1.  Click on + icon from top right corner:

  1.  Click on Customize my tabs button:

  1. Add Goldfinger CRM Authentication Settings and Goldfinger CRM Configuration tabs to the Selected tabs sections and click on Save:

Step 1.2f: Add permission set to all users

Read only access must be added (via a permission set) to all users so their synchronisation to Jira will work. The Admin user must provide access to our application settings to profiles or users by the following steps:

To assign permission set to all users:

  1. Go to Setup and Open Installed Packages
  2. Click on Configure next to Plum CRM App

  1. You will see below page:

  1. Click on Assign Permission button, this will assign Goldfinger CRM permission set to all users.

To assign permission set to some users:

  1. Go to the user detail page for who we want to provide access:

2. Scroll down to Permission set Assignment section and Click on Edit Assignments button under Permission set assignments

3. Select Goldfinger CRM Permission set and add it to Enabled permission set section

4. Click on Save button:

Did you forget this step?

If you see this error in your log:

'GHPC.PushCaseDetailsBatch' for job id '7075x0000GkwRJL' : no protocol: null/rest/api/1/create-issue?user=005f20000079yiR&recordType=Case&source=salesforce&api-key=null&recordid=5005x00001olGPO

Or if you tried to sync to Jira using the “Sync Jira” link and you see this response “Failed to update the issue due to the error null”.

You probably forgot to do the previous setup step. Please add the permission set “Plum CRM Permission” to your user’s profile.

Step 1.2g: Providing edit access to Goldfinger (Plum) CRM Authentication Settings to profiles (optional step)

We have a tab “Plum CRM Authentication Details“ which is used to configure Jira Secret Key and URL, on new installation of package by default System Administrators will have access to this tab. If you want to provide access of this tab to some other profile other than an administrator then please follow below steps:

Provide Access to the profile

  1. Go to Setup
  2. Search Profiles in Quick find box

        

3. Open the profile you want to provide access to for ex. System Administrator

4. Click on Edit button and Search for “Custom tab Settings

5. Make Sure Plum CRM Authentication Settings tab value is set to “Default On”.

        

6. Click on the Save button.

7. If you want to provide access to another profile, repeat steps 1 to 6.

Set profile name in Custom setting

  1. Go to Setup
  2. Search for Custom Settings.

        

3. Click on Manage link next to Plum CRM Settings.

        

4. Click on Edit

5. Go to the Profile Names field and enter the name of the profile you want to provide access for ex. System Administrator.

        

6. Click on Save button

7. If you want to provide access to multiple profiles, then enter the comma-separated profile names.

Now all the users under that profile should have access to Plum CRM Authentication Settings tab:

        

Step 1.2h: Custom Logs in Salesforce

By default, we have enabled the custom logging mechanism in salesforce which stores all API logs and Exception logs in the “Goldfinger CRM Log” object. We use these logs to troubleshoot any issues/exceptions in the integration. We store the most recent 2 weeks of logs in Salesforce.

i. To enable/disable the logs please follow these steps:

  1. Go to Goldfinger CRM Configuration tab
  2. Check or uncheck the Enable Custom Logs checkbox

        

ii. To view the Logs, open Goldfinger CRM Logs tab:

iii. Export Plum CRM logs:

1.  Go to Setup

2.  Search for Data Export

3.  Click on Export Now button

4.  Search and Select GHPC__Plum_CRM_Logs__c” object

5.  Click on the Start Export button.

 

6.  You will receive an email with a download link once the export is ready.

 

7.  Click on the download link

Step 1.2i: Setup Create/Update Jira button for Custom object

To set up create/Update Jira button for custom objects, please follow the below steps:

  1. Open the custom object on which we want to add the button.
  2. Scroll down to Buttons, Links, and Actions section and click on New Button or Link button:

  1. Enter the below text into the code editor section:

/apex/GHPC__CreateJiraCustomObj?Id={!GFH_Options__c.Id}

Note: Replace GFH_Options__c with your custom object name.

  1. Click on Save and add this button on your page layout.

Step 1.2j: Setup Link/Unlink button on custom object

  1. Open the custom object on which we want to add the button.
  2. Scroll down to Buttons, Links, and Actions section and click on New Button/Action button:

  1. Enter the below text into the code editor section:

/apex/GHPC__LinkToJiraIssueVF?id={!GHPC__GFH_Options__c.Id}

Note: Replace GFH_Options__c with your custom object name.

  1. Click on Save and add this button on your page layout.

Step 1.2k: Setup trigger on custom object

To sync a custom object with Jira we have to set up a trigger on the custom object, please follow the below steps to setup the trigger:

  1. Open Developer Console

  1. Go to File => New => Apex Trigger

 

  1. Enter any name for the trigger and select the name of custom object you want to sync:

 

  1. Copy and paste the below code inside your trigger and save it.

  GHPC.ProcessCustomObject pc = new GHPC.ProcessCustomObject();

        pc.sObjectList = trigger.isDelete?trigger.old:trigger.new;

    database.executeBatch(pc,10);

Note: By default, the trigger will work on “after insert” event, update this trigger event to “after insert”. Also, make trigger work on the Update event just add “after update” keyword for ex:

trigger SyncCustomObjWithJira on GHPC__GFH_Options__c (after insert,after update) {

Enable Chatter and Attachment sync for custom objects:

  1. Open Goldfinger CRM Configuration Page
  2. Enter comma separated custom object API names in “Custom Object API Names for Chatter and Attachment Sync” field

Salesforce Installation Checklist

Before proceeding be sure you followed these steps:

Step 2: Jira Installation

The next step is to install the application in Jira using its 'Manage Apps' features.

Step 1: Search for the CRM application using 'Find new apps'.        

 


Step 2: In the search box enter Goldfinger and select the CRM application.

Step 3: Click on the Configure button and then enter your customer information and press “Submit Information”.

Step 4: Scroll down to the “App' section and enter your credentials to use for the synchronisation of data.

Note: The service accounts must be reserved for the synchronisation.


Set API Key in Salesforce

Once you install and configure Jira, “Getting Started“ tab, at the bottom you will find the API key which we need to configure into Salesforce:

Step 1: Copy the API Key from the Jira configuration screen:

Step 2: Go to Salesforce and open “Goldfinger (Plum) CRM Authentication Settings”.

Step 3: Enter the copied API key into “Jira Api secret“ field and Enter Jira Gateway Server as “https://crm.goldfingerholdings.onl

On-premise Migration

Have you been using our CRM plugin on your Jira server? You can use the migration feature from Atlassian to migrate your Jira data from an on-premise Jira server to Jira cloud. There is a feature in the new Cloud CRM plugin to convert your existing data to Jira cloud.

There are two areas of CRM data migration when moving to Jira cloud. The first are your configuration settings - configuration of your records (e.g. Salesforce Cases to Jira bugs), configuration of your field mappings, and settings for comment and attachment configuration. The second is the conversion of your Salesforce data as shown in Jira such as Case, Account, and Contact information in your Jira issues and associated links to Salesforce records.

The steps to migrate the on-premise CRM plugin to the Cloud are:

  1. Migrate your Jira data to the cloud instance.
  2. Install the Jira Cloud CRM plugin using the installation steps above.
  3. Enter your customer information in Jira and press Submit:

Enter your Salesforce credentials and press Validate.

  1. Recreate the settings from your on-premise CRM plugin in the Cloud, e.g., record and field mappings..
  2. Once your record and field mappings are set you can convert your existing Jira/Salesforce record links to the new Cloud format (using Jira remote issue links). One the migration is completed A jira record linked to a Salesforce record will look like this:


  1. One way to perform a migration assumes your Salesforce records contain the Jira issue key. ANother approach (described below) is to export data from your on-premise Jira database.
  2. Using the approach where your salesforce contains the jira key, each Salesforce record will be used to create the above remote issue links in each of your Jira cloud issues).



Your issue key stored in Salesforce could be a complete url (as above) or it could be just the issue key (e.g. SF-176).

  1. Ensure your record map correctly specifies the field in Jira that contains the issue key.


  1. Go to the migration tab:

  1. Select the Jira projects to migrate. We suggest you start out with a small project, and enable the , “Run as test” option. Press Submit and the response will show you how many records it will migrate.


  1. Note you can add a project to the migration by selecting a project from the list. This will add the project to the box below. To remove the project from the list of projects to migrate simply select the checkbox and press delete.

  1. Likewise you can add a record type to a project. Click on a project in the box, and then select a record type in the select list. You can also delete a record type from the box using the same instructions as you did for the project.
  2. Note that when migrating a project it can take some time above (2-5 seconds per migrated record).

The other approach to a migration is to export your On-premise Jira database into a csv file and use this to re-create the links in Jira to the related Salesforce record.

  1. Your cloud Jira must have the record type, crm object name, display fields, and name fields saved in the record setup screen.
  1. There may be more than one record set for one crm object name, ie, you can have two records defined for Account.
  2. The reason for this is maybe you want different display id’s.
  3. The name fields should be the same for both record types.
  1. The exported data from the on-premise Jira is in comma delimited format. Column one is the Jira key and columns two through n are the id(s) of the value of the custom field (ie the salesforce record id’s) as stored in the Jira record. An example is:

QA-239,a022C000006w82tQAA

QA-239,0032C00000fWDrRQAW,0032C00000fWmRQAW

The data can be exported from Jira using a database query, eg,

select concat (p.PROJECT_KEY,'-',a.issuenum), b.stringvalue from  jiradbschema.project_key p,jiradbschema.jiraissue a, jiradbschema.customfieldvalue b where a.id=b.issue and b.CUSTOMFIELD=<custom-field-id> and p.PROJECT_ID = a.PROJECT

Note the id of the custom field must be looked up in the custom field configuration screen in your On-premise Jira.

Once you have exported the file enter the Salesforce record type (eg Case), and select your csv file, and press the :Start Migration button”:

Users Instructions

As discussed above in the Introduction there are two primary use cases - create a Case in Salesforce and sync the Case to Jira as a Bug, or create a Bug in Jira and sync the Bug to Salesforce creating a new Case.

Create a Salesforce Case from Jira

For example when you create a Bug in Jira it is automatically synchronised to Salesforce, and the Jira issue now contains a link to the Salesforce Case.

You can also click on “Open CRM Details” to see additional functions.

The “Resync Jira Issue” will sync the issue to Salesforce again (maybe the previous sync failed).

The “Link To CRM” allows you to lookup a record in Salesforce and link it to the Jira issue. The record could be a Case, Account, Contact, or any other type. Configuring a new record type on the “Record Setup” configuration screen will add that record type to this select list.

The “Linked Records” section will show all the Salesforce records linked to this issue. The format of the data displayed can be configured in the “Record Setup” configuration screen

The following illustrates the result of linking an Account to the Jira Issue.

Create a Jira Issue from a Salesforce Case

A Salesforce user can also create a Jira issue by first creating a case in Salesforce. This will then create an issue in Jira - a clone of the Salesforce case. The Case can be synched to Jira automatically using a Case trigger, or manually by pressing the “Sync Jira” link.

Note there is a custom field on the Case record - “Jira Issue Key”. This is used to track the Jira issue that is linked to this Case. Do not edit this field.

Searching for issues in Jira

A Jira user might want to find all the Jira tickets linked to a specific Salesforce case, to a specific Salesforce contact, or a specific Salesforce account. This can be accomplished using the following jql queries:

JQL

Purpose

JQL

Purpose

issue.property[crm].case=3348

Find all Jira issues linked to the case #3348. Dont include the leading zeroes.

Issue.property[crm].case-text ~ 12-3348

Find issues when your CaseNumber field is not all numeric digits.

issue.property[crm].account ~ Acme

Find all Jira issues linked to the account Acme

issue.property[crm].contact ~ George

Find all Jira issues linked to the contact George

issue.property[crm].opportunity ~ “Doug’s Sale”

Find all Jira issues linked to this opportunity

Advanced Configuration Options

The CRM Application has many configuration options though the defaults were carefully chosen to ease the initial setup. This section describes the various configuration options.

Getting Started Options

Option Name

Description

Notes

Customer Information

Person requesting the install

Salesforce/Application

Select Salesforce

Support for other applications will be added in future releases

Salesforce/Application Url

Enter Salesforce Url

https://login.salesforce.com or https://test.salesforce.com

Jira/Sync Service Account

Enter the account id of the Jira service account

If this field is empty the installer account will be used as the service account.

Salesforce/Sync Service Account

Username of Salesforce service account to sync data

This account MUST be reserved for data sync

Salesforce/Credentials

Salesforce Client Id

Created in the first install step described here

Jira/Jira Projects To Sync

Which projects should be sync to CRM? Leave this empty to sync all projects.

Salesforce/Jira Projects To Sync

Default Jira Project

When creating a new JIRA issue from CRM, if a project is not specified this value is used.

Jira/API Key

A generated field. The api key that is used to push data from Salesforce to Jira.

Enter this value in the Salesforce Custom Setting Authentication Detail.

Record Setup

Option Name

Description

Notes

Name

Name to uniquely identify this CRM Record Definition

CRM Object

Table name in the CRM database which contains the records that JIRA issues will be linked with.

For example, Case

Jira Object

Jira issue type which contains the record that the CRM issue will be linked with.

For example, Bug

CRM Parent Object

If you want to link multiple JIRA issues to a single CRM record (a.k.a. many-to-one) you can use a CRM custom object to hold the data from all the linked JIRA issues. One or more JIRA issues will be linked to a single record in the parent object (the 'CRM Object' field) and a record will be created in this child object for each JIRA issue.

For example:

  1. Create a child record type of Case
  2. Create a record type for the Child object
  3. Set the CRM Parent object to Case
  4. Set the CRM Parent ID Field to Case__c
  5. Set the Issue Name Field to Subject

And pressing the Create/Update Jira button on a Case will create a Jira record and its linked to a new child record (that’s linked to the Case).

CRM Parent ID Field

For many-to-one choose the field that links the child object to the parent object.

For example Case__c

Issue Name Field

For many-to-one choose the field in the parent object that will be used to set the name of the child object.

For example Subject

Editable By

Jira user group is permitted to change the CRM records linked to an issue.

Viewable By

Jira user group permitted to view the values from the linked Salesforce record

Display Fields

When viewing an issue in JIRA that is linked to CRM, these are the values displayed. You can specify custom screen labels by using parenthesis after each field.

Example: "Name(Name), email_address(Email)". Display multiple fields together using square brackets. Example:

"[FirstName, LastName](Name)"

Name Fields

Name of field(s) used for displaying and sorting this record.

Search Fields

Name of text field(s) used for searching for a CRM record. Used by the CRM search while editing an issue in JIRA.

URL

A URL used to link CRM info on JIRA screens to the record in the CRM system. Put CRM field names inside curly braces where you need to insert CRM values.

For example: https://login.salesforce.com/{Id}. '{Id}' will be replaced with the appropriate CRM record id

Where Clause

A Salesforce SOQL expression used to limit the CRM records that are listed when searching for CRM records on JIRA's CRM Details screen.

Example: Type='Prospect'. Note that the Cron Service is not affected by this setting, it has its own setting below.

Issue Condition

This feature gives you a way to automatically create a new CRM record when a specified condition is met for an issue in JIRA. A new CRM record is only created if the issue is not already linked to a CRM record of this type and the issue meets the condition specified here.

The JQL Picker is used to help the user create a valid JQL and see the search results

Sync Jira Comments To CRM

Always, Sometimes, Never

If set to Sometimes the comment will be synched if the comment body contains the tag #crm

Sync Comments As

Chatter or Case Comments

Sync Comments As

Private or Public

Delete Jira Comments When CRM Comment Is Deleted

Yes or No

Comment Title

An optional title for comments sent to CRM. The tokens {FULLNAME}, {DATETIME}, and {KEY} may be added to the title.

Sync CRM Comments To Jira

Always, Sometimes, Never

If set to Sometimes the comment will be synched if the comment body contains the tag #jira

Delete Jira Comments When CRM Comment Is Deleted

Yes or No

Delete Private CRM Comment After Its Synched To Jira

Yes or No

Comment Title

An optional title for comments sent to Jira. The tokens {FULLNAME} and {DATETIME} may be added to the title.

Sync Jira Attachments To CRM

Always, Never

Sync Attachments To

  1. Notes/Attachments
  2. Case Attachments
  3. Chatter/File(s)
  4. Sub Record Attachments

“Sub Record Attachments” can be used when One Crm To Many Jira is on.

Delete Synced Attachments

Yes or No

Should the CRM attachment be deleted when the related Jira attachment is deleted

Sync Attachments To Jira

Always or Never

Delete Synced Attachments

Yes or No

Should the Jira attachment be deleted when the related CRM attachment is deleted

Field Mapping Options

The Field Mapping configuration shows the fields that will be synched.

        

Clicking on any Jira field (e.g. Summary) will display the edit screen where the desired fields to map can be selected.

        

Field Mapping Advanced Options

        

For the Alpha release the “Delimiter” option is not implemented. A comma is the assumed delimiter. The feature to change the default delimiter will be available soon.

Field Mapping Value Translation

Field values can be mapped to different values.

        

Frequently Asked Questions

Setup trigger on Custom object

To sync a custom object with Jira we have to set up a trigger on the custom object, please follow the below steps to setup the trigger:

Step 1: Open Developer Console

        

 

Step 2:  Go to File => New => Apex Trigger

                

 

Step 3: Enter any name for the trigger and select the name of custom object you want to sync:

        

 

Step 4: Copy and paste the below code inside your trigger and save it.

  GHPC.ProcessCustomObject pc = new GHPC.ProcessCustomObject();

    pc.sObjectList = trigger.isDelete?trigger.old:trigger.new;

    database.executeBatch(pc,10);

Note: By default, the trigger will work on “after insert” event,  to make trigger work on the Update event just add “after update” keyword for ex:

trigger SyncCustomObjWithJira on GHPC__GFH_Options__c (after insert,after update)

Setup Create/Update Jira button for Custom object:

To set up create/Update Jira button for custom objects, please follow the below steps:

Step 1: Open the custom object on which we want to add the button.

Step 2: Scroll down to Buttons, Links, and Actions section and click on New Button/Action button:

 

Step 3: Enter the below text into the code editor section:

/apex/GHPC__CreateJiraCustomObj?Id={!GFH_Options__c.Id}

Note: Replace GFH_Options__c with your custom object name.

 

Step 4: Click on Save and add this button on your page layout.

Assign Account/Contact to an existing Case

One of the commonly used features in the on-premise CRM plugin was assigning an Account and/or Contact to a Case as the Case was created using the create screen:

Note that a + was added to the create screen to allow the user to lookup the desired Account.

In Cloud Jira though the customization necessary (such as a google type search) if not available. The solution is to use the CRM Details panel to select and assign an Account to an already linked Case:

And when the Account (NAVEX) is selected it will be added to the Case 00001896.

And if you have multiple Cases linked to the Jira issue you will be prompted to choose which Cases should receive the Account assignment:

Pressing the toggle button will assign the Account to the desired Case.

To configure this feature the following fields have been added to the record setup configuration screen:

These settings would be set on the Account record setup, selecting the Case (to link Account and Cases), the id field in the Case record that stores the Account id, and the “Automatic LInking” checkbox (if checked) will automatically assign the selected Account on the CRM Details screen to all linked Cases. If the checkbox is not checked the user is prompted to select the Case records to assign the Account to.