Sha256: a96e36262e172fbb8ebd73fd4e36e5dc6d2a0e02823f9172bf59928581cae7fa
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
module Capistrano module Jira class IssueTransiter attr_reader :issue def initialize(issue) @issue = issue end def transit validate_transition execute end private def transition @transition ||= issue.transitions.all.find do |t| t.attrs['name'].casecmp(fetch(:jira_transition_name)).zero? end end def validate_transition return if transition raise TransitionError, "Transition #{fetch(:jira_transition_name)} not available" end def execute issue.transitions.build.save!(transition_hash) rescue JIRA::HTTPError => e raise TransitionError, error_message(e) end def transition_hash hash = { transition: { id: transition.id } } hash.merge(comment_hash) if fetch(:jira_comment_on_transition) hash end def comment_hash { update: { comment: [ { add: { body: 'Issue transited automatically during deployment.' } } ] } } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
capistrano-jira-0.3.1 | lib/capistrano/jira/issue_transiter.rb |
capistrano-jira-0.2.0 | lib/capistrano/jira/issue_transiter.rb |