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 java.lang.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

    All Methods Instance Methods Abstract Methods Default Methods
    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​(java.lang.String configurationId)` |
    `void` | `deleteConfiguration​(java.lang.String configurationId)` | Deletes the configuration.
    `void` | `deleteGlobalVariable​(java.lang.String variableId)` | Deletes a global variable.
    `Configuration` | `getConfiguration​(java.lang.String configurationId)` | Returns the configuration with the given ID.
    `Variable` | `getGlobalVariable​(java.lang.String variableId)` | Returns the global variable for the given identifier.
    `java.util.List<Variable>` | `getGlobalVariables()` | Returns global variables list.
    `java.util.Map<java.lang.String,​java.lang.String>` | `getGlobalVariableValues()` | Returns global variables list with replaced variable values.
    `SystemMessageSettings` | `getSystemMessage()` |
    `java.util.List<? extends ConfigurationItem>` | `searchByTypeAndTitle​(java.lang.String configurationType, java.lang.String title)` | Searches configuration objects by type and title.
    `java.util.List<? extends ConfigurationItem>` | `searchByTypeAndTitle​(java.lang.String configurationType, java.lang.String title, java.lang.String folderId)` | Searches configuration objects by type and title.
    `java.util.List<Configuration>` | `searchByTypeAndTitle​(java.lang.String configurationType, java.lang.String title, java.lang.String folderId, boolean folderOnly)` | Searches configuration objects by type and title.
    `default java.lang.String` | `serviceName()` |
    `Configuration` | `updateConfiguration​(Configuration configuration)` | Updates the configuration.
    `Configuration` | `updateConfiguration​(java.lang.String configurationId, Configuration configuration)` | Updates the configuration.
    `Variable` | `updateGlobalVariable​(Variable variable)` | Updates properties of a global variable by its ID.
    `Variable` | `updateGlobalVariable​(java.lang.String variableId, Variable variable)` |
    `SystemMessageSettings` | `updateSystemMessage​(SystemMessageSettings systemMessageSettings)` |

- - ### Field Detail

    - #### SERVICE_NAME

          static final java.lang.String SERVICE_NAME

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### serviceName

          default java.lang.String serviceName()

      Specified by:
        `serviceName` in interface `ApiService`

    - #### getGlobalVariables

          @GET
          @Path("/Configuration/variables/global")
          java.util.List<Variable> getGlobalVariables()

      Returns global variables list.
      Returns:
        variables list.

    - #### getGlobalVariableValues

          @GET
          @Path("/Configuration/variableValues/global")
          java.util.Map<java.lang.String,​java.lang.String> getGlobalVariableValues()

      Returns global variables list with replaced variable values.
      Returns:
        variables list.

    - #### getGlobalVariable

          @GET
          @Path("/{variableId:.*/Variable[^/]*}")
          Variable getGlobalVariable​(@PathParam("variableId")
                                     java.lang.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")
                                        java.lang.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")
                                    java.lang.String variableId)

      Deletes a global variable.
      Parameters:
        `variableId` - the variable identifier.

    - #### searchByTypeAndTitle

          java.util.List<? extends ConfigurationItem> searchByTypeAndTitle​(java.lang.String configurationType,
                                                                           java.lang.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

          java.util.List<? extends ConfigurationItem> searchByTypeAndTitle​(java.lang.String configurationType,
                                                                           java.lang.String title,
                                                                           java.lang.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")
          java.util.List<Configuration> searchByTypeAndTitle​(@QueryParam("configurationType")
                                                             java.lang.String configurationType,
                                                             @QueryParam("title")
                                                             java.lang.String title,
                                                             @QueryParam("folderId")
                                                             java.lang.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.

    - #### getConfiguration

          @GET
          @Path("/{configurationId:.*/Configuration[^/]*}")
          Configuration getConfiguration​(@PathParam("configurationId")
                                         java.lang.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")
                                            java.lang.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")
                                   java.lang.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")
                                                        java.lang.String configurationId)