You are viewing the old version of the documentation. See the latest version here: CRM for Jira Server Home

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

What for need CRM API

It need that external applications can programmatically add and receive data to CRM. To work with the API, you must configure the security key (password) and the rights of the user that will be connected.

Setting access to API

For access to API you need to specify the API Key (password) in the Administration/CRM/Integrations:

Image Added

Access rights to CRM objects

To receive data via API, you can use different users with different access rights. Access rights to the objects defined in the Administration/CRM/Access:

Image Added

Supported methods

Method's nameUser rightDescription
getcompanybynameCRM Main MenuReturn company by name or ID

To do some actions with CRM data you can use CRM API. Now we have authorization in API. For access in API you need:

  • apiKey (Set in CRM Administration panel in Access inlay.) 
  • userName (Login of JIRA's user, which will perform all actions)

As now all actions will be performed under the JIRA's user, he owe to have all rights for access to methods (that rights are too in Access)

 

For access to:A user owe to have right:Function properties:
getcontactbynameCRM Main MenuReturn
organization
contact by name or ID
getcompaniesCRM Main MenuReturn
list of
all
organizations
companies
getcontactsCRM Main MenuReturn
contact by name or ID
all contacts
sync CRM Main Menu
Return list of all contacts
Start synchronization of JIRA users
setcrmpropertiesCRM Main Menu
 
Set custom field type "Crm Property" in issue
addcompanyAdd companies
 setcontactAdd contacts 

 

How now owe to look method's calls :

...

Add company
addcontactAdd contactAdd contacts
setcontactAdd exising contact to companySet company for contacts
adddictionaryvalueAdd the values to dictionariesAdd new value to a custom dictionary
removedictionaryvalueRemove the values from dictionariesRemove value from a custom dictionary
searchentitiesSearch CRM objects by parametersSearch CRM objects by parameters
editcontact Edit contactsAbility to pass value parameters to the api methods by field codes or by field names
editcompanyEdit companiesAbility to pass value parameters to the api methods by field codes or by field names
updateOrCreateEntityAdd / Edit Objects

Example:

Code Block
/plugins/servlet/crm/api?command=updateOrCreateEntity&userName=&apiKey=&tableName=PRODUCTS&crm_param_1=Product%20Name&crm_param_1_value=Test&id=&crm_param_2=Price&crm_param_2_value=10&crm_param_3=Vendor&crm_param_3_value=Atlassian&crm_param_4=area&crm_param_4_value=area

tableName - record type

crm_param_1 - name of the first field

crm_param_1_value - value of the first field

Also, you can set the id for the existing record.

transactionsList
Search CRM transactionsSearch CRM transactions by given parameters

Calls examples

...

 

Start synchronization:

http://YOURDOMAIN

...

...

 

Register organization "Adobe" to contact "Ted Johnson":

...

http://

...

YOURDOMAIN/plugins/servlet/crm/api?

...

apiKey=${apiKey}&userName=${userName}&command=setcontact&companyName=Adobe&contactName=TedJohnson

...


Add contact with ID=6 to organization with ID=15:

http://

...

YOURDOMAIN/plugins/servlet/crm/api?

...

apiKey=${apiKey}&userName=${userName}&command=setcontact&companyId=15&contactId=6

...

 

Add contact with the specified attributes.

http://YOURDOMAIN/plugins/servlet/crm

...

/api?command=addcontact&userName=${userName}&apiKey=${apiKey}&clients-contact_name=new contact&clients-contact_company=newCompany&view-clients-contact_company=newCompany&clients-contact_email=new@new.com

 

Add company with the specified attributes.

http://YOURDOMAIN/plugins/servlet/crm/api?

...

apiKey=${apiKey}&userName=${userName}&command=addcompany&clients-org_name=test

...

 Company Name&clients-org_www=test.com&tableName=CLIENTS&view-clients-org_industry=Consulting&view-clients-org_sla=SLA-1

...

Free

...

$ {apiKey} need replace on key's value adjusted in Plugin administration panel.

{userName} need replace on JIRA user's login.

Here is an examples of a new method's calls.

 

...

 

Receive all organizations:

http://YOURDOMAIN/plugins/servlet/crm/api?apiKey=${apiKey}&userName=${userName}&command=getcompanies

 

Receive all contacts:

http://YOURDOMAIN/plugins/servlet/crm/api?apiKey=${apiKey}&userName=${userName}&command=getcontacts

 

Receive organization with ID=2:

http://YOURDOMAIN/plugins/servlet/crm/api?

...

apiKey=${apiKey}&userName=${userName}&command=

...

getcompanybyname&companyId=2

 

Receive organization with name "Teamlead":

...

http://

...

YOURDOMAIN/plugins/servlet/crm/api?

...

apiKey=${apiKey}&userName=${userName}&command=

...

getcompanybyname&companyName=Teamlead

 

Receive contact with ID=2:

...

http://

...

YOURDOMAIN/plugins/servlet/crm/api?

...

apiKey=${apiKey}&userName=${userName}&command=

...

getcontactbyname&

...

contactId=2

...

 

Receive contact with name "Vladimir Putin":

http://YOURDOMAIN/plugins/

...

servlet/crm/api?apiKey=${apiKey}&userName=${userName}&command=getcontactbyname&contactName=Vladimir Putin

 

Add value "Green" to the custom dictionary "Colors":

http://YOURDOMAIN/plugins/servlet/crm/api?command=adddictionaryvalue&userName=${userName}&apiKey=${apiKey}&dictionaryName=Colors&newvalue=Green

 

Remove value "Green" from the custom dictionary "Colors":

http://YOURDOMAIN/plugins/servlet/crm/api?command=removedictionaryvalue&userName=${userName}&apiKey=${apiKey}&dictionaryName=Colors&valuetoremove=Green

 

Search for all contacts of "Teamlead" organization:

http://YOURDOMAIN/plugins/servlet/crm/api?command

...

=searchEntities&crm_param_1=Company&crm_param_1_value=Teamlead&tableName=CONTACTS&userName=${userName}&apiKey=${apiKey}

 

Edit contact:

...

http://YOURDOMAIN/plugins/servlet/crm

...

/api?command=editcontact&apiKey=${apiKey}&userName=${userName}&contactId=${contactId}&view-clients-contact_position=${position}&clients-contact_position=${position}&clients-contact_email=${email}&clients-contact_login=${userName}


Edit company:

http://YOURDOMAIN/plugins/servlet/crm/api?command=editcompany&apiKey=${apiKey}&userName=${userName

...

}&companyId=${companyId}&view-clients-clients_field_d1facd51-01e0-4a68-a4f3-4aa3641a590e=Development,Training&clients-clients_field_d1facd51-01e0-4a68-a4f3-4aa3641a590e=Development,Training

http://YOURDOMAIN/plugins/servlet/crm/api?command=editcompany&apiKey=${apiKey}&userName=${userName}&companyId=${companyId}&clients-clients_field_d8927b73-09ba-4094-b281-af6738e4432d=testest

http://YOURDOMAIN

...

/plugins/servlet/crm/api?command=editcompany&apiKey=${apiKey}&userName=${userName}&

...

companyId=${companyId}&Сompany name=${companyName}

Search CRM transactions 
http://YOURDOMAIN/plugins/servlet/crm/api?command=transactionslist&userName=${userName}&apiKey=${apiKey}&saleVal=${issuekey}


where:

  • ${apiKey} -  API Key (password) in the Administration/Plugins/CRM/Access
  • ${userName} - JIRA user's login