---
title: "How ACLI can help with migration"
canonical: "https://support.appfire.com/space/SUPPORT/382206258/How%20ACLI%20can%20help%20with%20migration"
format: markdown
---
ACLI automation capabilities support the automation of tasks in pre and post migration activities.

Depending on the size and the complexity of your migration, you might want to use tools designed to carry out complex migrations.

## \uD83D\uDCD8 Migration Tools

Migration tools that you may want to use are:

- Appfire Configuration Manager for Jira (CMJ)
- Atlassian Confluence Cloud Migration Assistant (CCMA)
- Run CLI for Jira
- Run CLI for Confluence

> ℹ️ - CCMA allows you to migrate Confluence from server to Cloud.
> ℹ️ 
> ℹ️       Confluence migration from server to server is not possible.
> ℹ️ 
> ℹ️ - CMJ allows you to migrate a Jira instance both to server or to Cloud.

## ACLI Automation Capabilities for Migration

ACLI Automation capabilities complements other tools in preparing for migration, staging and testing activities.

For example, as part of the migration strategy, you want to audit your content (analyse and rectify). Once you established what you have, you decide the content that you want to remove from migration (old and/or harmful files). Equally, after migration, you want to ensure that all the required content was migrated in the correct format and with the new naming convention and architecture.

You can leverage ACLI capabilities, using `Run`, `Export` ,`copy ` actions and more to bulk automate across operations, as shown in [General for all applications](https://appfire.atlassian.net/wiki/spaces/SUPPORT/pages/382206258/How+ACLI+can+help+with+migration#%5BinlineExtension%5DGeneral-for-all-applications), [Confluence-specific actions](https://appfire.atlassian.net/wiki/spaces/SUPPORT/pages/382206258/How+ACLI+can+help+with+migration#Conflue%5BinlineExtension%5Dnce-specific-actions) and [Jira-specific actions](https://appfire.atlassian.net/wiki/spaces/SUPPORT/pages/382206258/How+ACLI+can+help+with+migration#%5BinlineExtension%5DJira-specific-actions).

### > Macro (anchor)

General for all applications

All ACLI applications provide a set of actions that are useful for migration purposes, as follows:

1. **Multiple** `Run` actions that allow bulk automation across many application objects and generic support:
  1. `runFromCsv` - run actions for each row
  2. `runFromSql` - run action for each row of a database query
  3. `runFromJson` - run actions based on JSON data like arrays
2. **Database support** for all list actions - the ability to automatically create or update database tables from application data.   
The data is useful for analysis for planning migrations and understanding your application data.  
For example, analyzing users, groups, and space permissions or looking for obsolete data that can be removed before migration.   
Use database support to drive migration automation with ACLI actions (and `runFromSql`) or other tools that use databases.   
**->** Database support is particularly useful in cross application migration where data needs to be restructured for the target application.
3. **Test staging** and migrations with ACLI script to retrieve data and verify against expected results either manually or in formal tests using [Gint](http://gint.org/). Also, ad-hoc testing and automations to fix up migration errors to avoid error prone manual updates.
4. **Help with instance management** for test and staging instances and applications using UPM actions like `getAppList` , `installApp` , `addLicense`, `runFromAppList`.

In addition, both Confluence and Jira provide specific actions that can be used in migration activities, as shown in the Tables Confluence actions and Jira-specific actions.

### Conflue> Macro (anchor)

nce-specific actions

| **Action type** | **Use** |
| --- | --- |
| `Run`<br>`runFromSpaceList`  run actions for each space. Defaults to global spaces only. Filtering available like for getSpaceList.<br>`runFromContentList` run actions for each content item found from a content search.<br>`runFromAttachmentList` Run actions for attachments that match the same conditions as getAttachmentList.<br>@all can be used as a special value for the space parameter. | Use a variety of `Run` actions to minimise script writing. |
| `exportSpace`<br>`restoreExport` | Actions for managing space data |
| `exportData` | Action for exporting some constructs as ACLI scripts that can be modified and used to re-create on other systems.<br>Supported data types include:   
`SPACE, PARTICIPANTS, USERS, and GROUPS` |
| `Copy`<br>`copySpace` to copy entire space and (optionally) contents<br>`copyAttachments`<br>`copyBlog`<br>`copyComments`<br>`copyLabels`<br>`copyPage` and `copyPageChildren`<br>`copyPermission` | Extensive `Copy` type of actions including support for `targetServer` to copy data to another server. |
| `modifyPage`<br>`modifyBlog` | Modify actions to repair text data with regex find and replace capabilities.<br>Modify actions are useful for repairing links in data and can be used in combination with database (`runFromSql`) to drive high volume changes. |

### > Macro (anchor)

Jira-specific actions

| **Action type** | **Use** |
| --- | --- |
| `Run`<br>`runFromProjectList`<br>`runFromIssueList`<br>`runFromVersionList`<br>`runFromComponentList`<br>`runFromFieldList` | Use a variety of `Run` actions for Jira to minimise script writing. |
| `archive` | Archive related actions to help with controlling what needs to be migrated. |
| `exportData` | Action for exporting some constructs as ACLI scripts that can be modified and used to re-create on other systems.<br>Supported data types include: `PROJECT, PERMISSIONSCHEME, PARTICIPANTS, USERS, and CUSTOMFIELDS` |
| `import`<br>`importWorkflow` |  |
| `Copy`<br>`copyAttactments` - copy all attachments from one issue to another include on a target server. | Type actions including support for `targetServer` to copy data to another server. |
| `updateIssue`<br>`modifyFieldValue`<br>`updateComment`<br>`updateCustomField`<br>`updateCustomFieldOptions` | Modify issues actions repair text data and links in data with powerful regex find and replace capabilities, and can be used in combination with database (`runFromSql`) to drive high volume changes. |

## \uD83D\uDCCB Related articles



> Macro (contentbylabel)