Package com.xebialabs.xlrelease.api.v1
Interface FolderApi
-
- All Superinterfaces:
ApiService
@Path("/api/v1/folders") @Produces("application/json") @Consumes("application/json") public interface FolderApi extends ApiService
Operations on folders.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
EXPRESSION_FOLDER_ID
-
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 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 interfaceApiService
-
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 nullresultPerPage
- the number of results per page. Defaults at 50 if set to nulldepth
- the depth to search for. Defaults at 1 if set to nulldecorateWithPermissions
- 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 frompage
- the page of results to return. Defaults at 0resultPerPage
- the number of results per page. Defaults at 50depth
- 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 ondepth
- 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 folderdepth
- 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 folderpage
- the page of results to return. Defaults at 0resultPerPage
- the number of results per page. Defaults at 50depth
- 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 folderpage
- the page of results to return. Defaults at 0resultPerPage
- the number of results per page. Defaults at 50depth
- the depth to search forreleasesFilters
- 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 idreleasesFilters
- 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 totemplateId
- 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 foldertemplateId
- 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 infolder
- 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 movenewParentId
- 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 renamenewName
- 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.
-
-