Skip to content

Instantly share code, notes, and snippets.

import com.atlassian.jira.component.ComponentAccessor
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def formField = getFieldByName("SelectListA") // *name* of your custom field
def customField = customFieldManager.getCustomFieldObject(formField.getFieldId())
def config = customField.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(config)
package com.onresolve.jira.groovy.jql
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.jql.operand.QueryLiteral
import com.atlassian.jira.jql.query.QueryCreationContext
import com.atlassian.jira.util.MessageSet
import com.atlassian.query.clause.TerminalClause
import com.atlassian.query.operand.FunctionOperand
import com.onresolve.jira.groovy.jql.entitymatch.VersionMatch
import groovy.util.logging.Log4j
package examples.answers
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.atlassian.jira.plugins.dvcs.service.api.DvcsPullRequestService
@WithPlugin("com.atlassian.jira.plugins.jira-bitbucket-connector-plugin")
@PluginModule
DvcsPullRequestService dvcsPullRequestService
package examples.docs
import com.atlassian.applinks.api.ApplicationLink
import com.atlassian.applinks.api.ApplicationLinkService
import com.atlassian.applinks.api.application.confluence.ConfluenceApplicationType
import com.atlassian.jira.issue.Issue
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.sal.api.net.Request
import com.atlassian.sal.api.net.Response
import com.atlassian.sal.api.net.ResponseException
package examples.docs
import com.atlassian.applinks.api.ApplicationLink
import com.atlassian.applinks.api.ApplicationLinkService
import com.atlassian.applinks.api.application.confluence.ConfluenceApplicationType
import com.atlassian.jira.issue.Issue
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.sal.api.net.Request
import com.atlassian.sal.api.net.Response
import com.atlassian.sal.api.net.ResponseException
FormField fixfield = getFieldById(getFieldChanged())
def versions = fixfield.getValue() as List<Version>
// Make sure all versions consist of 2 '.' separated numeric fields.
// sometimes versions list can have a null in it... don't ask
versions.remove(null)
def badVersionNames = versions.findAll {! it.name.matches(/^\d+\.\d+$/)}*.name
if (badVersionNames) {
package examples.answers
// https://answers.atlassian.com/questions/319646/customfield-id-for-scripted-fields?page=1#comment-319992
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.link.IssueLink
import com.atlassian.jira.issue.link.IssueLinkManager
package examples
import com.atlassian.jira.issue.Issue
import com.onresolve.scriptrunner.canned.jira.utils.CopyIssueWithAttachments
def subTaskObjects = (issue as Issue).subTaskObjects
if (subTaskObjects) {
def util = new CopyIssueWithAttachments()
util.copyAttachments(issue, subTaskObjects.last(), Closure.IDENTITY)
}
package examples
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.sal.api.ApplicationProperties
import com.atlassian.streams.api.UserProfile
import com.atlassian.streams.api.common.Either
import com.atlassian.streams.thirdparty.api.Activity
import com.atlassian.streams.thirdparty.api.ActivityService
import com.atlassian.streams.thirdparty.api.ValidationErrors
package examples
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.onresolve.scriptrunner.canned.jira.utils.WorkflowUtils
import com.opensymphony.workflow.loader.ActionDescriptor
import com.opensymphony.workflow.loader.WorkflowDescriptor
/**