Contents
- Prerequisites
- Setup JIRA
- Jira2SVN Installation
- Customization
- Troubleshooting
- Appendix A: RHEL4 Pre-requisites
- Appendix B: Portable Hooks Examples
Prerequisites
- Jira2SVN is independent of the Subversion client used.
- Jira2SVN is tested and certified against specific version of Subversion - please see below.
- Jira2SVN uses the JIRA XML-RPC API to communicate with JIRA and this will need enabling.
Linux prerequisites
The client executable uses GTK+ on linux, so you might need to install this, for example on CentOS 5 or RHEL 5:
yum install gtk+
(If you see an error with libgmodule.so missing while trying to run the client, then the version of gtk+ that we need is not installed on your system)
Important Information for Windows Vista Users
If you're running Windows Vista, there are two steps which you need to carry out before Jira2SVN functions correctly.
- If using the installer, make sure that it's run as an Administrator (Right click on the installer and select 'Run as Administrator')
- After installing Jira2SVN, you will need to run the Server and Client as an Administrator. There are a couple of ways to achieve this:
- Right Click on the executable and select 'Run as Administrator' (You will have to repeat this every time you load the executable)
- Right Click on the executable and select 'Properties'. Click on the 'Compatibility' tab and at the bottom, tick 'Run this program as an administrator' (This will mean every time the executable is run, it will be run as an Administrator)
Supported Platforms
Current platform support is as follows:
The Jira2SVN clients; Jira2SVN Servers and Jira2SVN hooks have executables that are supported on the following platforms:
Platform |
introduced in Jira2SVN Version |
Windows XP 32bit |
v1.0 |
Linux RHEL (or CentOS) 4 AS 32bit |
v1.1 |
Linux Cent OS 5.1 32bit |
v1.2 |
Windows XP 32bit SP3 |
v1.3j |
Windows XP 32bit SP2 |
v2.0g |
Windows Vista |
v2.0g |
Ubuntu 8.04 32bit |
v2.0h |
CentOS 5.2 |
v2.0n |
Prior to 1.3j, the version of Subversion that was supported was 1.4.6. 1.3j and after support 1.5.5.
The plugin is 100% pure Java and should therefore run on all JIRA platforms with Java 1.4 or above (tested with JIRA 3.13.2*).
*
Note: Jira 3.13.3 includes a bug which breaks the Jira2SVN (v2.0) 'Move to next state' feature. Hence, please use Jira 3.13.4 or above.
If you don't see the platform that you require above, please contact us at sales@clearvision-cm.com.
NEW in v2.0: Platform-independent "Portable Hooks"
NEW in v2.0: As of version 2.0, Jira2SVN provides a special version of the Subversion hooks, which is independent of the operating system. This allows you to run Subversion on virtually any platform.
We recommend that you only use this if your platform is not supported by the executables as the installation is more involved.
To use the Portable Hooks, you must download the version that matches your version of Python. There are also a number of 'pre-requisite packages that must be installed.
These packages may already be installed on your system, but if they are not, please note that the software required is Open Source and can be downloaded and compiled from source as required. Note that on Linux, Sun and Mac, binary packages for your OS distribution may also be available.
Prerequisite Packages:-
Subversion 1.5 - including the python SWIG bindings
python - version 2.5 is recommended
Note that the version numbers indicated above are the versions of the tools Jira2SVN has been tested with. Jira2SVN may well work with other versions of the tools, but this cannot be guaranteed. Please make sure that the product works in your environment before purchase. An evaluation licence can be made available for that purpose.
Please refer to the appendix for guides on installing pre-requisite software for specific platforms.
Configuration planning
You will need to choose a machine to run the Jira2SVN Server, and choose a port number for Jira2SVN to use (eg, we recommend 54322). Note that the client machines will require access to this port on the Server (and this may require firewall configuration). As per the IANA recommendations, we recommend that you use one of the Dynamic and/or Private Ports from 49152 through 65535.
Jira2SVN is designed with maximum flexibility in mind to cater for various network infrastructure requirements. Therefore, the physical location of all the components is flexible. In particular, the location of the Jira2SVN Server is flexible to help mange network traffic and data latencies. It may be installed on your Subversion server machine; your JIRA server machine; or on its own machine as shown below.
Fully Distributed System
Shared Jira2SVN/JIRA Configuration
In some environments, it makes sense to locate the JIRA2SVN Server on the JIRA machine itself.
Shared Jira2SVN/Subversion Configuration
In other organisations, it might make sense to locate the Jira2SVN Server on the Subversion server.
Alternative Configurations
Multiple Subversion servers with a single JIRA Server
Jira2SVN can support multiple subversion servers either using separate or shared JIRA datbases. So, for example, to use one common JIRA database with 2 Subversion repositories, simply setup one Jira2SVN Server for each Subversion repository, each pointing to the shared JIRA Server. On each User machine, run 2 Jira2SVN clients, each with it's own Jira2SVN.cfg file (pointing to it's respective Jira2SVN Server). This way, whenever a commit is made to either repository, the Jira record is requested from the User.
License
You must have obtained a license (from sales@clearvision-cm.com ). Note that this license will only let you run Jira2SVN on a particular server machine, on a particular port, and will allow a maximum number of users. The license is time-limited.
To request a license you can download the get_license_info executable and run it on the machine you want to use as the Jira2SVN server. The get_license_info tool can be found within the tools directory of the zip package. This will retrieve system information from the machine and present you with a license request to return to Clearvision at the below address. Alternatively, you can fill in the details below and send them to sales@clearvision-cm.com :
License Request for Clearvision Jira2SVN:
Evaluation: yes/no
IP Address: 192.168.64.1
Port: 54322
MAC Address: 00-50-56-C0-00-05
Users: 50
Company: You Company name here
Email Address: yourco@yourco.com
Expiry Date: 2008-03-31
Product: JIRA2SVNThe get_license_info executable is run from a command prompt, eg on Windows:
Cut and paste the highlighted section; check all the fields and fill in the empty ones (Company Name, etc) and send to sales@clearvision-cm.com .
Setup JIRA
Install the Jira2SVN Plugin & Properties File
Unpack the jira2svn zip file and copy the jira2svn.jar file from C:\Program Files\Clearvision\jira2svn\jira_plugin to your application server (eg WEB-INF\lib for tomcat, or C:\Program Files\JIRA-<VERSION>\atlassian-jira\WEB-INF\lib on Windows)
Copy the jira2svn.properties file from the same folder to your app server (eg WEB-INF\classes for tomcat)
Edit the system-renderers-plugin.xml for your JIRA server (e.g. WEB-INF/classes/system-renderers-plugin.xml for Tomcat, or C:\Program Files\JIRA-<VERSION>\atlassian-jira\WEB-INF\classes\system-renderers-plugin.xml on Windows) and add the following lines after </plugin-info>:-
<jira-renderer system="true" key="jira2svn-hidden-renderer" name="Hidden Text Renderer" class="com.clearvision.jira2svn.HiddenTextRenderer"> <description>A renderer that will not display the content of a field. Used for hiding contents of the JIRA2SVN custom field.</description> <resource type="velocity" name="edit" location="templates/plugins/renderers/text/text-renderer-edit.vm"/> </jira-renderer>
- Restart the JIRA server
Enable XML-RPC
Enable the XML-RPC remote JIRA API as per the instructions , in summary:
- Go to System/Plugins in the Administration page and check that the RPC Jira Plugin is installed and that the 'System XML-RPC Services' are enabled
- Go to Global Settings/General Configuration set 'Accept remote API calls' to 'ON'.
Create a Filter
Create a filter to get the list of Issues that a typical Jira2SVN user would be interested in. For example, all outstanding bugs or features for the 'Current User'. Make sure that this filter is usable by everyone who will use Jira2SVN (for example by 'sharing' the filter to everyone). Write down the id of the filter (a number like '10001'). You can find it at the end of the URL after creating a new filter, or when you view all filters, hover over the jira2svn_filter and check the location in your browser.
Add a custom field
Jira2SVN captures information about the change from Subversion and stores it in a custom field in JIRA. Note: Unlike the Atlassian plugin, this means that the change information is permanently available for reporting and audit purposes.
To add the field:
- Go to the Administration tab
- Choose the 'Custom Fields' option from the menu.
- Add a custom field with the following settings:
Type = Free Text Field
Name = jira2svn (please make sure that the name is exactly as shown, all in lowercase)
- Applicable context = Any issue type; Global context (or wherever you want to use Jira2SVN if different).
- Add a custom field with the following settings:
Note the numerical part of the field you've just added, something like 10010 (you'll see the id within the URL in your browser when you've created the field, eg fieldId=customfield_10010 or at the end of the URL when you edit the field).
- Associate the field to the Default Screen (or wherever you want to use Jira2SVN if different)
Associate the jira2svn field with the HiddenTextRenderer. This is an optional step that will make tickets with a large number of file associations more readable by hiding the raw data, which is normally displayed at the top of a ticket:-
- Go to the Administration tab
- Choose 'Field Configurations' from the menu
- Choose 'Configure' from the 'Operations' column of the 'Default Field Configuration'
- Choose 'Renderers' from the 'Operations' column of the 'jira2svn' field
- Change the 'Active Renderer' to 'Hidden Text Renderer'
- Choose 'Renderers' from the 'Operations' column of the 'jira2svn' field
- Choose 'Configure' from the 'Operations' column of the 'Default Field Configuration'
Jira2SVN Installation
Jira2SVN has 4 separate parts: a Client; a Server; a JIRA Plugin; and a set of files which must be installed in your Subversion repository's hooks directory. There is also a tool to get license information from your Jira2SVN Server in the tools directory.
Start by unpacking the zip file into the C:\Program Files location on all of the machines that you will be installing on (any location can be used, however all the configuration files and instructions below use C:\Program Files as an example). The following directory structure will be created:
client directory contains the executable which must be started on every client.
server directory contains the Jira2SVN server executable
jira_plugin contains the plugin & properties file for JIRA
subversion_hooks contains the set of files which reside in the hooks directory of every subversion repository.
tools contains the license request tool
docs contains PDF documentation for Jira2SVN (including this guide)
NOTE Please take care when editing any configuration files. We recommend the use of professional text editors such as Vim. Wordpad should also work, but don't use Notepad or MS Word.
Jira2SVN Server
On your Jira2SVN Server machine:
unpack the zip file into C:\Program Files.
edit Clearvision\jira2svn\server\jira2svn_server.cfg using a programmers editor (or Wordpad not Notepad on Windows) and configure the following parameters with values according to your setup, eg for a filter id of 10010, a custom field with id 10020 and a JIRA server accessible at http://issues.mycompany.com:8080/. Both http and https protocols are supported for the jira_server setting. If no protocol is specified, Jira2SVN assumes http as the protocol:
[JIRA] filter_id=10010 jira2svn_custom_field_id=10000 jira_server=http://issues.mycompany.com:8080 [License] company_name=Your Company Plc licence_email=admin@yourcompany.com expiry_date=2008-12-31 users=999 license_key=PLEASE_ADD_YOUR_LICENCE_key_HERE license_certificate=PLEASE_ADD_YOUR_LICENCE_certificate_HERE [Server] server_ip=192.168.1.2 server_port=54322
- open a command window, go to the server directory, then start the server (make it executable first on Linux), eg:
cd c:\Program Files\Clearvision\jira2svn\server jira2svn_server.exe
check the JIRA2SVN.log file in the server directory for any errors (an empty file indicates no errors).
Configuring the Server to run on startup
On Windows, we recommend that you add the Jira2SVN Server as a 'Scheduled Task', 'When my computer starts'. An alternative would be to add an item in the autoexec.nt file so that the server is started on boot and is available for all users. Alternatively, you may want to start the Server manually, eg whenever subversion is started.
There is a -f command argument that you can use to choose a particular config file like this:
jira2svn_server.exe -f c:\my_jira2svn_server.cfg
You may also want to refer to the tools/run_server.sh sample script for Unix platforms.
Jira2SVN Client
Either unpack the whole zip file as above or copy just the c:\Program Files\Clearvision\Jira2SVN\client folder. (An alternative location can be used, eg on Linux you may use /opt/Clearvision/Jira2SVN, however all the configuration files and instructions use C:\Program Files as an example).
edit the file C:\Program Files\Clearvision\jira2svn\client\jira2svn.cfg and set the information exactly as per your license request, pointing to the Jira2SVN server related to the Subversion instance you want to use.
[Server] server_ip=192.168.1.2 server_port=54322
Configuring User Ids for each Jira2SVN Client
Jira2SVN uses 2 user ids: your JIRA user name and your Subversion user name.
On each client machine, you must configure the JIRA user id and password and optionally a subversion user id. By default, Jira2SVN uses the current login name as it's id for Subversion. If you want to use an alternative id, configure this on the client's machine with the svn_uid option in jira2svn_client.cfg as follows:
[JIRA] jira_uid=joe_bloggs jira_password=my_secret_password [Options] svn_uid=jbloggs
Note: The default server configuration disables the ability to use svn_uid on the clients. If you want to enable this functionality, please see the Customization section later.
New in 1.3: You can now avoid including the password in the config file if you desire (eg for security reasons). Simply comment out the jira_password configuration variable (by adding a semi-colon at the start of the line as below), and you will then be prompted in a window to enter your password when the client starts.
[JIRA] jira_uid=joe_bloggs ;jira_password=my_secret_password
Configuring the Client to run automatically
You will probably want to have the Jira2SVN Client running whenever a User is logged on to his/her machine so that Jira2SVN is available whenever they check in to Subversion.
On Windows
logon
We recommend that you add a shortcut to the Jira2SVN Client as an item in the StartMenu/Programs/Startup folder for each Jira2SVN User. This setup ensures that whenever a User logs on to Windows, they automatically register with Jira2SVN. You may want different configurations for each user, or you may be able to share one configuration (eg if there are no clients that require custom user ids and all Users use the same repository). There is a -f command argument that you can use to choose a particular config file like this (remember to add this to your shortcut):
jira2svn_client.exe -f c:\Program Files\Clearvision\jira2svn\client\jira2svn_client.cfg
Depending on your setup, an alternative may be to add the startup as a 'logon script' in the Profile tab of the Computer Management/Users settings.
Another alternative is to use a Windows 'Scheduled Task' and run the client 'When I Log On'.
logoff
You may be able to assign a logoff script as documented here and write a simple batch script (using the DOS taskkill command) to kill the process on shutdown, for example:
taskkill /f /t /im jira2svn_client.exe
On Linux
You can run the Jira2SVN Client by adding a line to your login script (eg ~/.bash_login), and you may want to copy the configuration file to your home directory ~/.jira2svn.cfg, and use your personalized settings like this:
/opt/Clearvision/Jira2SVN/client/jira2svn_client -f ~/.jira2svn_client.cfg
You may also want to refer to the tools/run_client.sh sample script for Unix platforms.
Setting permissions on Linux
On Linux, you will have to set permissions appropriately. Log files are written to the current working directory (ie wherever you run the process from), so this directory will require write-access. All of the executables, ie the client, server and all of the hook files will require execute permission. As an example, we've provided the tools/post_install.sh script which will need to be customized, eg:
# This is an example post-installation script which you # will need to customize according to your installation. # # Run this before copying the hook files to your Subversion repository. # Also please make sure that the files and directories are readable. Jira2SVN_HOME="/opt" # change this appropriately chmod +x $Jira2SVN_HOME/Clearvision/jira2svn/client/jira2svn_client chmod +x $Jira2SVN_HOME/Clearvision/jira2svn/server/jira2svn_server chmod +x $Jira2SVN_HOME/Clearvision/jira2svn/subversion_hooks/* # if you run the client and server in-place, you will need # to make the directories writable for the log files: chmod +w $Jira2SVN_HOME/Clearvision/jira2svn/client chmod +w $Jira2SVN_HOME/Clearvision/jira2svn/server
Subversion Hook Setup
A couple of hooks need to be installed into each Subversion repository's hooks directory. The hooks and related programs are delivered in the C:\Program Files\Clearvision\Jira2SVN\subversion_hooks directory. These need to be copied to your hooks directory, and will require a small amount of customization for your local setup. If you have local (non Jira2SVN) Subversion hooks to run, you may integrate these with Jira2SVN (see the bat/shell files for more info).
On your Subversion Server machine:
unpack the zip file into C:\Program Files.
copy all of the files from Clearvision\jira2svn\subversion_hooks into the hooks directory of your Subversion server.
- on Linux, make all of the hook scripts executable (ie everything except the config file)
edit the config file (jira2svn_hook.cfg) that is in your Subversion hooks directory and configure the following parameters with values according to your setup, for example, if your Jira2SVN Server is at IP address 192.168.1.2 and is licensed for port 54322:
[Server] server_ip=192.168.1.2 server_port=54322
NEW in 2.0: Portable Hooks
NEW in 2.0: To use the portable hooks rather than executables, please replace pre-commit and post-commit with portable-pre-commit and portable-post-commit. Note that you must rename the portable-xxx files as otherwise they will be ignored by Subversion.
Also note that, unlike the executables, the portable version requires a set of software tools to be installed on your system. Please refer to the Prerequisites section at the top of this document for details.
Customization
Jira2SVN can be customized according to your local requirements in a number of ways. This section describes all of the configuration options.
Configuration Options
There are a number of options to control the behavior of Jira2SVN. The default options are configured to enable an enforcement policy. Using the options below, you can allow a more permissive policy for your system.
The options are set in the configuration files in a section called [Options]. There are options for the server; for the hooks; and for the clients. The server configuration options control site-wide behavior of clients, such as allowing multiple records to be selected, or allowing configuration of the subversion user id. The hook configuration options control commit behavior for that repository such as permitting anonymous commits or allowing clients to not choose a change record for their changeset. The clients can set their user id for Subversion (if this is allowed by the server).
All of these options are detailed below.
JIRA Configuration
Issue Selection
The set of issues displayed to a Jira2SVN user are defined by the JIRA filter that you use. You can therefore freely customise this to select any issues that you like with any criteria. Note that the filter is set for the Jira2SVN Server, so is shared for all users.
Display format
You can choose between one of 2 display layouts for the Jira2SVN tab by changing the property in the jira2svn.properties file.
(display.layout=1) (the default) is a compact, 'changeset-first' layout
(display.layout=0) is a wider format which is similar to the standard Atlassian plugin format.
Jira2SVN Server Configuration Options
Allow Multiple JIRA Records per Changeset
The default configuration pops up a GUI which allows the User to select a single JIRA record to associate with the Subversion change-set. This policy can be changed site-wide by setting the allow_multiple_choices=1 option in jira2svn_server.cfg, for example:
[Options] allow_multiple_choices=1
Allow Subversion User Id Configuration on Clients
Normally a client will use the operating system's user id as its Subversion user id. Depending on your local policy and setup, you may need to allow clients to tell Jira2SVN that they have a different user id for Subversion.
To enable this configuration option on all clients, you can set the allow_client_svn_uid_configuration=1 option in the server configuration file.
[Options] allow_client_svn_uid_configuration=1
Then, a client can configure their svn_uid option (see below)
NEW in v2.0: Allow Issues to be Moved to the Next State
New in v2.0 The default configuration pops up a GUI which allows the User to select a JIRA issue to associate with the Subversion change-set. Sometimes it is useful to let a user also move that issue to its next state (for example saying that development is complete, and a fix is ready to be tested). The allow_next_state option enables this functionality for all clients. Once enabled, the clients will be presented with an enhanced popup window that allows them to optionally progress the state of a record (please see the User Guide for an image of the GUI).
PLEASE NOTE: If you enable this feature, you must also specify a configuration that specifies which JIRA workflow action should be taken for each state. This can be done through the jira_workflow_matrix option in the JIRA section.
The example below shows a workflow matrix for the default JIRA workflow. If you use customised workflows in JIRA, you will need to go to the Administration tab and select the Workflows option from the menu on the left. Then click on Steps for your workflow. State ids are shown in parentheses behind each Step Name, and Action ids are shown in parentheses behind each Transition. The jira_workflow_matrix needs to be defined such that for each state it defines what action to take. The format is {{{jira_workflow_matrix=<state_id>:<workflow_action_id>[;<state_id>:<workflow_action_id>...].
To enable this feature, set the allow_next_state option to 1 in the [Options] section of jira2svn_server.cfg, and define the workflow matrix in the jira_workflow_matrix option in the [JIRA] section.
[Options] allow_next_state=1 [JIRA] ; Format: jira_workflow_matrix=<state_id>:<workflow_action_id>[;<state_id>:<workflow_action_id>...] jira_workflow_matrix=1:4;3:5;5:3;4:4;6:3
NEW in v2.0: Show Extra Field Information in Jira2SVN GUI
New in v2.0 Sometimes the issue id and issue title are not enough to decide which issue to attach a change to. If this is the case, you can show more information in the Jira2SVN GUI by adding extra fields and values to the information displayed in the GUI.
You can enable this feature using the show_extra_fields configuration option in the [JIRA] section of the server configuration. The format is as follows:-
; Format: show_extra_fields=<field_id>[,<field_id>, ...] show_extra_fields=assignee,created
This option can be used for displaying the value of standard JIRA fields as well as custom fields. For custom fields, please specify customfield_<custom_field_id>, e.g. show_extra_fields=customfield_10020.
For standard JIRA fields, please refer to the table below for a list of JIRA field id's.
Please note that it is not advisable to add fields with large amounts of data to the extra-fields option as it can become confusing for the user.
JIRA Field Name |
Field ID |
Project |
project |
Key |
key |
Status |
status |
Summary |
summary |
Priority |
priority |
Votes |
votes |
Reporter |
reporter |
Component/s |
components |
Created |
created |
Fix Version/s |
fixVersions |
Affects Version/s |
affectsVersions |
Issue Type |
type |
ID |
id |
NEW in v2.0: Enabling Jira2SVN Command Line Mode
New in v2.0 Jira2SVN can scan for issue id's in the Subversion log entered by the Subversion user. This is useful if you cannot or prefer not to use graphical applications such as the Jira2SVN client GUI.
You can turn this option on by adding the allow_change_ids_in_svn_log=1 option to the [Options] section in your server config file (the default is off).
[Options] allow_change_ids_in_svn_log=1
Issue id's need to be provided at the beginning of the log message with no preceding white spaces and followed by a space character. Multiple issue id's can be provided, with issue id's separated by semicolons. The following examples are Subversion log messages that would result in Jira issues being updated:-
TEST-17 Fixed problem TEST-10;TEST12 Fixed two problems
Note that if this option is enabled and you specify a log message that starts with a word that looks like a Jira issue id, then you can prevent Jira2SVN from scanning the log message by starting your log message with a space (or any other character):-
JAVA-2 is a great platform and fixes this problem. This problem is fixed by using the JAVA-2 platform.
Both examples above work fine as Jira2SVN will not consider JAVA-2 a Jira issue id as it does not appear at the beginning of the log message. Note that if you specify a Jira issue id at the beginning of the log message that is not part of the set of issues returned by the Jira filter, Jira2SVN will give an error.
Note that with the allow_change_ids_in_svn_log option it is possible to run Jira2SVN without a client. However, since Jira2SVN needs to be able to access the Jira server, you need to specify a default Jira username and password in the server config file. The default_jira_uid and default_jira_password is only used if the user is not logged in through a client.
default_jira_uid=myuser default_jira_password=mypassword
Please note that once these options are set, any Jira2SVN user can make use of the default user name and password. If this is not desirable, then it may be preferable to require each user to log in to the Jira2SVN server through a Jira2SVN client even when using the command line mode. You can do this by not specifying the default_jira_* options in the config file.
Note, however, that if a user is logged in through a client, Jira2SVN will pop-up the client GUI if the information provided in the Subversion log is not sufficient.
Hook Configuration Options
Allow Commit Without Change Id
A user who is logged in to the Jira2SVN system normally must choose a record to go with their changeset. If they cancel their choice, Jira2SVN will abort the Subversion commit.
If you want to allow them to optionally not select any of their current change records and 'cancel' their choice in the GUI (ie allow commits without any change record, you can set this option.
WARNING: Enabling this will mean that some changes are NOT recorded in your change control system!
[Options] allow_commit_without_change_id=0
Allow Anonymous Commits
Default behaviour is to check that a user has logged on to the Jira2SVN Server, and to abort any commits from users who are not yet logged on (a policy-'enforcing' mode). You can disable this behaviour here (for example if some of your users do not use change records)
WARNING: this will mean that those users not running a Client will NOT be using this system to correlate Subversion with your change control system, and effectively bypassing Jira2SVN altogether!
[Options] allow_anonymous_commits=1
Allow Commit On Error
Normally, if an error occurs in the system, Jira2SVN will try to abort the commit. If you want to let the commit proceed (for example as a temporary measure until you fix a system problem), you can set this option:
[Options] allow_commit_on_error=0
Note that this is not guaranteed to work as it depends on the exact problem that is occurring, so, please use with caution.
Write Issue Ids to Subversion Log
You can configure Jira2SVN to add issue ids to the subversion log message. If you enable this option and commit a change, Jira2SVN will add the ids of all issues chosen by the user to the front of the log message.
This has two advantages:
- You can see the association with a JIRA ticket from the log message.
The behaviour is compatible with Atlassian FishEye.
[Options] log_issue_ids_in_svn=1
Client Configuration Options
Changing the Subversion User Id
If the server is configured to allow it, you can configure the subversion user id that a client uses with the svn_uid option in the jira2svn_client.cfg:
[Options] svn_uid=jbloggs
Note: The default server configuration disables the ability to use svn_uid on the clients. If you want to enable this functionality, please see the allow_client_svn_uid_configuration option above.
NEW: Prompting for a password
New in 1.3: You can now avoid including the password in the config file if you desire (eg for security reasons). Simply comment out the jira_password configuration variable (by adding a semi-colon at the start of the line as below), and you will then be prompted in a window to enter your password when the client starts.
[JIRA] jira_uid=joe_bloggs ;jira_password=my_secret_password
Troubleshooting
To check that a Jira2SVN client or server is running on Windows, open the Windows Task Manager. You should see 2 entries for the server (on a server machine) and 2 for the client (on a client machine). To kill the process, right click on the process in the Processes tab and select 'End Process Tree' (to kill both processes at once). If the process is not running, check your log file for any errors. On Linux, use ps -ef | grep jira2svn - these processes can be safely killed.
To investigate setup problems, it can be helpful to increase the logging level from the default of 'Warning' to 'INFO' (see jira2svn.cfg)
Note that when an error occurs, the default behavior is to abort the commit. Some possible reasons are:
When your User Id is not recognized as a Subversion User Id (you may want to set svn_uid) in your client's config file to override the default user id
When the user is not logged on to Jira2SVN (check in Task Manager that jira2svn_client.exe is running and that is is using the expected uid)
- When there are no valid records assigned to the user (or there are no eligible records - run the filter in the JIRA web interface with the userid and check the results.).
When Subversion svnserve.conf file uses anon-access = write
If you have a local repository and are using the file protocol via the command line client, your commits will not use your windows logon id, they will be anonymous. So, to work with Jira2SVN you must use something like:
svn commit myfile.txt --username engineer
Note that you can use this command, but Subversion still works anonymously if you have asked it to (eg using svnserve with anon_access=write).
The config files use unix line-endings, so please be careful to use a well-behaved text editor such as Cream/Vim or Wordpad rather than Notepad or MS Word.
If you have problems with the JIRA plugin, please check the JIRA log files for any reported errors. It will help to have the logging level for your application server set to INFO or DEBUG. Also, check the status of the plugin in the JIRA Administration panel.
Installation Support
If you experience issues during the installation of your evaluation copy of Jira2SVN please send details of the problem and screen shots along with your contact name, contact phone number and company name to support@clearvision-cm.com .
Appendix A: RHEL4 Pre-requisites
Subversion 1.4.4
Jira2SVN is built against Subversion 1.4.4. Pre-built RPM packages for Subversion and it's dependencies are available from the following site. Note that this is not part of the Clearvision product, but is required for Jira2SVN to run. The following site is referenced from the standard Subversion download page:
http://the.earth.li/pub/subversion/summersoft.fay.ar.us/pub/subversion/latest/rhel-4/i386/
- apr-0.9.12-2.i386.rpm
- apr-util-0.9.12-1.i386.rpm
- mod_dav_svn-1.4.4-1.i386.rpm
- subversion-1.4.4-1.i386.rpm
- subversion-perl-1.4.4-1.i386.rpm
- subversion-python-1.4.4-1.i386.rpm
- subversion-tools-1.4.4-1.i386.rpm
To install these rpms after downloading, run rpm -Uvh <rpmname> on each rpm file.
Appendix B: Portable Hooks Examples
Sun Solaris 10
This appendix gives guidance on installing prerequisite tools for portable hooks on a Solaris 10 system. Please note that the instructions below are for guidance only and your system may require different steps.
Set path to pick up GNU tools
export PATH=/usr/ccs/bin:/usr/sfw/bin:$PATH
Python
Python 2.4 is available on the Solaris CD, and other versions (including python 2.5) are available from Sunfreeware.com. These use the standard Sun pkgadd. We would recommend using python 2.5 if possible.
Twisted 8.2.0
This package has long file names, therefore it requires 'gtar' to be unpacked.
python setup.py install
Zope 3.3.1
Twisted requires the interfaces package in Zope.
This package has long file names, therefore it requires 'gtar' to be unpacked.
./configure --with-python=/opt/python/bin/python # use your python location here. make make install
PySVN 1.6.2
Note that PySVN requires GNU's version of make, "gmake".
The version of gcc that we used had a problem with finding the right linker. GCC has hard-coded search paths (for as, ld, etc.). Our version was missing the path to the GNU linker, but had the Sun linker, so failed with an invalid (GNU-specific parameter, ie --rpath). To work around this problem, we moved /use/css temporarily (see below)
cd Source python setup.py configure mv /usr/ccs /usr/ccs.BAK # see above gmake cp -r pysvn /opt/python/lib/python2.5/site-packages/ # use your python location here. mv /usr/ccs.BAK /usr/ccs
Copyright (c) 2008 Clearvision CM All Rights Reserved Registered in England No. 5643578 VAT Registration No. UK881364801 Registered Address Laurel Farm, Winters Hill, Durley Southampton, SO32 2AH