Contents
Synchronise Trac tickets to Salesforce tickets
Description
This plugin synchronizes Trac tickets in Salesforce: Trac tickets are reflected by the Salesforce custom objects, Ticket and Comment. Ticket objects are linked to Cases via many-to-many relationship provided by the CaseTicketLink custom object. Even though this is a many-to-many relation, Trac uses a custom text field for the Case number, so it's essentially many-to-one.
Comment objects are related to Ticket objects via the link custom object, TicketCommentLink. The related lists layouts are modified to display the related object fields rather then the object id.
This plugin comes with some Salesforce artifacts that are installed to your Salesforce org via an Ant script, using custom Ant tasks from Salesforce. There are four custom objects - Ticket
, Comment
, CaseTicketLink
, TicketCommentLink
; and four custom layouts - Case Layout
, Ticket Layout
, Comment Layout
and TicketCommentLink Layout
. The Case Layout
is the default, out-of-the-box Case Layout
with an additional related list - "Tickets" appended; so if you already have a customized Case Layout
, you may want to modify the included package.xml
to omit the Case Layout
and manually add the Tickets
related list to your Case Layout
. The three other layouts are new and can be safely added, regardless of existing customizations.
The "migration tool" is just a set of Salesforce-specific Ant tasks which use the metadata API to upload/download artifacts, such as custom objects, etc.
An Ant script is provided to perform the deployment. You need to acquire the ant-salesforce.jar by following these steps:
- Log into a Salesforce.com org on your deployment machine.
- Click Your Name > Setup > Develop > Tools, and then click Force.com Migration Tool.
- Save the .zip file locally and extract the contents to the directory of your choice.
- Copy ant-salesforce.jar into your Ant installation's lib directory. The lib directory is located in the root folder of your Ant installation. You could also just copy this jar to the same directory as build.xml.
- Install the custom objects and custom page layouts into your Salesforce org.
- Copy
trunk/src/trac/plugin/ticket2sforce.py
totrac/projects/<yourproj>/plugins
. - Generate the partner WSDL and copy it into your
trac/projects/<yourproj>/conf
directory. - Edit your
trac.ini
file to enable the ticket2sforce component as well as setting the web service API credentials.
To install the custom objects and page layouts:
$ cd trunk/src
$ ant deploy
Ticket view
Case view
Bugs/Feature Requests
Existing bugs and feature requests for TicketToSalesforcePlugin are here.
If you have any issues, create a new ticket.
enhancement |
0 / 1 |
|
---|---|---|
task |
1 / 1 |
Known Issues
- Even though the case number is numerical, you must enter it with whatever leading zeros are configured in Salesforce for this field, since the query treats this as a string.
- This plugin comes with a
TicketValidator
which checks if the entered case number actually exists in Saleforce, but also if case number is blank. So if you are using the TicketValidatorPlugin you will get two warning messages, "case number required" upon attempting to submit a ticket without a case number.
Download
Download the zipped source from here.
Source
You can check out TicketToSalesforcePlugin from here using Subversion, or browse the source with Trac.
Installation
This plugin is dependent on the following:
- sforce: salesforce-python-toolkit
- suds: versions 0.3.6 to 0.3.9 only (ie 0.4.0 won't work) Python SOAP API, https://fedorahosted.org/suds
- XML-RPC plugin.
General instructions on installing Trac plugins can be found on the TracPlugins page.
Configuration
Example settings in trac.ini
are:
[components] tracrpc.* = enabled ticket2sforce.* = enabled ticketvalidator.* = enabled [ticket2sforce] username = yourSFusername password = yourSFpasswd sectoken = yourSFsecurityToken wsdl = partner.wsdl [ticket-custom] case_number = text case_number.label = Case Number [ticketvalidator] new.required = case_number
Recent Changes
- 14845 by chriswolf on 2015-07-24 23:15:31
-
Add license per issue #12456
- 14098 by rjollos on 2014-08-20 01:50:48
-
Removed empty directory.
- 9842 by chriswolf on 2011-02-08 13:19:26
-
Refactored code to consolidate two classes, Ticket2Case and CaseNumberValidator
into a single class, Ticket2SForce. This obviates the need for "caseId" global
and connection static method to share connection between two classs.
(more)
Author/Contributors
Author: chriswolf
Maintainer: Chris Wolf
Contributors:
Attachments (2)
-
case_view.png (79.0 KB) - added by 14 years ago.
Case View
-
ticket_view.png (72.3 KB) - added by 14 years ago.
Ticket View
Download all attachments as: .zip