Class: MetaProject::Tracker::Jira::JiraTracker
- Includes:
- JiraIssues
- Defined in:
- lib/meta_project/tracker/jira/jira_tracker.rb
Overview
Defined Under Namespace
Classes: LoginException, Session
Constant Summary collapse
- JIRA_API =
"jira1"
Instance Attribute Summary collapse
-
#jira_base_url ⇒ Object
Returns the value of attribute jira_base_url.
-
#jira_project_id ⇒ Object
Returns the value of attribute jira_project_id.
Instance Method Summary collapse
- #create(issue) ⇒ Object
-
#initialize(jira_base_url = nil, jira_project_id = nil) ⇒ JiraTracker
constructor
Creates a new JiraTracker.
- #materialize(issue) ⇒ Object
- #overview ⇒ Object
Methods included from JiraIssues
command_pattern, #identifier_examples, issue_pattern, #markup
Methods inherited from Base
Constructor Details
#initialize(jira_base_url = nil, jira_project_id = nil) ⇒ JiraTracker
Creates a new JiraTracker. In order to successfully get issue info (via XMLRPC), two env vars must be defined. Example:
JiraTracker.new("http://jira.codehaus.org", "DC")
Then the following must be defined:
JIRA_CODEHAUS_ORG_JIRA_USER
JIRA_CODEHAUS_ORG_JIRA_PASSWORD
TODO: pass in to ctor instead. do this somewhere else!
29 30 31 |
# File 'lib/meta_project/tracker/jira/jira_tracker.rb', line 29 def initialize(jira_base_url=nil, jira_project_id=nil) @jira_base_url, @jira_project_id = jira_base_url, jira_project_id end |
Instance Attribute Details
#jira_base_url ⇒ Object
Returns the value of attribute jira_base_url.
17 18 19 |
# File 'lib/meta_project/tracker/jira/jira_tracker.rb', line 17 def jira_base_url @jira_base_url end |
#jira_project_id ⇒ Object
Returns the value of attribute jira_project_id.
17 18 19 |
# File 'lib/meta_project/tracker/jira/jira_tracker.rb', line 17 def jira_project_id @jira_project_id end |
Instance Method Details
#create(issue) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/meta_project/tracker/jira/jira_tracker.rb', line 37 def create(issue) issue_struct = { "project" => @jira_project_id, "summary" => issue.summary, "description" => issue.detail, "type" => 2, # magic number! "priority" => 1 } login do |session| issue_struct = session.createIssue(issue_struct) issue.attributes[:identifier] = issue_struct["key"] end end |
#materialize(issue) ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/meta_project/tracker/jira/jira_tracker.rb', line 51 def materialize(issue) login do |session| issue.attributes[:identifier] = issue.attributes[:identifier].upcase issue_struct = session.getIssue(issue.identifier) issue.attributes[:summary] = issue_struct["summary"].strip issue.attributes[:detail] = issue_struct["description"].strip issue.attributes[:url] = "#{@jira_base_url}/browse/#{issue.identifier}" end end |
#overview ⇒ Object
33 34 35 |
# File 'lib/meta_project/tracker/jira/jira_tracker.rb', line 33 def overview "#{@jira_base_url}/browse/#{@jira_project_id}" end |