Class: JiraFixVersionRelease::JIRAOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/jira_fix_version_release/jira_options.rb

Instance Method Summary collapse

Constructor Details

#initialize(username, password, jira_domain) ⇒ JIRAOptions

Returns a new instance of JIRAOptions.



7
8
9
10
11
# File 'lib/jira_fix_version_release/jira_options.rb', line 7

def initialize(username, password, jira_domain)
  jira_domain << '/' unless jira_domain.end_with?('/')
  @jira_client = JIRAClient.new(username, password, jira_domain)
  @headers = {:content_type => 'application/json'}
end

Instance Method Details

#createFixVersion(version_name = "default", description = Date.today.strftime("%d/%b/%Y"), project_key = nil, released = 'true', userStartDate = Date.today.strftime("%d/%b/%Y"), userReleaseDate = Date.today.strftime("%d/%b/%Y")) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/jira_fix_version_release/jira_options.rb', line 32

def createFixVersion(version_name="default", description=Date.today.strftime("%d/%b/%Y"), project_key=nil, released='true', userStartDate=Date.today.strftime("%d/%b/%Y"), userReleaseDate=Date.today.strftime("%d/%b/%Y"))
  url = "rest/api/2/version"
  payload = '{"name": "'+ version_name +'", "description": "'+ description +'", "project": "'+ project_key +'", "released": ' + released + ', "userStartDate": "'+ userStartDate +'" , "userReleaseDate": "'+ userReleaseDate +'"}'
  
  response = @jira_client.run("post", url, @headers, payload)
  data = @jira_client.getResponseBody(response)
  return data
end

#getCommitMessages(issue_id) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/jira_fix_version_release/jira_options.rb', line 50

def getCommitMessages(issue_id)
  url = "rest/dev-status/1.0/issue/detail?issueId=#{issue_id}&applicationType=stash&dataType=repository"
  commit_description = Array.new
  response = @jira_client.run("get", url, @headers)
  data = @jira_client.getResponseBody(response)
  repositories = data['detail'][0]['repositories']

  for i in 0..repositories.length-1
    commits = repositories[i]["commits"]
    repo_name = repositories[i]["name"]
    for j in 0..commits.length-1
      commit_id = commits[j]['id']
      commit_msg = commits[j]['message']
      commit_description.push("Repository: #{repo_name}, Commit id: #{commit_id}, Message: #{commit_msg}")
    end
  end
  return commit_description
end

#getUnreleasedJiraTickets(project_key, options) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/jira_fix_version_release/jira_options.rb', line 21

def getUnreleasedJiraTickets(project_key, options)
  filter = options[:jql_filter]

    jira_url = "rest/api/2/search?jql="
  url = jira_url + filter

  response = @jira_client.run("get", url, @headers)
  data = @jira_client.getResponseBody(response)
  return data['issues']
end

#isUserPasswordValidObject



69
70
71
72
73
74
75
76
# File 'lib/jira_fix_version_release/jira_options.rb', line 69

def isUserPasswordValid
  #wip
  url = "rest/api/2/project"
  response = @jira_client.run("get", url, @headers)
  puts response
  data = @jira_client.getResponseHeaders(response)
  return data
end

#releaseFixVersion(fix_version_id, released = 'true', userStartDate = Date.today.strftime("%d/%b/%Y"), userReleaseDate = Date.today.strftime("%d/%b/%Y")) ⇒ Object



41
42
43
44
45
46
47
48
# File 'lib/jira_fix_version_release/jira_options.rb', line 41

def releaseFixVersion(fix_version_id, released='true', userStartDate=Date.today.strftime("%d/%b/%Y"), userReleaseDate=Date.today.strftime("%d/%b/%Y"))
  url = "rest/api/2/version/#{fix_version_id}"
  payload = '{"released": ' + released + '}'

  response = @jira_client.run("put", url, @headers, payload)
  data = @jira_client.getResponseBody(response)
  return data
end

#updateFixVersion(issue_key, version_name = "default") ⇒ Object



13
14
15
16
17
18
19
# File 'lib/jira_fix_version_release/jira_options.rb', line 13

def updateFixVersion(issue_key, version_name="default")
  url = "rest/api/2/issue/#{issue_key}"
  payload = '{"update": {"fixVersions" : [{"set":[{"name" : "'+ version_name +'"}]}]}}'
  response = @jira_client.run("put", url, @headers, payload)
  data = @jira_client.getResponseBody(response)
  return data
end