-
Type:
Suggestion
-
Resolution: Unresolved
-
Component/s: Apps - Migration Assistant
-
1
Issue Summary
The atlassian-app-cloud-migration-listener library (version 1.8.8, the latest available) does not expose any method equivalent to migration.addLog() on the Data Center side. The Cloud Forge side provides addLog via @forge/migration, allowing the app to write informational messages to the JCMA migration progress log. No symmetric API exists in AppCloudForgeMigrationGateway or AppCloudMigrationGateway on the Server/Data Center side. This is a feature gap in the migration SDK.
Steps to Reproduce
Implement DiscoverableForgeListener using com.atlassian:atlassian-app-cloud-migration-listener version 1.8.8.
Inspect the public interface of AppCloudForgeMigrationGateway (JavaDoc available at https://maven.artifacts.atlassian.com/com/atlassian/atlassian-app-cloud-migration-listener/1.8.8/).
Observe that no addLog(String message) method or equivalent is present on AppCloudForgeMigrationGateway or AppCloudMigrationGateway.
Review the progress log documentation at https://developer.atlassian.com/platform/app-migration/progress-logs/ and confirm coverage is limited to the Cloud (Forge) side only.
Expected Results
The Data Center listener API should provide a method equivalent to migration.addLog() on the Cloud side, allowing the DC app to write non-fatal informational messages directly to the JCMA migration progress log. This would let administrators see edge case warnings during the export phase without requiring the migration to fail.
Actual Results
No such method exists. The only available alternatives on the DC side are:
SLF4J logging, which writes to atlassian-jira.log and is not visible in the JCMA migration UI. Accessing it requires administrator action and separate documentation.
Passing data to the Cloud side via sendKeyValuePair or embedded payload metadata, then calling migration.addLog() from the Forge function after processing. This works but requires significant additional code for what is a simple logging operation.
Workaround
The current recommended approach is to pass metadata or key-value pairs to the Cloud Forge function during the migration, then use migration.addLog() on the Cloud side to surface the message to the administrator. This is functional but involves considerably more implementation effort than a direct addLog call would require.