With Atlassian having EOL'ed their self-hosted products, many companies are being forced to migrate to Cloud.
During one such migration, of a large Jira running since 2016, we found Jira Cloud Migration Assistant (JCMA) was failing with these errors:
2025-09-12 13:48:02.882739867 ERROR ABC project-export We couldn't export Issue ABC-270. Reason: java.lang.NullPointerException: getWatches(...) must not be null. [JCMA 000] 2025-09-12 13:48:02.994862120 ERROR ABC project-export We couldn't export Issue ABC-423. Reason: java.lang.NullPointerException: getWatches(...) must not be null. [JCMA 000] 2025-09-12 13:48:03.086812126 ERROR ABC project-export We couldn't export Issue ABC-245. Reason: java.lang.NullPointerException: getWatches(...) must not be null. [JCMA 000] 2025-09-12 13:48:03.186582919 ERROR ABC project-export We couldn't export Issue ABC-111. Reason: java.lang.NullPointerException: getWatches(...) must not be null. [JCMA 000] 2025-09-12 13:48:03.278717969 ERROR ABC project-export We couldn't export Issue ABC-635. Reason: java.lang.NullPointerException: getWatches(...) must not be null. [JCMA 000] 2025-09-12 13:48:03.431406011 ERROR ABC project-export We couldn't export Issue ABC-33. Reason: java.lang.NullPointerException: getWatches(...) must not be null. [JCMA 000] |
The problem is that your jiraissue
database table has null values in the watches
column. watches
is an integer that stores the number of 'watchers' of an issue. In Jira instances from 2017 and earlier, jiraissue.watches
may be null
instead of 0
.
This is easily fixed with SQL:
update jiraissue set watches=0 where watches is null; |