Package tlib :: Package base :: Module JiraModerator :: Class JiraModerator |
[hide private]
[frames] | no frames]

# Class JiraModerator

source code

    object --+
             |
            JiraModerator

Helper class to connect and manipulate the data in Jira

Instance Methods | [hide private]
__init__(self, logger) Constructor for class | source code
connect(self) Establishes a connection to our YPG Jira instance and assignes it to self.client | source code
search_for_issue(self, query) Returns a list of issues that were returned by Jira given the query you specified | source code
confirm_version(self, proj_key, build_version) Confirms that the project version supplied actually exists in Jira for the specified project | source code
get_required_fields(self, project_key) Fetches a list of fields that require values to open a new issue in a specified project | source code
create_issue(self, data) Creates an issue in Jira with the dictionary of data supplied. | source code
reopen_bug(self, issue, proj_key, version) Transitions a specified jira Bug from any resolved state back to In Review and assigns it to the project lead with comments | source code
get_transition_id(self, trans_dict, trans_name) Fetch the id for a transition's name | source code
prepare_issue_data(self, req_fields, test_id, project, summary, description, component, severity, version) Constructs a properly formatted dictionary of data to supply to Jira for opening an issue. | source code
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Class Variables | [hide private]
| client = `None`
| clientOptions = ``{``'``server``'``:` `'``https://issues.ypg.com``'``}`` conneciton options for Jira
| username = ``'``ypgAutoTester``'`` Automation User username (QA Lead access to Jira)
| password = ``'``@ut0t3$t3r``'`` Automation User password
| logger = `None` logger to send loggin information to.
| project = `None`

Properties | [hide private]
Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self, logger) (Constructor) | source code
Constructor for class Args : logger : (logger) instance of a logging object configured in testing project Overrides: object.__init__

### connect(self) | source code
Establishes a connection to our YPG Jira instance and assignes it to self.client Returns : (bool) True if we are connected to Jira and False if we are not

### search_for_issue(self, query) | source code
    Returns a list of issues that were returned by Jira given the query you specified

    Args : (str) A string representation of a JQL query.  anything you can enter in Jira advanced search can be
                    entered here.

    Returns : (ResultList) a list of jira issues

### confirm_version(self, proj_key, build_version) | source code
Confirms that the project version supplied actually exists in Jira for the specified project Args : projKey: (str) the Jira project acronym buildVersion : (str) the version of the application you are testing Returns : (bool) True if the version was found in Jira. False if the version was not found

### get_required_fields(self, project_key) | source code
    Fetches a list of fields that require values to open a new issue in a specified project

    Args : (str) The Jira project acronym for the project you are querying

    Returns : (dict) a dictionary containing the required fields and None values for each.  Returns empty dict if
                        search failed.

### create_issue(self, data) | source code
    Creates an issue in Jira with the dictionary of data supplied.  Be sure that data contains all required
        fields before using this.

    Args : (dict) dictionary of required fields and valid values

    Returns : (bool) returns True if issues was created and False if there was a failure

### reopen_bug(self, issue, proj_key, version) | source code
    Transitions a specified jira Bug from any resolved state back to In Review and assigns it to the
        project lead with comments

    Args :
    issue : (issue) an issue object that came from Jira.  Use searchForIssue first before reopening issues
    proj_key : (str) the Jira project acronym from Jira
    version : (str) the build number currently under test where the bug was rediscovered

    Returns : (bool) returns False if we could not reopen issue and True if we could

### get_transition_id(self, trans_dict, trans_name) | source code
Fetch the id for a transition's name Args : trans_dict : (dict) a dictionary of transitions fetched from Jira for a given issue trans_name : (str) name of the Jira transition you would like the id for Returns : (str) a numeric id associtated to the transition name

### prepare_issue_data(self, req_fields, test_id, project, summary, description, component, severity, version) | source code
    Constructs a properly formatted dictionary of data to supply to Jira for opening an issue.  Creates a bug
        in the specified project After construction, it will validate the dictionary by checking if all required
        fields are filled

    Args :
    req_fields : (dict) dictionary of jira project required fields.  Construct the dict with getRequiredFields
    test_id : (str)the name of the test cases found in the test case's decoreator in python or the name in Spiratest
    project : (str) the Jira project acronym for the project you wish to open a bug inspect
    summary : (str) the summary of the bug you wish to open
    description : (str) the description of the bug you wish to open
    component : (str) the component of the bug you wish to open
    severity : (str) the severity of the bug you wish to open
    version : (str) the affected version of the bug you wish to open

    Returns : (dict) if the dictionary properly complies to all the required fields.
                        Returns emtpy dict if it does not.