How to avoid subtask creation on transition if subtask with certain summary exists?

Tsol
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 27, 2015

Hi everybody,

i am using scriptrunner built in script for creating subtask on transition.

I want to create a condition for avoiding the creation of the subtask if subtask with certain summary already exists.

I have tried several scripts on the condition field but it didn't work.

Any idea would be more than welcome.

Thanks,

Kostas

2 answers

2 votes
Cesare Jacopo Corzani
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 28, 2015

In the following example the issue won't be created if a sub-task that contains the same summary already exists.

You may customize that query to fit your needs.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.jql.builder.JqlQueryBuilder
import com.opensymphony.workflow.InvalidInputException
import examples.ContextBaseScript
import groovy.transform.BaseScript

// ALTERNATIVE CASE WITH PARSED JQL STRING

// JqlQueryParser jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser.class)
// Query query = jqlQueryParser.parseQuery("JQL QUERY STRING")

def builder = JqlQueryBuilder.newClauseBuilder();
def query = builder
        .summary(issue.summary).and().issueTypeIsSubtask().buildQuery()


def authContext = ComponentAccessor.getJiraAuthenticationContext()
def searchProvider = ComponentAccessor.getComponent(SearchProvider.class)

def user = authContext?.getUser()
if (searchProvider.searchCount(query, user) != 0) {
    throw new InvalidInputException("The given summary description already exists")
}
0 votes
JörgS December 19, 2016

I tried to use this script to check if the summary from the same issuetype (not Subtask) already exist.
So in other words the summary should be unique. How would the scrip look like? Sorry I'm not familiar with Groovy.

Suggest an answer

Log in or Sign up to answer