Add Folder to a Structure

Overview

Structure for Jira allows you to create structures to organise issues and projects. This script adds a folder to a structure, allowing you to separate and organise issues.

Example

As a project manager, I want to separate issues in groups inside my structure. Using this script, I can easily create multiple folders to organise my issues within a structure.

Good to Know

Requirements

Jira Jira (7.7 - 8.6)

    
import com.almworks.jira.structure.api.permissions.PermissionLevel import com.almworks.jira.structure.api.StructureComponents import com.onresolve.scriptrunner.runner.customisers.PluginModule import com.onresolve.scriptrunner.runner.customisers.WithPlugin import com.almworks.jira.structure.api.folder.Folder import com.almworks.jira.structure.api.forest.action.ForestAction import com.almworks.jira.structure.api.forest.ForestSpec import com.almworks.jira.structure.api.forest.item.ItemForestBuilderImpl import com.almworks.jira.structure.api.item.CoreIdentities @WithPlugin("com.almworks.jira.structure") @PluginModule StructureComponents structureComponents // Get components def structureManager = structureComponents.structureManager def folderManager = structureComponents.folderManager def forestService = structureComponents.forestService // Define the params (name of the structure, permission level of the structure and folder name) final structureName = 'My structure' final permissionLevel = PermissionLevel.ADMIN final newFolderName = 'My folder' def structures = structureManager.getStructuresByName(structureName, permissionLevel) if (!structures) { log.warn "No existing Structure found with name '${structureName}' and permission level '${permissionLevel.name()}'" return } def structureId = structures.first().id // Create the folder associated with the structure def newFolder = Folder.named(newFolderName).setOwningStructure(structureId).build() def folderItem = folderManager.createFolder(newFolder) def forestBuilder = new ItemForestBuilderImpl() forestBuilder.nextRow(CoreIdentities.folder(folderItem)) // Add the folder to the structure def forestSource = forestService.getForestSource(ForestSpec.structure(structureId)) def forestToAdd = forestBuilder.build() forestSource.apply(new ForestAction.Add(forestToAdd, 0, 0, 0))
Discovered an issue? Report it here

Suggested for you

Appears in these Collections