/src/test/resources/examples/JiraNameValidation.groovy

https://bitbucket.org/sorin/jira-plugin-intellij · Groovy · 29 lines · 21 code · 7 blank · 1 comment · 4 complexity · 14aeb5d38db9daa878815fe0f5418025 MD5 · raw file

  1. // package examples
  2. import org.apache.log4j.Category
  3. import org.apache.log4j.Level
  4. import com.atlassian.jira.ComponentManager
  5. import com.atlassian.jira.project.ProjectManager
  6. import com.atlassian.jira.issue.CustomFieldManager
  7. import com.atlassian.jira.issue.fields.CustomField
  8. import com.opensymphony.workflow.InvalidInputException
  9. import com.atlassian.jira.issue.Issue
  10. Category log = Category.getInstance("JiraNameValidation")
  11. log.setLevel(Level.DEBUG)
  12. ComponentManager componentManager = ComponentManager.getInstance()
  13. ProjectManager projectManager = componentManager.getProjectManager()
  14. CustomFieldManager customFieldManager = componentManager.getCustomFieldManager()
  15. CustomField jiraProjectKey = customFieldManager.getCustomFieldObjects(issue).find{CustomField cf -> cf.name == "Jira Project Key"}
  16. CustomField jiraProjectName = customFieldManager.getCustomFieldObjects(issue).find{CustomField cf -> cf.name == "Jira Project Name"}
  17. if (projectManager.getProjectObjects()*.key.find{it.equalsIgnoreCase(issue.getCustomFieldValue(jiraProjectKey))}) {
  18. invalidInputException= new InvalidInputException(jiraProjectKey.getId(), "Project key already in use")
  19. }
  20. if (projectManager.getProjectObjects()*.name.contains(issue.getCustomFieldValue(jiraProjectName))) {
  21. invalidInputException= new InvalidInputException(jiraProjectName.getId(), "Project name already in use")
  22. }