The avi:ecosystem.migration:uploaded:event_file_list event is a specialized notification used for the simplified app migration path. It signals that a collection of data files has been successfully exported from the
DC instance and is now available for the cloud application to consume.
Subscribe to this event in your manifest.yml file.
avi:ecosystem.migration:uploaded:event_file_list event.key.SUCCESS or FAILED) for the parts back to the migration service (see Report Event File Status).The event is delivered via this structure:
| Field | Value / Description |
|---|---|
eventType | avi:ecosystem.migration:uploaded:event_file_list |
key | The path to the listing file (e.g., listing/uuid-metadata.json). |
label | The type of data being notified (e.g., MAPPINGS, DATABASE, BINARY). |
transferId | The unique ID of the application's transfer. |
migrationDetails | Contextual info about the overall migration. |
movementDetails | Contextual info about the data that is moved. |
isComplete | Whether this event contains all EventFiles for the migration. |
Example avi:ecosystem.migration:uploaded:event_file_list event
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28{ "eventType": "avi:ecosystem.migration:uploaded:event_file_list", "transferId": "ed66d0a8-6009-484c-aced-298e3c0e9bbf", "migrationDetails": { "migrationId": "6fff0c25-7192-4ce1-9c79-99296b7a0daa", "migrationScopeId": "23b5768f-d45b-4291-8d22-fd0fcd341801", "createdAt": 1788331184581, "cloudUrl": "https://destination-site.atlassian.net", "name": "jira-migration" }, "key": "some-file-key", "label": "MAPPINGS", "messageId": "49395bf3-ca51-42e9-8ee6-e5a0c5fe9404", "movementDetails": { "appDataMovementId": "ed66d0a8-6009-484c-aced-298e3c0e9bbf", "sourceLocation": { "cloudUrl": "https://source-site.atlassian.net", "type": "cloud" }, "destinationLocation": { "cloudUrl": "https://destination-site.atlassian.net", "type": "cloud" }, "createdAt": 1788331184581 }, "isComplete":true }
An app receives exactly one avi:ecosystem.migration:uploaded:event_file_list notification for each enabled exporter in an app data movement. Each notification has a different listing-file key.
File Lists are additive within an app data movement. Each later File List includes all event files listed in earlier File Lists, plus any new files. A File List can also include BINARY or DATABASE files from earlier migrations from the same Data Center instance.
isComplete applies to the entire app data movement, not to an individual exporter. It is set to true only on the final notification for the migration. After a vendor receives a notification with isComplete: true, AMS has sent all EventFiles for that migration. No further File Lists or EventFiles will be sent for that app data movement.
As an example, an app using only the MAPPINGS exporter receives one mapping notification with isComplete: true. When an app enables additional exporters, its single MAPPINGS notification does not by itself indicate that all EventFiles for the migration have been sent; the notification with isComplete: true does.
The listing file is a JSONL (JSON Lines) file where each line is a valid JSON representing metadata for one Event File.
Example entry (formatted for readability):
1 2 3 4 5 6 7 8 9 10 11 12 13{ "fileId": "uuid-of-the-file", "fullName": "path/to/data-part-1.json", "incremental": true, "createdAt": "2024-03-26T10:00:00Z", "sourceAppARI": "ari:cloud:ecosystem::app/uuid", "sourceLocationARI": "ari:cloud:jira::site/uuid", "destinationLocationARI": "ari:cloud:jira::site/uuid", "exporterARI": "ari:cloud:ecosystem::exporter/uuid", "properties": {"migrationId": "uuid"}, "label": "MAPPINGS" }
| Field | Type | Description |
|---|---|---|
fileId | string (UUID) | Unique identifier for the specific data part. |
fullName | string | Original filename or identifier from the DC instance. |
label | string | The type of data being notified (e.g., MAPPINGS, DATABASE, BINARY). |
incremental | boolean | Whether the event file contains data that was captured during a full initial snapshot of a datacenter instance, or data that is captured as an incremental change to the initial snapshot. |
createdAt | string (ISO 8601) | When the part was generated on the DC instance. |
sourceAppARI | string (ARI) | The ARI of the source application. |
sourceLocationARI | string (ARI) | The ARI of the source location (e.g. Jira site). |
destinationLocationARI | string (ARI) | The ARI of the destination location (e.g. the target cloud Jira site). |
exporterARI | string (ARI) | The ARI of the component that performed the export. |
properties | object (JSON) | Metadata properties based on the label (e.g., migration scope). This can be represented as an ObjectNode. |
Apps cannot download data parts directly using the fileId. They must first request a presigned download URL from the migration service.
Retrieve a presigned URL to download a File Listing.
Endpoint: POST /app/migration/forge/v1/file-listing/download-url
Request body:
1 2 3 4{ "fileKey": "key-from-webhook" }
Response body:
1 2 3 4{ "url": "https://presigned.url/..." }
The response URL is presigned (contain credentials in the parameters that allow you to download for a short period after it has been generated).
Retrieve a presigned URL to download an Event File.
Endpoint: POST /app/migration/forge/v1/event-file/urls
Request body:
1 2 3 4{ "eventFileIds": ["uuid-1", "uuid-2"] }
Response body:
1 2 3 4 5 6 7 8 9{ "eventFiles": [ { "fileId": "uuid-1", "presignedUrl": "https://host.domain/..." } ] }
After processing the downloaded data parts, the app must report the outcome for those files back to the migration service so the platform can track progress and completion.
Endpoint: POST /app/migration/forge/v1/event-files/status
Request body:
1 2 3 4 5 6{ "appDataMovementId": "app-data-movement-id-from-webhook", "eventFileIds": ["uuid-1", "uuid-2"], "status": "SUCCESS" }
| Field | Type | Description |
|---|---|---|
appDataMovementId | string | The identifier of the transfer. This is available in the field named appDataMovementId under movementDetails from the initial event. |
eventFileIds | array of string | The fileId values of the parts whose status is being reported. |
status | string (enum) | The processing outcome. Use SUCCESS when the files were processed successfully, or FAILED when processing failed. |
Marking an eventFileId as FAILED will fail the migration immediately.
The Forge migration platform treats updates to event files the same as updates to the existing APP_DATA upload process. As a result, any eventFile that is marked as SUCCESS will
trigger the sliding window logic and reset the 15-minute timeout window.
Rate this page: