Introduction
Scarab is an open source truly flexible issue tracking system.
It is the next generation issue tracking system intended to replace older style fixed workflow tracking systems like bugzilla and jira.
This article deals with how to import your JIRA installation into Scarab.
It does not cover the initial installation of Scarab.
Instructions
Requirements. You'll need a recent version of scarab (0.22 or trunk after 2008 'april) with the JIRA templates installed. Upgrading from a previous version won't install these JIRA templates!
- Add attribute option values to all global option-type attributes. Then add these to the same attributes in the global issue types.
- Add all users. (Alternative here is to set in build.properties scarab.import.addNewUsers=true [see the ScarabIssues.addUsers field]. This will create all the users the import process comes across on-the-fly.)
- Add all the modules, adding the JIRA attributes to each. Remove the JIRA prefix from them at the same time. (If you will only have one module you can just rename the JIRA module, remembering to add the attribute options from the first step to each issue type).
- Download the issues in xml format from your JIRA installation to your machine. Search and Replace all issue id prefixes so they contain only the four characters your scarab module uses. Eg SEARCH-311 must become SKER-311 if your Search module has a code of SKER.
- Mangle other data in the xml. For example removing customfields you won't be using any more after the import.
- Go to the import xml issues under modules in the left navigation menu. Select the xml file, choose Import type: JIRA. Hit submit.
- Most likely you forgot an attribute option or user and you'll see errors accordingly. Fix 'em and repeat last step.
Example: how i imported Schibsted Søk's jira issues into
http://sesat.no/scarab/
Import steps:
- save all SEARCH jira issues with the sprint attribute having a value sesat to xml with id in ascending order.
- from xml remove each customfield: sprint, tab, ekstern/intern, Time in Status, Date of First Response, Resolution Date (jedit has good multiline regexp search and replace)
- use schibsted-issue-list-mangler.pl (see attachments) to mangle the xml file. This file is only an example, you'll no doubt have to write something yourself.
- download all attachments into scarab's WEB-INF/attachments folder.
- edit module to use "wiki" style comments.
- "import issues" as Administrator in Scarab.
- edit modules, issue types, and attributes, to fix import errors.
- repeat previous two steps until no import errors appear.
- search replace descriptions and comments in the database. using the replace sql function i updated SCARAB_ISSUE_ATTRIBUTE_VALUE and SCARAB_ATTACHMENTS.DATA to fix links to other jira issue Ids, and updating the "Original Id..." text.
Alternative: DIY xslt to scarab xml
After the initial import i wrote a simple script with instructions on how to move individual issues from jira over to scarab.
Instead of importing the issues as "jira issues" into scarab i took jira.xsl and hacked it to my needs, then the xslt is manually done so that it's a "scarab issue" that is being imported.
The script and instructions can be found in
http://sesat.no/scarab/issues/id/SKER4705