Package com.xebialabs.xlrelease.api.v1

# Interface ConfigurationApi

All Superinterfaces:
  `ApiService`

@Path("/api/v1/config") @Consumes("application/json") @Produces("application/json") public interface ConfigurationApi extends ApiService
Operations on global variables and other configuration.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `SERVICE_NAME`

  ### Fields inherited from interface com.xebialabs.xlrelease.api.ApiService

  `DEFAULT_RESULTS_PER_PAGE, DEFAULT_RESULTS_PER_PAGE_STRING, DEPTH, ORDER_BY, PAGE, PAGE_IS_OFFSET, RESULTS_PER_PAGE, ROLE_IDS_DATA`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Configuration`
  `addConfiguration(Configuration configuration)`
  Creates a new configuration.
  `Variable`
  `addGlobalVariable(Variable variable)`
  Adds a global variable.
  `SharedConfigurationStatusResponse`
  `checkStatus(ConfigurationView configurationView)`
  `SharedConfigurationStatusResponse`
  `checkStatus(String configurationId)`
  `void`
  `deleteConfiguration(String configurationId)`
  Deletes the configuration.
  `void`
  `deleteGlobalVariable(String variableId)`
  Deletes a global variable.
  `Configuration`
  `duplicateConfiguration(String configurationId)`
  Duplicates the configuration with the given ID.
  `Configuration`
  `getConfiguration(String configurationId)`
  Returns the configuration with the given ID.
  `List<Configuration>`
  `getConfigurations(List<String> configurationIds)`
  Returns the list of configurations for the given list of IDs.
  `Variable`
  `getGlobalVariable(String variableId)`
  Returns the global variable for the given identifier.
  `Collection<Object>`
  `getGlobalVariablePossibleValues(String variableId)`
  Returns possible values for the variable with the given identifier.
  `List<Variable>`
  `getGlobalVariables()`
  Returns global variables list.
  `Map<String,String>`
  `getGlobalVariableValues()`
  Returns global variables list with replaced variable values.
  `SystemMessageSettings`
  `getSystemMessage()`
  `List<Configuration>`
  `searchByTypeAndFolderTree(String configurationType, String folderId)`
  Searches configuration objects by type within the full folder tree scope.
  `List<? extends ConfigurationItem>`
  `searchByTypeAndTitle(String configurationType, String title)`
  Searches configuration objects by type and title.
  `List<? extends ConfigurationItem>`
  `searchByTypeAndTitle(String configurationType, String title, String folderId)`
  Searches configuration objects by type and title.
  `List<Configuration>`
  `searchByTypeAndTitle(String configurationType, String title, String folderId, boolean folderOnly)`
  Searches configuration objects by type and title.
  `List<Configuration>`
  `searchByTypeInCurrentTenant(String configurationType)`
  Searches all configuration objects by type in the current tenant.
  `default String`
  `serviceName()`
  `Configuration`
  `updateConfiguration(Configuration configuration)`
  Updates the configuration.
  `Configuration`
  `updateConfiguration(String configurationId, Configuration configuration)`
  Updates the configuration.
  `Variable`
  `updateGlobalVariable(Variable variable)`
  Updates properties of a global variable by its ID.
  `Variable`
  `updateGlobalVariable(String variableId, Variable variable)`
  `SystemMessageSettings`
  `updateSystemMessage(SystemMessageSettings systemMessageSettings)`

- ## Field Details

  - ### SERVICE_NAME

    static final String SERVICE_NAME
    See Also:
      - Constant Field Values

- ## Method Details

  - ### serviceName

    default String serviceName()
    Specified by:
      `serviceName` in interface `ApiService`

  - ### getGlobalVariables

    @GET @Path("/Configuration/variables/global") List<Variable> getGlobalVariables()
    Returns global variables list.
    Returns:
      variables list.

  - ### getGlobalVariableValues

    @GET @Path("/Configuration/variableValues/global") Map<String,String> getGlobalVariableValues()
    Returns global variables list with replaced variable values.
    Returns:
      variables list.

  - ### getGlobalVariable

    @GET @Path("/{variableId:.*/Variable[^/]*}") Variable getGlobalVariable(@PathParam("variableId") String variableId)
    Returns the global variable for the given identifier.
    Parameters:
      `variableId` - the variable identifier.
    Returns:
      the variable.

  - ### addGlobalVariable

    @POST @Path("/Configuration/variables/global") Variable addGlobalVariable(Variable variable)
    Adds a global variable.
    Parameters:
      `variable` - the global variable to add.
    Returns:
      the added global variable.

  - ### updateGlobalVariable

    @PUT @Path("/{variableId:.*/Variable[^/]*}") Variable updateGlobalVariable(@PathParam("variableId") String variableId, Variable variable)

  - ### updateGlobalVariable

    Variable updateGlobalVariable(Variable variable)
    Updates properties of a global variable by its ID.
    Parameters:
      `variable` - the variable to update.
    Returns:
      the updated variable.

  - ### deleteGlobalVariable

    @DELETE @Path("/{variableId:.*/Variable[^/]*}") void deleteGlobalVariable(@PathParam("variableId") String variableId)
    Deletes a global variable.
    Parameters:
      `variableId` - the variable identifier.

  - ### getGlobalVariablePossibleValues

    @GET @Path("/{variableId:.*/Variable[^/]*}/possibleValues") Collection<Object> getGlobalVariablePossibleValues(@PathParam("variableId") String variableId)
    Returns possible values for the variable with the given identifier.
    Parameters:
      `variableId` - the variable identifier.
    Returns:
      possible values for the variable.

  - ### searchByTypeAndTitle

    List<? extends ConfigurationItem> searchByTypeAndTitle(String configurationType, String title)
    Searches configuration objects by type and title.
    Parameters:
      `configurationType` - the type of the Configuration object.
      `title` - the title of the Configuration object.(optional)
    Returns:
      returns the first 100 results loaded with depth 1. Password properties are not returned.

  - ### searchByTypeAndTitle

    List<? extends ConfigurationItem> searchByTypeAndTitle(String configurationType, String title, String folderId)
    Searches configuration objects by type and title.
    Parameters:
      `configurationType` - the type of the Configuration object.
      `title` - the title of the Configuration object.(optional)
      `folderId` - the path of a parent.(optional)
    Returns:
      returns the first 100 results loaded with depth 1. Password properties are not returned.

  - ### searchByTypeAndTitle

    @GET @Path("byTypeAndTitle") List<Configuration> searchByTypeAndTitle(@QueryParam("configurationType") String configurationType, @QueryParam("title") String title, @QueryParam("folderId") String folderId, @QueryParam("folderOnly") boolean folderOnly)
    Searches configuration objects by type and title.
    Parameters:
      `configurationType` - the type of the Configuration object.
      `title` - the title of the Configuration object.(optional)
      `folderId` - the path of a parent.(optional)
      `folderOnly` - filter if you only want to get information from your parentId. (optional)
    Returns:
      returns the first 100 results loaded with depth 1. Password properties are not returned.

  - ### searchByTypeAndFolderTree

    @GET @Path("byTypeAndFolderTree") List<Configuration> searchByTypeAndFolderTree(@QueryParam("configurationType") String configurationType, @QueryParam("folderId") String folderId)
    Searches configuration objects by type within the full folder tree scope. Returns configurations belonging to the given folder, all ancestor folders up to global, all descendant folders (children), and globally-scoped configurations.
    Parameters:
      `configurationType` - the type of the Configuration object.
      `folderId` - the anchor folder ID.
    Returns:
      list of configurations from the full folder tree. Password properties are not returned.

  - ### searchByTypeInCurrentTenant

    @GET @Path("byTypeInCurrentTenant") List<Configuration> searchByTypeInCurrentTenant(@QueryParam("configurationType") String configurationType)
    Searches all configuration objects by type in the current tenant.
    Parameters:
      `configurationType` - the type of the Configuration object.
    Returns:
      list of configurations from the current tenant. Password properties are not returned.

  - ### getConfigurations

    @POST @Path("byIds") List<Configuration> getConfigurations(List<String> configurationIds)
    Returns the list of configurations for the given list of IDs.
    Parameters:
      `configurationIds` - the list of IDs for configuration items to fetch
    Returns:
      the list of configuration instances

  - ### getConfiguration

    @GET @Path("/{configurationId:.*/Configuration[^/]*}") Configuration getConfiguration(@PathParam("configurationId") String configurationId)
    Returns the configuration with the given ID.
    Parameters:
      `configurationId` - the identifier of the configuration
    Returns:
      the configuration instance

  - ### addConfiguration

    @POST Configuration addConfiguration(Configuration configuration)
    Creates a new configuration.
    Parameters:
      `configuration` - the configuration to add.
    Returns:
      the created configuration.

  - ### updateConfiguration

    @PUT @Path("{configurationId:.*/Configuration[^/]*}") Configuration updateConfiguration(@PathParam("configurationId") String configurationId, Configuration configuration)
    Updates the configuration.
    Parameters:
      `configurationId` - the identifier of the configuration.
      `configuration` - new contents of the configuration.
    Returns:
      the updated configuration.

  - ### updateConfiguration

    Configuration updateConfiguration(Configuration configuration)
    Updates the configuration.
    Parameters:
      `configuration` - new contents of the configuration.
    Returns:
      the updated configuration.

  - ### deleteConfiguration

    @DELETE @Path("{configurationId:.*/Configuration[^/]*}") void deleteConfiguration(@PathParam("configurationId") String configurationId)
    Deletes the configuration.
    Parameters:
      `configurationId` - the identifier of the configuration.

  - ### getSystemMessage

    @GET @Path("system-message") SystemMessageSettings getSystemMessage()

  - ### updateSystemMessage

    @PUT @Path("system-message") SystemMessageSettings updateSystemMessage(SystemMessageSettings systemMessageSettings)

  - ### checkStatus

    @POST @Path("status") SharedConfigurationStatusResponse checkStatus(ConfigurationView configurationView)

  - ### checkStatus

    @POST @Path("{configurationId:.*/Configuration[^/]*}/status") SharedConfigurationStatusResponse checkStatus(@PathParam("configurationId") String configurationId)

  - ### duplicateConfiguration

    @POST @Path("{configurationId:.*/Configuration[^/]*}/copy") Configuration duplicateConfiguration(@PathParam("configurationId") String configurationId)
    Duplicates the configuration with the given ID. Creates a new configuration with copied data, excluding credential fields. The new configuration title is appended with " copy".
    Parameters:
      `configurationId` - the identifier of the configuration to duplicate.
    Returns:
      the duplicated configuration.