Don't know how to import task properties of type

I have a type 1 task plugin that works fine if used with the UI adding the task, but when used inside java bamboo-specs, stored inside a repository it fails.

I have had a lot of other failures along the way, but now I’m really stuck.

The thing is that everything works fine until it tries to load the tasks bamboo-specs implementation of TaskProperties.

I have found out that it can’t find the plugin by key. I have checked this key that the log states that it’s searching for and it is correct as a understand it, if I compare it to the installed plugins key in the Manage Apps view in Bamboo.

Key configuration in atlassian-plugin.xml:

<taskType key="releasenotestask" name="Release Notes Task"
class="com.mmm.bamboo.plugins.releasenotes.ReleaseNotesTask">

The TaskProperties class returns the same information in getAtlassianPlugin():

private static final AtlassianModuleProperties ATLASSIAN_PLUGIN = new AtlassianModuleProperties(
"com.mmm.bamboo.plugins.releasenotes:releasenotestask");

@NotNull
@Override
public AtlassianModuleProperties getAtlassianPlugin() {
return ATLASSIAN_PLUGIN;
}

The bamboo log show the following:

[TaskDefinitionExportHelper] Plugin com.mmm.bamboo.plugins.releasenotes:releasenotestask not installed or disabled. Falling back on generic export.
[RepositoryStoredSpecsServiceImpl]
java.lang.IllegalStateException: Don't know how to import task properties of type: com.atlassian.bamboo.specs.model.task.ReleaseNotesTaskProperties

Before this I stopped on that the YamlHelper did not allow that the TaskProperties was in another package than com.atlassian.bamboo.specs.model.task.

Any suggestions?

Have you implemented TaskDefinitionExporter and added it to task definition in atlassian-plugin.xml? For instance:

<taskType ..>
<exporter class="com.atlassian.bamboo.plugins.artifact.export.ArtifactDownloaderTaskExporter"/>
</taskType>

Yes I had.
This was a long time ago.
I don’t really recall the changes I made to make it work, but some of the changes were:

  • Changed the package name for the TaskProperties impl, so it is in the white list for YAML.
  • Excluded a lot of packages that was already used by bamboo server
  • Added provided to some deps
  • And finally I removed the own implemented TaskProperties and Task classes and used AnyTaskProperties and AnyTask inside the Exporter class.

I think that the last one was the solution, but maybe some of the other steps also