Open the app
- Ask a site administrator to install the app on the intended Jira Cloud site with Jira Service Management, using the existing Marketplace listing. If Atlassian requests approval for app permissions, an administrator must complete it. Running imports requires an active app licence or trial.
- Sign in to that same site with the Jira Administrators global permission. Being a service project administrator, agent, or portal customer alone is insufficient.
- Open Jira Settings → Apps. In the Apps section of the administration sidebar, select Atesen Customer Import for Jira Service Management. This is an administration page, outside the customer help centre and portal.
- The app opens on Upload, followed by Map → Preview → Run → Results. History opens recent imports. If the entry is missing, confirm the installation, site and administrator permissions with your site administrator.
Jira controls access and the service spaces available to the signed-in administrator. Import jobs run with the permissions of the administrator who starts or resumes them. No customer portal module is provided.
Prepare the CSV
Save a plain-text UTF-8 CSV with a header row, using a comma or semicolon as the column delimiter. A UTF-8 byte order mark (BOM) is supported. Blank lines are skipped. Use at most 10,000 data rows per job; split larger files.
Map your headers in the Map step. Header names need not be exact: the app suggests common names, and you can select the correct columns manually. The examples use email, name and organizations, which are detected automatically.
| Example header | Required? | Mapping and behaviour |
|---|---|---|
email | Yes | Map to Email column. One address per row, at most 254 characters. Leading/trailing spaces are trimmed and addresses are lowercased. Empty or invalid addresses are excluded from processing and reported in Preview. |
name | No | Map to Name column. Leading/trailing spaces are trimmed. If omitted or blank, a new customer's name defaults to the part of the email before @. This is not a bulk rename tool for existing accounts. |
organizations | No | Map to Organizations column. Separate multiple organization names inside a cell with ; or |. Empty entries are ignored. Each name has a 200-character limit; overlong names are reported and omitted while the customer row can still be processed. |
Destination service spaces are selected with the app's checkboxes; there is no CSV field for a project key or service space ID. Extra columns are not imported. The internal name field is displayName; if your header uses that name, select it manually under Name column.
Comma-separated example
Fictional data for format testing. Replace the addresses with customers you are authorised to import before running a real job.
email,name,organizations
alex@example.com,Alex Example,Northwind Demo|Contoso Demo
blair@example.com,"Blair, Example",Northwind Demo
casey@example.com,,
Download the comma-separated sample CSV
Semicolon-separated example
email;name;organizations
alex@example.com;Alex Example;"Northwind Demo;Contoso Demo"
blair@example.com;"Blair ""Example""";Northwind Demo
casey@example.com;;
Download the semicolon-separated sample CSV
Wrap a field in double quotes when it contains the column delimiter, a line break, or a double quote. Double any quote inside a quoted field: "Blair ""Example""". With semicolon-delimited columns, quote a cell containing semicolon-separated organizations, or use |. Organization names themselves cannot contain literal ; or |: both are always treated as membership separators.
Malformed quoting and rows with too many columns are rejected before import. Missing trailing optional cells are treated as blank. Excel workbooks (.xlsx), legacy encodings such as Windows-1252, pasted rows, and tab-separated input are not documented input formats for this app; export to UTF-8 comma- or semicolon-separated CSV.
Preview and run
- Upload: choose your CSV file. If the file is rejected, repair the indicated quoting or column problem and choose the file again.
- Map: select the email column and optional name and organizations columns. Select destination service spaces if customers should receive access to those spaces. With no space selected, customer and organization processing can still run, but no service-space access is added.
- Review Create organizations that don't exist yet (enabled by default). Existing organizations are matched ignoring case, leading/trailing spaces and repeated internal whitespace. Turn this option off to use only matching organizations; missing organizations will not be created and their memberships cannot be added.
- Select Preview. Check valid rows, invalid/empty emails, duplicates, existing organization matches and organizations to create. Preview validates and stores the job and reads organizations; it does not create customers or organizations. Its runtime estimate is approximate. It does not check every email against existing customers.
- If there are problems, use Download errors CSV. Correct your source file and upload it again before starting. Only the first occurrence of a normalized email in a file is used; later duplicates do not merge their names or memberships. The job retains at most 500 validation problems; after correcting them, preview again to find any remaining problems. The displayed row numbers refer to parsed data order plus the header, so skipped blank lines can shift them relative to a spreadsheet.
- Select Start import when the preview is correct. This writes to Jira: it creates missing customers, optionally creates organizations, and adds requested memberships and access. Selected service spaces receive the mapped organizations as well as the customers. Check that this access is intended before starting.
- The job runs in the background. You may close the tab and return to History. Use Pause to request a pause; work already in progress may finish. Use Resume for paused or stalled jobs. Temporary Jira errors can leave a job paused for retry; resume the same job rather than starting an overlapping import.
Existing customer accounts are reused when Jira returns a matching account ID; the app can still add their requested memberships and service-space access. Existing accounts are not simply skipped. If an account cannot be resolved, the result reports EXISTING_NOT_LINKED; inspect the affected memberships before retrying.
Check every result
After completion select Download results CSV, or open History → Results CSV. A finished job can contain failed or incomplete rows: check the report rather than relying on the Done label or created count.
The result columns are row, email, status, accountId, organizations_added, organizations_failed, service_spaces_added, error_code and error_message. Service-space entries are IDs. Preview validation errors are in the separate errors CSV (rowNumber,email,code,detail); excluded rows do not receive normal processing results.
created/existing: a customer was created or reused. Check membership and service-space columns too.created_partial/existing_partial: the customer is ready, but some requested organization or service-space work is incomplete. Inspectorganizations_failedand the error columns.failed: inspect the error code and message; correct the input or permissions before a new import.failed_retryable: a temporary error remains. Resume the paused job to retry those rows while retaining completed work.
For API_403_ADMIN_REQUIRED, check the Jira Administrators global permission and app consent. For organization or service-space errors, check the selected destination, access rights and any unresolved organization message. Verify representative customers, memberships and access in Jira after the run. Download reports before their retention period expires.
Scope, limits and support
- Jira Service Management Cloud only; this app does not manage Customer Service Management (CSM) profiles, Jira issues, tickets, assets or attachments.
- The app adds customers and memberships. It does not provide an undo operation, delete customers or organizations, remove existing memberships, or merge duplicate organizations. Review existing duplicate organization names in Jira first.
- The importer has no invitation-email action. Your site's own Jira notifications and automations remain subject to its configuration.
- Jira rate limits and temporary service failures can slow or pause imports. No fixed completion time is guaranteed.
- Job rows and results are held in Atlassian Forge storage and scheduled for cleanup after 30 days from job creation. Closing the browser does not delete a job. See the privacy policy.
Contact support@atesensoftware.com. Include the app version, affected step, job date/file name and error code. Remove customer emails, names and organization details from shared reports or screenshots. Never send credentials or API tokens. See support details and response targets.