class JiraFixVersionRelease::JIRAOptions

Public Class Methods

new(username, password, jira_domain) click to toggle source
# 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

Public Instance Methods

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")) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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
isUserPasswordValid() click to toggle source
# 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")) click to toggle source
# 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") click to toggle source
# 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