Interface FolderApi

  • All Superinterfaces:
    ApiService

    @Path("/api/v1/folders")
    @Produces("application/json")
    @Consumes("application/json")
    public interface FolderApi
    extends ApiService
    Operations on folders.
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      Folder addFolder​(java.lang.String parentId, Folder folder)
      Adds a new folder inside the specified folder.
      Variable createVariable​(java.lang.String folderId, Variable variable)
      Adds a folder variable.
      void delete​(java.lang.String folderId)
      Deletes the specified folder and all the contents inside.
      void deleteVariable​(java.lang.String folderId, java.lang.String variableId)
      Deletes a folder variable.
      Folder find​(java.lang.String path, java.lang.Integer depth)
      Finds a folder from a given path.
      Folder getFolder​(java.lang.String folderId)
      Returns the specified folder with default depth.
      Folder getFolder​(java.lang.String folderId, java.lang.Integer depth)
      Returns the specified folder.
      java.util.List<java.lang.String> getPermissions()
      Returns possible permissions.
      java.util.List<TeamView> getTeams​(java.lang.String folderId)
      Returns folder effective teams.
      java.util.List<Release> getTemplates​(java.lang.String folderId)
      Returns the templates for the given folder with default pagination and depth.
      java.util.List<Release> getTemplates​(java.lang.String folderId, java.lang.Long page, java.lang.Long resultPerPage, java.lang.Integer depth)
      Returns the templates for the given folder.
      Variable getVariable​(java.lang.String folderId, java.lang.String variableId)
      Returns the folder variable for the given identifier.
      boolean isFolderOwner​(java.lang.String folderId)  
      java.util.List<Folder> list​(java.lang.String parentId, java.lang.Long page, java.lang.Long resultPerPage, java.lang.Integer depth, java.lang.Boolean decorateWithPermissions)
      Lists the folders inside a given folder.
      default java.util.List<Folder> listRoot()
      Returns a list of all folders directly under the root directory.
      java.util.List<Folder> listRoot​(java.lang.Long page, java.lang.Long resultPerPage, java.lang.Integer depth, java.lang.Boolean decorateWithPermissions)
      Returns a list of folders from the root directory.
      java.util.List<Variable> listVariables​(java.lang.String folderId, boolean folderOnly)
      Returns folder variables list.
      java.util.Map<java.lang.String,​java.lang.String> listVariableValues​(java.lang.String folderId, boolean folderOnly)
      Returns folder variables list with replaced variable values.
      void move​(java.lang.String folderId, java.lang.String newParentId)
      Move a folder to another folder.
      void moveTemplate​(java.lang.String folderId, java.lang.String templateId)
      Move a template to another folder without merging permissions.
      void moveTemplate​(java.lang.String folderId, java.lang.String templateId, java.lang.Boolean mergeTeams)
      Move a template to another folder.
      void rename​(java.lang.String folderId, java.lang.String newName)
      Rename a folder.
      java.util.List<Release> searchReleases​(java.lang.String folderId, ReleasesFilters releasesFilters)
      Returns the releases started from this folder with default pagination and depth.
      java.util.List<Release> searchReleases​(java.lang.String folderId, java.lang.Long page, java.lang.Long resultPerPage, java.lang.Integer depth, ReleasesFilters releasesFilters)
      Returns the releases started from this folder.
      default java.lang.String serviceName()  
      java.util.List<TeamView> setTeams​(java.lang.String folderId, java.util.List<TeamView> teamDtos)
      Set teams of the folder.
      Variable updateVariable​(java.lang.String folderId, Variable variable)
      Updates properties of a folder variable by its ID.
      Variable updateVariable​(java.lang.String folderId, java.lang.String variableId, Variable variable)  
    • Field Detail

      • EXPRESSION_FOLDER_ID

        static final java.lang.String EXPRESSION_FOLDER_ID
        See Also:
        Constant Field Values
    • Method Detail

      • serviceName

        default java.lang.String serviceName()
        Specified by:
        serviceName in interface ApiService
      • listRoot

        @GET
        @Path("/list")
        java.util.List<Folder> listRoot​(@QueryParam("page")
                                        java.lang.Long page,
                                        @QueryParam("resultsPerPage")
                                        java.lang.Long resultPerPage,
                                        @QueryParam("depth")
                                        java.lang.Integer depth,
                                        @QueryParam("permissions")
                                        java.lang.Boolean decorateWithPermissions)
        Returns a list of folders from the root directory.
        Parameters:
        page - the page of results to return. Defaults at 0 if page set to null
        resultPerPage - the number of results per page. Defaults at 50 if set to null
        depth - the depth to search for. Defaults at 1 if set to null
        decorateWithPermissions - the boolean to decorate the folders with the effective permissions. Defaults to false if set to null
        Returns:
        a list of the folders
      • listRoot

        default java.util.List<Folder> listRoot()
        Returns a list of all folders directly under the root directory.
        Returns:
        a list of the folders
      • list

        @GET
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/list")
        java.util.List<Folder> list​(@PathParam("folderId")
                                    java.lang.String parentId,
                                    @QueryParam("page")
                                    java.lang.Long page,
                                    @QueryParam("resultsPerPage")
                                    java.lang.Long resultPerPage,
                                    @QueryParam("depth")
                                    java.lang.Integer depth,
                                    @QueryParam("permissions")
                                    java.lang.Boolean decorateWithPermissions)
        Lists the folders inside a given folder.
        Parameters:
        parentId - the parent folder to retrieve from
        page - the page of results to return. Defaults at 0
        resultPerPage - the number of results per page. Defaults at 50
        depth - the depth to search for. Defaults at 1
        Returns:
        the list of folders beneath a given folder
      • find

        @GET
        @Path("/find")
        Folder find​(@QueryParam("byPath")
                    java.lang.String path,
                    @QueryParam("depth")
                    java.lang.Integer depth)
        Finds a folder from a given path.
        Parameters:
        path - the path for the folder to search on
        depth - the depth to search for. Defaults at 1
        Returns:
        the folder found in the path
      • getFolder

        @GET
        @Path("/{folderId:.*(Folder[^/]*|Applications)}")
        Folder getFolder​(@PathParam("folderId")
                         java.lang.String folderId,
                         @QueryParam("depth")
                         java.lang.Integer depth)
        Returns the specified folder.
        Parameters:
        folderId - the id of the folder
        depth - the depth to search for. Defaults at 1
        Returns:
        the specified folder
      • getFolder

        Folder getFolder​(java.lang.String folderId)
        Returns the specified folder with default depth.
        Parameters:
        folderId - the folder id
        Returns:
        the given folder
      • getTemplates

        @GET
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/templates")
        java.util.List<Release> getTemplates​(@PathParam("folderId")
                                             java.lang.String folderId,
                                             @QueryParam("page")
                                             java.lang.Long page,
                                             @QueryParam("resultsPerPage")
                                             java.lang.Long resultPerPage,
                                             @QueryParam("depth")
                                             java.lang.Integer depth)
        Returns the templates for the given folder.
        Parameters:
        folderId - the id of the folder
        page - the page of results to return. Defaults at 0
        resultPerPage - the number of results per page. Defaults at 50
        depth - the (optional) depth to search for; defaults at 1
        Returns:
        the list of templates in the folder
      • getTemplates

        java.util.List<Release> getTemplates​(java.lang.String folderId)
        Returns the templates for the given folder with default pagination and depth.
        Parameters:
        folderId - the folder id
        Returns:
        the list of templates in the folder
      • searchReleases

        @POST
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/releases")
        java.util.List<Release> searchReleases​(@PathParam("folderId")
                                               java.lang.String folderId,
                                               @QueryParam("page")
                                               java.lang.Long page,
                                               @QueryParam("numberbypage")
                                               java.lang.Long resultPerPage,
                                               @QueryParam("depth")
                                               java.lang.Integer depth,
                                               ReleasesFilters releasesFilters)
        Returns the releases started from this folder.
        Parameters:
        folderId - the id of the folder
        page - the page of results to return. Defaults at 0
        resultPerPage - the number of results per page. Defaults at 50
        depth - the depth to search for
        releasesFilters - releaseFilter to filter the release search
        Returns:
        the list of releases
      • searchReleases

        java.util.List<Release> searchReleases​(java.lang.String folderId,
                                               ReleasesFilters releasesFilters)
        Returns the releases started from this folder with default pagination and depth.
        Parameters:
        folderId - the folder id
        releasesFilters - the releaseFilters to filter the release search on
        Returns:
        the list of releases in a folder
      • moveTemplate

        @POST
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/templates/{templateId:.*Release[^/]*}")
        void moveTemplate​(@PathParam("folderId")
                          java.lang.String folderId,
                          @PathParam("templateId")
                          java.lang.String templateId,
                          @QueryParam("mergePermissions")
                          java.lang.Boolean mergeTeams)
        Move a template to another folder.
        Parameters:
        folderId - the target folder the template will be moved to
        templateId - the id of the template to be moved
      • moveTemplate

        void moveTemplate​(java.lang.String folderId,
                          java.lang.String templateId)
        Move a template to another folder without merging permissions.
        Parameters:
        folderId - the id of the parent folder
        templateId - the id of the template to be moved
      • addFolder

        @POST
        @Path("/{folderId:.*(Folder[^/]*|Applications)}")
        Folder addFolder​(@PathParam("folderId")
                         java.lang.String parentId,
                         Folder folder)
        Adds a new folder inside the specified folder.
        Parameters:
        parentId - the id of the folder to create the folder in
        folder - the folder to create the new folder in
        Returns:
        the newly created folder
      • delete

        @DELETE
        @Path("/{folderId:.*(Folder[^/]*|Applications)}")
        void delete​(@PathParam("folderId")
                    java.lang.String folderId)
        Deletes the specified folder and all the contents inside.
        Parameters:
        folderId - the id of the folder to delete
      • move

        @POST
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/move")
        void move​(@PathParam("folderId")
                  java.lang.String folderId,
                  @QueryParam("newParentId")
                  java.lang.String newParentId)
        Move a folder to another folder.
        Parameters:
        folderId - the id of the folder to move
        newParentId - the id of the parent folder the folder will be moved under
      • rename

        @POST
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/rename")
        void rename​(@PathParam("folderId")
                    java.lang.String folderId,
                    @QueryParam("newName")
                    java.lang.String newName)
        Rename a folder.
        Parameters:
        folderId - the id of the folder to rename
        newName - the new name of the folder
      • getPermissions

        @GET
        @Path("/permissions")
        java.util.List<java.lang.String> getPermissions()
        Returns possible permissions.
        Returns:
        list of permissions for folders, templates and releases
      • getTeams

        @GET
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/teams")
        java.util.List<TeamView> getTeams​(@PathParam("folderId")
                                          java.lang.String folderId)
        Returns folder effective teams.
        Parameters:
        folderId - the id of the folder
        Returns:
        list of effective teams
      • setTeams

        @POST
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/teams")
        java.util.List<TeamView> setTeams​(@PathParam("folderId")
                                          java.lang.String folderId,
                                          java.util.List<TeamView> teamDtos)
        Set teams of the folder.

        If teams were previously inherited they will be detached after the update. To use inherited teams on a folder submit empty list of teams.

        Parameters:
        folderId - the identifier of the folder
        Returns:
        a list of updated teams
      • isFolderOwner

        @GET
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/folderOwner")
        boolean isFolderOwner​(@PathParam("folderId")
                              java.lang.String folderId)
      • listVariables

        @GET
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/variables")
        java.util.List<Variable> listVariables​(@PathParam("folderId")
                                               java.lang.String folderId,
                                               @QueryParam("folderOnly")
                                               boolean folderOnly)
        Returns folder variables list.
        Parameters:
        folderId - the folder identifier.
        folderOnly - filter if you only want to get information from your parentId. (optional)
        Returns:
        variables list.
      • listVariableValues

        @GET
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/variableValues")
        java.util.Map<java.lang.String,​java.lang.String> listVariableValues​(@PathParam("folderId")
                                                                                  java.lang.String folderId,
                                                                                  @QueryParam("folderOnly")
                                                                                  boolean folderOnly)
        Returns folder variables list with replaced variable values.
        Parameters:
        folderId - the folder identifier.
        folderOnly - filter if you only want to get information from your parentId. (optional)
        Returns:
        variables list.
      • createVariable

        @POST
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/variables")
        Variable createVariable​(@PathParam("folderId")
                                java.lang.String folderId,
                                Variable variable)
        Adds a folder variable.
        Parameters:
        folderId - the folder identifier.
        variable - the folder variable to add.
        Returns:
        the added folder variable.
      • getVariable

        @GET
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/{variableId:.*Variable[^/]*}")
        Variable getVariable​(@PathParam("folderId")
                             java.lang.String folderId,
                             @PathParam("variableId")
                             java.lang.String variableId)
        Returns the folder variable for the given identifier.
        Parameters:
        folderId - the folder identifier.
        variableId - the variable identifier.
        Returns:
        the variable.
      • updateVariable

        @PUT
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/{variableId:.*Variable[^/]*}")
        Variable updateVariable​(@PathParam("folderId")
                                java.lang.String folderId,
                                @PathParam("variableId")
                                java.lang.String variableId,
                                Variable variable)
      • updateVariable

        Variable updateVariable​(java.lang.String folderId,
                                Variable variable)
        Updates properties of a folder variable by its ID.
        Parameters:
        folderId - the folder identifier.
        variable - the variable to update.
        Returns:
        the updated variable.
      • deleteVariable

        @DELETE
        @Path("/{folderId:.*(Folder[^/]*|Applications)}/{variableId:.*Variable[^/]*}")
        void deleteVariable​(@PathParam("folderId")
                            java.lang.String folderId,
                            @PathParam("variableId")
                            java.lang.String variableId)
        Deletes a folder variable.
        Parameters:
        folderId - the folder identifier.
        variableId - the variable identifier.