PluginResource
API for managing plugins. User must have ADMIN permission level in order to interact with the plugin manager API. The API exposes two main flows: installing or upgrading an officially supported Digital.ai plugin which is hosted over the official Nexus repository; and installing or upgrading an official or 3rd party plugin xldp via manual upload.
DELETE /{url:plugin-manager|api/v1/plugin-manager}//delete/{repositoryId}/{groupId}/{artifactId}{version:(/.*)?}
Cancels pending installation of a plugin. Returns an empty response with a status code of 200 (OK). In case if plugin with the provided data
does not exist in the system returns a status code of 404 (NOT FOUND). In case of an uninstall API call for a
plugin in INSTALLED status, returns a status code of 501 (NOT IMPLEMENTED).
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String the Nexus repository ID on which plugin is accessible (in case of 3rd party plugins it should be $$__local__$$); for example, xld-official Path groupId String the coordinates of plugin on the Nexus repository (in case of 3rd party plugins it should be $$__local__$$); for example, com.xebialabs.deployit.plugins Path artifactId String the name of artifact on the Nexus repository; for example, xld-docker-plugin Path version String the version of the artifact which should be installed; for example, 10.1.0
- Response body
- Response - empty in case of successful cancellation or error message in case of failure
- Content type:
POST /{url:plugin-manager|api/v1/plugin-manager}/install
Installs a plugin by uploading the plugin binary. Returns an empty response with a status code of 200 (OK). In case of installation failure returns
a status code of 400 (BAD REQUEST) with a response object containing the error message.
- Permissions
-
Available
- only to admin
- Parameters
-
Request body multipart/form-data HttpServletRequest the plugin file data Query pluginId String plugin filename; for example, xld-docker-plugin-9.2.0.xldp
- Response body
- Response - empty in case of successful installation or error message in case of failure
- Content type:
POST /{url:plugin-manager|api/v1/plugin-manager}/install-or-update
Installs a plugin by uploading the plugin binary. Returns an empty response with a status code of 200 (OK). In case of installation failure returns
a status code of 400 (BAD REQUEST) with a response object containing the error message.
- Permissions
-
Available
- only to admin
- Parameters
-
Request body multipart/form-data HttpServletRequest the plugin file data Query pluginId String plugin filename; for example, xld-docker-plugin-9.2.0.xldp
- Response body
- Response - empty in case of successful installation or error message in case of failure
- Content type:
GET /{url:plugin-manager|api/v1/plugin-manager}/list
Lists all plugins in the system (either in INSTALLED or READY_FOR_INSTALL status) with metadata for each plugin. Returns a response with a status code of 200 (OK) and a list of plugins with all details.
- Permissions
-
Available
- only to admin
- Response body
- Response - a list of plugins in the system
- Content type:
GET /{url:plugin-manager|api/v1/plugin-manager}/repositories
Lists all configured Nexus repositories in order to later query for available official plugins. Returns a response with a status code of 200 (OK) and a list of repositories with all details.
- Permissions
-
Available
- only to admin
- Response body
- Response - a list of nexus repository objects from server configuration
- Content type:
POST /{url:plugin-manager|api/v1/plugin-manager}/repositories/{repositoryId}/install-or-update/{groupId}/{artifactId}/{version}
Downloads a plugin from repository and inserts it into the DB. Returns a response with a status code of 200 (OK) and installed plugin information. If provided
repositoryId is wrong then returns 404 (NOT FOUND). If there is an issue with plugin installation
then returns 500 (INTERNAL SERVER ERROR).
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String the Nexus repository ID on which plugin is accessible (in case of 3rd party plugins it should be $$__local__$$); for example, xld-official Path groupId String the coordinates of plugin on the Nexus repository (in case of 3rd party plugins it should be $$__local__$$); for example, com.xebialabs.deployit.plugins Path artifactId String the name of artifact on the Nexus repository; for example, xld-docker-plugin Path version String the version of the artifact which should be installed; for example, 10.1.0
- Response body
- Response - information on the installed plugin
- Content type:
POST /{url:plugin-manager|api/v1/plugin-manager}/repositories/{repositoryId}/install/{groupId}/{artifactId}/{version}
Downloads a plugin from repository and inserts it into the DB. Returns a response with a status code of 200 (OK) and installed plugin information. If provided
repositoryId is wrong then returns 404 (NOT FOUND). If there is an issue with plugin installation
then returns 500 (INTERNAL SERVER ERROR).
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String the Nexus repository ID on which plugin is accessible (in case of 3rd party plugins it should be $$__local__$$); for example, xld-official Path groupId String the coordinates of plugin on the Nexus repository (in case of 3rd party plugins it should be $$__local__$$); for example, com.xebialabs.deployit.plugins Path artifactId String the name of artifact on the Nexus repository; for example, xld-docker-plugin Path version String the version of the artifact which should be installed; for example, 10.1.0
- Response body
- Response - information on the installed plugin
- Content type:
POST /{url:plugin-manager|api/v1/plugin-manager}/repositories/{repositoryId}/install/{groupId}/{artifactId}/{version}/{packaging}
Downloads a plugin from repository and inserts it into the DB. Returns a response with a status code of 200 (OK) and installed plugin information. If provided
repositoryId is wrong then returns 404 (NOT FOUND). If there is an issue with plugin installation
then returns 500 (INTERNAL SERVER ERROR).
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String the Nexus repository ID on which plugin is accessible (in case of 3rd party plugins it should be $$__local__$$); for example, xld-official Path groupId String the coordinates of plugin on the Nexus repository (in case of 3rd party plugins it should be $$__local__$$); for example, com.xebialabs.deployit.plugins Path artifactId String the name of artifact on the Nexus repository; for example, xld-docker-plugin Path version String the version of the artifact which should be installed; for example, 10.1.0 Path packaging String the packaging of the artifact which should be installed; for example, jar, zip, xldp
- Response body
- Response - information on the installed plugin
- Content type:
GET /{url:plugin-manager|api/v1/plugin-manager}/repositories/{repositoryId}/list
Lists all available plugins for the provided repositoryId. Returns a response with a status code of 200 (OK) and a list of all available official plugins for
the provided repositoryId. If provided repositoryId is wrong then returns 404 (NOT FOUND).
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String the Nexus repository ID on which plugin is accessible (in case of 3rd party plugins it should be $$__local__$$); for example, xld-official
- Response body
- Response - a list of officially supported plugin objects for the given repository
- Content type:
GET /{url:plugin-manager|api/v1/plugin-manager}/repositories/{repositoryId}/logo/{groupId}/{artifactId}
Gets the plugin logo. Returns a response with a status code of 200 (OK) and the image file.
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String the Nexus repository ID on which plugin is accessible (in case of 3rd party plugins it should be $$__local__$$); for example, xld-official Path groupId String the coordinates of plugin on the Nexus repository (in case of 3rd party plugins it should be $$__local__$$); for example, com.xebialabs.deployit.plugins Path artifactId String the name of artifact on the Nexus repository; for example, xld-docker-plugin
- Response body
- Response - image file
- Content type: image/*
POST /{url:plugin-manager|api/v1/plugin-manager}/repositories/{repositoryId}/update
Updates cached list of available official plugins in the system for a given repository by downloading the metadata from the Nexus repository. Returns a response with a status code of 200 (OK) and a timestamp of the update.
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String identifier of the Nexus repository; for example, xld-official
- Response body
- Response - timestamp of the update
- Content type:
POST /{url:plugin-manager|api/v1/plugin-manager}/repositories/{repositoryId}/update/{groupId}/{artifactId}
Updates a plugin from repository and updates the DB. Returns a response with a status code of 200 (OK) and updated plugin information. If provided
repositoryId is wrong then returns 404 (NOT FOUND). If there is an issue with plugin installation
then returns 500 (INTERNAL SERVER ERROR).
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String the Nexus repository ID on which plugin is accessible (in case of 3rd party plugins it should be $$__local__$$); for example, xld-official Path groupId String the coordinates of plugin on the Nexus repository (in case of 3rd party plugins it should be $$__local__$$); for example, com.xebialabs.deployit.plugins Path artifactId String the name of artifact on the Nexus repository; for example, xld-docker-plugin
- Response body
- Response - information on the updated plugin
- Content type:
POST /{url:plugin-manager|api/v1/plugin-manager}/repositories/{repositoryId}/update/{groupId}/{artifactId}/{packaging}
Updates a plugin from repository and updates the DB. Returns a response with a status code of 200 (OK) and updated plugin information. If provided
repositoryId is wrong then returns 404 (NOT FOUND). If there is an issue with plugin installation
then returns 500 (INTERNAL SERVER ERROR).
- Permissions
-
Available
- only to admin
- Parameters
-
Path repositoryId String the Nexus repository ID on which plugin is accessible (in case of 3rd party plugins it should be $$__local__$$); for example, xld-official Path groupId String the coordinates of plugin on the Nexus repository (in case of 3rd party plugins it should be $$__local__$$); for example, com.xebialabs.deployit.plugins Path artifactId String the name of artifact on the Nexus repository; for example, xld-docker-plugin Path packaging String the packaging of the artifact which should be installed; for example, jar, zip, xldp
- Response body
- Response - information on the updated plugin
- Content type:
GET /{url:plugin-manager|api/v1/plugin-manager}/search/{query}
The search is performed amongst all available plugins regardless of their installation status. Returns a response with a status code of 200 (OK) and a list of found plugins with all details.
- Permissions
-
Available
- only to admin
- Parameters
-
Path query String the search query to be used for plugin lookup
- Response body
- Response - a list of found plugins
- Content type:
POST /{url:plugin-manager|api/v1/plugin-manager}/update
Updates a plugin by uploading the plugin binary. Returns an empty response with a status code of 200 (OK). In case of update failure returns
a status code of 400 (BAD REQUEST) with a response object containing the error message.
- Permissions
-
Available
- only to admin
- Parameters
-
Request body multipart/form-data HttpServletRequest the plugin file data Query existingPluginName String plugin filename; for example, xld-docker-plugin-9.2.0.xldp Query newPluginId String new version of the plugin
- Response body
- Response - empty in case of successful update or error message in case of failure
- Content type: