I'm attempting to write a workflow function script to automatically set a component on an issue at issue creation, anytime there isn't already a component set. Example: an end user fills out a generic IT request. Then based on our criteria we will set a component to the issue.
The problem I run into is the documentation and forums I've read all point to listing one specific component to set. We want to set several. (secondary problem, my placeholder comment comments on all issues, not just where the component is blank)
Here is what I have so far:
{code:groovy}
import com.atlassian.jira.issue.CustomFieldManagerimport com.atlassian.jira.issue.CustomFieldManagerimport com.atlassian.jira.issue.Issueimport com.atlassian.jira.issue.MutableIssueimport com.atlassian.jira.issue.comments.CommentManagerimport com.atlassian.jira.issue.fields.CustomFieldimport com.atlassian.jira.util.ImportUtilsimport com.atlassian.jira.user.util.DefaultUserManagerimport com.atlassian.jira.project.Projectimport com.atlassian.jira.component.ComponentAccessorimport com.onresolve.scriptrunner.runner.util.UserMessageUtilimport com.atlassian.jira.event.type.EventDispatchOption
def commentManager = ComponentAccessor.getCommentManager()
def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser();MutableIssue myIssue = issueProject project = myIssue.getProjectObject()
def theComponent = ComponentAccessor.getProjectComponentManager().findByComponentName(project.getId(),'SH')
if (theComponent == null) {commentManager.create( issue, user, "Generic placeholder comment", true)}
{code}
Thanks!