Export & Import of Subcomponents

Click on  icon to export subcomponents to JSON file. You can import this JSON file to another project or to the same project. It may be even another Jira instance.

Subcomponents Export Format
{
  "id": 0,
  "linkId": -1,
  "name": "ERP",
  "isVirtual": false,
  "assigneeType": 0,
  "attributes": [],
  "children": [
    {
      "id": 1,
      "linkId": 1,
      "name": "Functional Modules",
      "isVirtual": true,
      "assigneeType": 0,
      "attributes": [],
      "children": [
        {
          "id": 10111,
          "linkId": 2,
          "name": "Human Resources",
          "isVirtual": false,
          "leadUsername": "jerome.johnson",
          "assigneeType": 0,
          "attributes": [],
          "children": []
        },
        {
          "id": 10112,
          "linkId": 3,
          "name": "Finance",
          "isVirtual": false,
          "leadUsername": "angelo.jonesx",
          "assigneeType": 1,
          "attributes": [],
          "children": []
        },
        {
          "id": 10113,
          "linkId": 4,
          "name": "Production Planning",
          "isVirtual": false,
          "leadUsername": "charles.goodman",
          "assigneeType": 1,
          "attributes": [],
          "children": [
            {
              "id": 10114,
              "linkId": 5,
              "name": "Material Management",
              "isVirtual": false,
              "leadUsername": "eric.bates",
              "assigneeType": 1,
              "attributes": [],
              "children": []
            },
            {
              "id": 10118,
              "linkId": 9,
              "name": "Supply Chain Management",
              "isVirtual": false,
              "leadUsername": "",
              "assigneeType": 1,
              "attributes": [],
              "children": []
            }
          ]
        },
        {
          "id": 10115,
          "linkId": 6,
          "name": "Sales and Distribution",
          "isVirtual": false,
          "leadUsername": "leonarda.coles",
          "assigneeType": 1,
          "attributes": [],
          "children": []
        },
        {
          "id": 10116,
          "linkId": 7,
          "name": "Quality Management",
          "isVirtual": false,
          "leadUsername": "lowell.gile",
          "assigneeType": 1,
          "attributes": [],
          "children": []
        },
        {
          "id": 10117,
          "linkId": 8,
          "name": "Project Management",
          "isVirtual": false,
          "leadUsername": "",
          "assigneeType": 2,
          "attributes": [],
          "children": []
        }
      ]
    },
    {
      "id": 2,
      "linkId": 10,
      "name": "Mobile Applications",
      "isVirtual": true,
      "assigneeType": 0,
      "attributes": [],
      "children": [
        {
          "id": 10119,
          "linkId": 11,
          "name": "Android Application",
          "isVirtual": false,
          "leadUsername": "randy.buck",
          "assigneeType": 1,
          "attributes": [
            {
              "id": 1,
              "componentId": 10119,
              "projectId": 10000,
              "attrTypeId": 1,
              "attrValue": "2"
            },
            {
              "id": 2,
              "componentId": 10119,
              "projectId": 10000,
              "attrTypeId": 2,
              "attrValue": "yes"
            },
            {
              "id": 3,
              "componentId": 10119,
              "projectId": 10000,
              "attrTypeId": 3,
              "attrValue": "40",
              "numericAttrValue": 40.0
            },
            {
              "id": 4,
              "componentId": 10119,
              "projectId": 10000,
              "attrTypeId": 4,
              "attrValue": "http://artifactory.milsoft.com.tr/android"
            },
            {
              "id": 5,
              "componentId": 10119,
              "projectId": 10000,
              "attrTypeId": 5,
              "attrValue": "3600000",
              "numericAttrValue": 3600000.0
            },
            {
              "id": 6,
              "componentId": 10119,
              "projectId": 10000,
              "attrTypeId": 6,
              "largeTextAttrValue": "{\"object\":\"value\",\"document\":{\"object\":\"document\",\"data\":{},\"nodes\":[{\"object\":\"block\",\"type\":\"paragraph\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"This is the legacy Java version of the application.\",\"marks\":[{\"object\":\"mark\",\"type\":\"bold\",\"data\":{}}]},{\"object\":\"text\",\"text\":\" Please use \\\"\",\"marks\":[]},{\"object\":\"inline\",\"type\":\"link\",\"data\":{\"href\":\"http://example.com\"},\"nodes\":[{\"object\":\"text\",\"text\":\"Android Kotlin Application\",\"marks\":[]}]},{\"object\":\"text\",\"text\":\"\\\" for new development.\",\"marks\":[]}]}]}}"
            }
          ],
          "children": []
        },
        {
          "id": 10120,
          "linkId": 12,
          "name": "iOS Application",
          "isVirtual": false,
          "leadUsername": "jerome.johnson",
          "assigneeType": 1,
          "attributes": [],
          "children": []
        }
      ]
    },
    {
      "id": 3,
      "linkId": 13,
      "name": "Database Support",
      "isVirtual": true,
      "assigneeType": 0,
      "attributes": [],
      "children": [
        {
          "id": 10121,
          "linkId": 14,
          "name": "Oracle",
          "isVirtual": false,
          "leadUsername": "natalie.diaz",
          "assigneeType": 1,
          "attributes": [],
          "children": []
        },
        {
          "id": 10122,
          "linkId": 15,
          "name": "MySQL",
          "isVirtual": false,
          "leadUsername": "sara.howard",
          "assigneeType": 1,
          "attributes": [],
          "children": []
        },
        {
          "id": 10123,
          "linkId": 16,
          "name": "PostgreSQL",
          "isVirtual": false,
          "leadUsername": "leonarda.coles",
          "assigneeType": 1,
          "attributes": [],
          "children": []
        }
      ]
    },
    {
      "id": 4,
      "linkId": 35,
      "name": "DevOps",
      "isVirtual": true,
      "assigneeType": 0,
      "attributes": [],
      "children": [
        {
          "id": 10124,
          "linkId": 36,
          "name": "Installer",
          "isVirtual": false,
          "leadUsername": "",
          "assigneeType": 0,
          "attributes": [],
          "children": []
        },
        {
          "id": 10125,
          "linkId": 37,
          "name": "Service Desk",
          "isVirtual": false,
          "leadUsername": "",
          "assigneeType": 0,
          "attributes": [],
          "children": []
        }
      ]
    }
  ]
}

Importing

To import subcomponents click on  icon on top of the component hierarchy. This will open a file selector dialog, you can either select a previously exported JSON file or select a handcrafted file. But its structure should match to the sample given above. Click on "Load" button to see a preview of import operation. Don't worry, you can still cancel operation after clicking on "Load". After clicking on "Load" following preview dialog will be displayed. Import operation will automatically create missing components, update existing components to match them to the information in JSON file. It will not delete any component even if it doesn't exist in the JSON file. But it will remove all component hierarchy and recreate it to match to the hierarchy specified in the JSON File.


To start import operation press the "Import" button. After the operation is completed you will need to "Acknowledge" operation and the page will be refreshed to show newly imported component hierarchy.