The KPM plugin code tries to guess the artifactId by convention (PluginNamingResolver.of(pluginKey).getPluginName()). However, if the convention isn't respected, the download fails. If the caller has specified pluginArtifactId, the plugin should trust the caller and use the specified pluginArtifactId instead of guessing. The code should also be made more robust so that it works even when one of pluginKey, artifactId, and version is not specified. This fix would need to be implemented carefully taking into consideration all the possible combinations of pluginKey, artifactId, and version.
More details in https://github.com/killbill/technical-support/issues/134