Add dockerImageToArtifactoryPath() function
It needed to convert image's url to artifactory path that can be used in
API calls
Related-To: PRODX-10823
Change-Id: Ie16482094d268cdf2c7cfccd8e955a6068378a98
diff --git a/src/com/mirantis/mcp/MCPArtifactory.groovy b/src/com/mirantis/mcp/MCPArtifactory.groovy
index 51b41c9..239eedd 100644
--- a/src/com/mirantis/mcp/MCPArtifactory.groovy
+++ b/src/com/mirantis/mcp/MCPArtifactory.groovy
@@ -272,6 +272,23 @@
}
/**
+ * Convert Mirantis docker image url/path to Mirantis artifactory path ready for use in API calls
+ *
+ * For example:
+ * 'docker-dev-kaas-local.docker.mirantis.net/mirantis/kaas/si-test:master' -> 'docker-dev-kaas-local/mirantis/kaas/si-test/master'
+ *
+ */
+def dockerImageToArtifactoryPath(String image) {
+ List imageParts = image.tokenize('/')
+ String repoName = imageParts[0].tokenize('.')[0]
+ String namespace = imageParts[1..-2].join('/')
+ String imageName = imageParts[-1].tokenize(':')[0]
+ String imageTag = imageParts[-1].tokenize(':')[1]
+
+ return [repoName, namespace, imageName, imageTag].join('/')
+}
+
+/**
* Upload docker image to Artifactory
*
* @param server ArtifactoryServer, the instance of Artifactory server