PageRenderTime 46ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/rm-echo.groovy

http://github.com/omega/jira-groovy
Groovy | 45 lines | 36 code | 9 blank | 0 comment | 1 complexity | c66778e2717e333cb31e873b64bc6b4c MD5 | raw file
  1. import org.apache.log4j.Category
  2. import com.atlassian.jira.issue.Issue
  3. import com.atlassian.jira.issue.CustomFieldManager
  4. import com.atlassian.jira.ComponentManager
  5. import com.atlassian.jira.issue.fields.CustomField
  6. log = Category.getInstance("no.startsiden.no.jira.groovy.rmecho")
  7. def team_field = "customfield_10520" // XXX: This is not pretty to hardcode?
  8. team_rooms = [
  9. "Football":"@fotball",
  10. "MeeTV":"@tvguide",
  11. "Navigation":"@navigation",
  12. "Startsiden":"@startsiden",
  13. "News":"@news",
  14. "Video":"@video",
  15. "Test":"@test",
  16. ] // XXX: this is not pretty to hardcode either
  17. Issue issue = issue
  18. url = "https://bugs.startsiden.no/browse/${issue.key}"
  19. action = transientVars.get("descriptor").getAction(transientVars.get("actionId"))
  20. ComponentManager componentManager = ComponentManager.getInstance()
  21. CustomFieldManager customFieldManager = componentManager.getCustomFieldManager()
  22. CustomField customFieldSrc = customFieldManager.getCustomFieldObject(team_field)
  23. team = issue.getCustomFieldValue(customFieldSrc).toString()
  24. room = team_rooms.get(team)
  25. log.error("team: ${team} room: ${room}")
  26. if (room)
  27. try {
  28. netcat = new Socket("noops1.startsiden.no", 54321)
  29. netcat.withStreams { input, output ->
  30. msg = "'${issue.key}: ${issue.summary}' ${action.name} Next up: ${issue.getAssigneeUser().getDisplayName()} ${url}\n"
  31. output << "${room},#drift ${msg}"
  32. netcat.close()
  33. }
  34. } catch (ex) {
  35. log.error("Exception doing netcat to noops1: ${ex}");
  36. }