Example #1
0
 def create_issue(self, project, type='bug', summary="", description="",
                  priority="minor", parent=None, assignee="", reporter="",
                  labels=[], components={}):
     issue = {
         "project": project.upper(),
         "summary": summary,
         "description": description,
         "priority": self.get_priorities()[priority.lower()]["id"],
         "assignee": assignee,
         "reporter": reporter,
         "components": [{"name": k, "id": components[k]} for k in components]
     }
     if not issue["components"]:
         issue.pop("components")
     if type.lower() == 'epic':
         issue['customfield_11401'] = summary
     try:
         if parent:
             issue['type'] = self.get_subtask_issue_types()[type.lower()]['id'],
             created_issue = soap_recursive_dict(self.service.createIssueWithParent(self.token, issue, parent))
         else:
             issue['type'] = self.get_issue_types()[type.lower()]['id'],
             created_issue = soap_recursive_dict(self.service.createIssue(self.token, issue))
         if assignee or reporter or labels:
             if assignee:
                 created_issue = self.assign_issue(created_issue['key'], assignee)
             if reporter:
                 created_issue = self.change_reporter(created_issue['key'], reporter)
             if labels:
                 created_issue = self.add_labels(created_issue['key'], labels)
             return soap_recursive_dict(created_issue)
         else:
             return created_issue
     except WebFault as e:
         raise JiraCliError(e)
Example #2
0
 def create_issue(self,
                  project,
                  type='bug',
                  summary="",
                  description="",
                  priority="minor",
                  parent=None):
     issue = {
         "project": project.upper(),
         "summary": summary,
         "description": description,
         "priority": self.get_priorities()[priority.lower()]["id"]
     }
     if type.lower() == 'epic':
         issue['customfield_11401'] = summary
     try:
         if parent:
             issue['type'] = self.get_subtask_issue_types()[
                 type.lower()]['id'],
             return soap_recursive_dict(
                 self.service.createIssueWithParent(self.token, issue,
                                                    parent))
         else:
             issue['type'] = self.get_issue_types()[type.lower()]['id'],
             return soap_recursive_dict(
                 self.service.createIssue(self.token, issue))
     except WebFault as e:
         raise JiraCliError(e)
Example #3
0
    def create_issue(
        self, project, type="bug", summary="", description="", priority="minor", parent=None, assignee="", reporter=""
    ):
        issue = {
            "project": project.upper(),
            "summary": summary,
            "description": description,
            "priority": self.get_priorities()[priority.lower()]["id"],
            "assignee": assignee,
            "reporter": reporter,
        }
        if type.lower() == "epic":
            issue["customfield_11401"] = summary
        try:
            if parent:
                issue["type"] = (self.get_subtask_issue_types()[type.lower()]["id"],)
                created_issue = soap_recursive_dict(self.service.createIssueWithParent(self.token, issue, parent))
            else:
                issue["type"] = (self.get_issue_types()[type.lower()]["id"],)
                created_issue = soap_recursive_dict(self.service.createIssue(self.token, issue))
            if assignee:
                created_issue = self.assign_issue(created_issue["key"], assignee)
            if reporter:
                created_issue = self.change_reporter(created_issue["key"], reporter)
            return soap_recursive_dict(created_issue)

        except WebFault as e:
            raise JiraCliError(e)
Example #4
0
 def search_issues(self, free_text, project=None, limit=100):
     if not project:
         return [soap_recursive_dict(k) for k in self.service.getIssuesFromTextSearch(self.token, free_text)]
     else:
         return [
             soap_recursive_dict(k)
             for k in self.service.getIssuesFromTextSearchWithProject(self.token, [project], free_text, limit)
         ]
Example #5
0
 def create_issue(self,
                  project,
                  type='bug',
                  summary="",
                  description="",
                  priority="minor",
                  parent=None,
                  assignee="",
                  reporter="",
                  labels=[],
                  components={},
                  **extras):
     issue = {
         "project": project.upper(),
         "summary": summary,
         "description": description,
         "priority": self.get_priorities()[priority.lower()]["id"],
         "assignee": assignee,
         "reporter": reporter,
         "components": [{
             "name": k,
             "id": components[k]
         } for k in components]
     }
     if not issue["components"]:
         issue.pop("components")
     if type.lower() == 'epic':
         issue['customfield_11401'] = summary
     try:
         if parent:
             issue['type'] = self.get_subtask_issue_types()[
                 type.lower()]['id'],
             created_issue = soap_recursive_dict(
                 self.service.createIssueWithParent(self.token, issue,
                                                    parent))
         else:
             issue['type'] = self.get_issue_types()[type.lower()]['id'],
             created_issue = soap_recursive_dict(
                 self.service.createIssue(self.token, issue))
         if assignee or reporter or labels:
             if assignee:
                 created_issue = self.assign_issue(created_issue['key'],
                                                   assignee)
             if reporter:
                 created_issue = self.change_reporter(
                     created_issue['key'], reporter)
             if labels:
                 created_issue = self.add_labels(created_issue['key'],
                                                 labels)
             return soap_recursive_dict(created_issue)
         else:
             return created_issue
     except WebFault as e:
         raise JiraCliError(e)
Example #6
0
 def search_issues(self, free_text, project=None, limit=100):
     if not project:
         return [
             soap_recursive_dict(k)
             for k in self.service.getIssuesFromTextSearch(
                 self.token, free_text)
         ]
     else:
         return [
             soap_recursive_dict(k)
             for k in self.service.getIssuesFromTextSearchWithProject(
                 self.token, [project], free_text, limit)
         ]
Example #7
0
 def get_versions(self, issue):
     project_key = issue.split("-")[0]
     versions = [
         soap_recursive_dict(k)
         for k in self.service.getVersions(self.token, project_key)
     ]
     return dict((item['name'], item) for item in versions)
Example #8
0
 def get_issues_by_filter(self, *filters):
     issues = []
     for filter in filters:
         fid = self.get_filters()[filter]["id"]
         if fid:
             return issues.extend(self.service.getIssuesFromFilter(self.token, fid))
     return [soap_recursive_dict(k) for k in issues]
Example #9
0
 def get_issues_by_filter(self, *filters):
     issues = []
     for filter in filters:
         try:
             fid = self.get_filters()[filter]["id"]
             issues.extend(self.service.getIssuesFromFilter(self.token, fid))
         except KeyError:
             raise UsageError("filter %s not found" % filter)
     return [soap_recursive_dict(k) for k in issues]
Example #10
0
 def get_issues_by_filter(self, *filters):
     issues = []
     for filter in filters:
         try:
             fid = self.get_filters()[filter]["id"]
             issues.extend(self.service.getIssuesFromFilter(self.token, fid))
         except KeyError:
             raise UsageError("filter %s not found" % filter)
     return [soap_recursive_dict(k) for k in issues]
Example #11
0
 def create_issue(self, project, type='bug', summary="", description="", priority="minor", parent=None):
     issue = {
         "project": project.upper(),
         "summary": summary,
         "description": description,
         "priority": self.get_priorities()[priority.lower()]["id"]
     }
     if type == 'epic':
         issue['customfield_11401'] = summary
     try:
         if parent:
             issue['type'] = self.get_subtask_issue_types()[type.lower()]['id'],
             return soap_recursive_dict(self.service.createIssueWithParent(self.token, issue, parent))
         else:
             issue['type'] = self.get_issue_types()[type.lower()]['id'],
             return soap_recursive_dict(self.service.createIssue(self.token, issue))
     except WebFault as e:
         raise JiraCliError(e)
Example #12
0
    def create_issue(self,
                     project,
                     type='bug',
                     summary="",
                     description="",
                     priority="minor",
                     parent=None,
                     assignee="",
                     reporter=""):
        issue = {
            "project": project.upper(),
            "summary": summary,
            "description": description,
            "priority": self.get_priorities()[priority.lower()]["id"],
            "assignee": assignee,
            "reporter": reporter
        }
        if type.lower() == 'epic':
            issue['customfield_11401'] = summary
        try:
            if parent:
                issue['type'] = self.get_subtask_issue_types()[
                    type.lower()]['id'],
                created_issue = soap_recursive_dict(
                    self.service.createIssueWithParent(self.token, issue,
                                                       parent))
            else:
                issue['type'] = self.get_issue_types()[type.lower()]['id'],
                created_issue = soap_recursive_dict(
                    self.service.createIssue(self.token, issue))
            if assignee:
                created_issue = self.assign_issue(created_issue['key'],
                                                  assignee)
            if reporter:
                created_issue = self.change_reporter(created_issue['key'],
                                                     reporter)
            return soap_recursive_dict(created_issue)

        except WebFault as e:
            raise JiraCliError(e)
Example #13
0
 def get_projects(self):
     return [soap_recursive_dict(k) for k in self.service.getProjectsNoSchemes(self.token)]
Example #14
0
 def get_components(self, project):
     return [soap_recursive_dict(k) for k in self.service.getComponents(self.token, project)]
Example #15
0
 def list_versions(self, project):
     return [
         soap_recursive_dict(k)
         for k in self.service.getVersions(self.token, project)
     ]
Example #16
0
 def get_issue_comments(self, issue):
     return [
         soap_recursive_dict(k)
         for k in self.service.getComments(self.token, issue)
     ]
Example #17
0
 def get_resolutions(self):
     resolutions = [soap_recursive_dict(k) for k in self.service.getResolutions(self.token)]
     return dict((item['name'], item) for item in resolutions)
Example #18
0
 def get_subtask_issue_types(self):
     issue_types = self.service.getSubTaskIssueTypes(self.token)
     issue_types = [soap_recursive_dict(k) for k in issue_types]
     return dict((item['name'].lower(), item) for item in issue_types)
Example #19
0
 def get_priorities(self):
     priorities = [
         soap_recursive_dict(k)
         for k in self.service.getPriorities(self.token)
     ]
     return dict((item["name"].lower(), item) for item in priorities)
Example #20
0
 def get_issue(self, issue_id):
     try:
         return soap_recursive_dict(self.service.getIssue( self.token, issue_id))
     except WebFault:
         return None
Example #21
0
 def get_projects(self):
     return [
         soap_recursive_dict(k)
         for k in self.service.getProjectsNoSchemes(self.token)
     ]
Example #22
0
 def get_filters(self):
     filters = self.service.getSavedFilters(self.token)
     filters += self.service.getFavouriteFilters(self.token)
     return dict((item["name"].lower(), soap_recursive_dict(item)) for item in filters)
Example #23
0
 def get_subtask_issue_types(self):
     issue_types = self.service.getSubTaskIssueTypes(self.token)
     issue_types = [soap_recursive_dict(k) for k in issue_types]
     return dict((item['name'].lower(), item) for item in issue_types)
Example #24
0
 def search_issues_jql(self, query, limit=100):
     return [
         soap_recursive_dict(k)
         for k in self.service.getIssuesFromJqlSearch(
             self.token, query, limit)
     ]
Example #25
0
 def get_statuses(self):
     statuses = [
         soap_recursive_dict(k)
         for k in self.service.getStatuses(self.token)
     ]
     return dict((item['name'].lower(), item) for item in statuses)
Example #26
0
 def get_statuses(self):
     statuses = [soap_recursive_dict(k) for k in self.service.getStatuses(self.token)]
     return dict((item['name'].lower(), item) for item in statuses)
Example #27
0
 def get_filters(self):
     filters = self.service.getSavedFilters(self.token)
     filters += self.service.getFavouriteFilters(self.token)
     return dict((item["name"].lower(), soap_recursive_dict(item))
                 for item in filters)
Example #28
0
 def search_issues_jql(self, query, limit=100):
     return [soap_recursive_dict(k) for k in self.service.getIssuesFromJqlSearch(self.token, query, limit)]
Example #29
0
 def get_available_transitions(self, issue):
     transitions = self.service.getAvailableActions(self.token, issue)
     if not transitions:
         raise JiraCliError("No transitions found for issue %s" % issue)
     return dict(
         (k.name.lower(), soap_recursive_dict(k)) for k in transitions)
Example #30
0
 def get_issue_types(self):
     issue_types = self.service.getIssueTypes(self.token)
     issue_types = [soap_recursive_dict(k) for k in issue_types]
     return dict((item["name"].lower(), item) for item in issue_types)
Example #31
0
 def get_children(self, issue_id):
     return [
         soap_recursive_dict(item)
         for item in self.service.getSubTasks(self.token, issue_id)
     ]
Example #32
0
 def get_children(self, issue_id):
     return [soap_recursive_dict(item) for item in self.service.getSubTasks(self.token, issue_id)]
Example #33
0
 def get_versions(self, issue):
     project_key = issue.split("-")[0]
     versions = [soap_recursive_dict(k) for k in self.service.getVersions(self.token, project_key)]
     return dict((item['name'], item) for item in versions)
Example #34
0
 def get_available_transitions(self, issue):
     transitions = self.service.getAvailableActions(self.token, issue)
     if not transitions:
         raise JiraCliError("No transitions found for issue %s" % issue)
     return dict((k.name.lower(), soap_recursive_dict(k)) for k in transitions)
Example #35
0
 def get_components(self, project):
     return [
         soap_recursive_dict(k)
         for k in self.service.getComponents(self.token, project)
     ]
Example #36
0
 def get_issue_comments(self, issue):
     return [soap_recursive_dict(k) for k in self.service.getComments(self.token, issue)]
Example #37
0
 def get_issue(self, issue_id):
     try:
         return soap_recursive_dict(
             self.service.getIssue(self.token, issue_id))
     except WebFault:
         return None
Example #38
0
 def get_priorities(self):
     priorities = [soap_recursive_dict(k) for k in self.service.getPriorities(self.token)]
     return dict((item["name"].lower(), item) for item in priorities)
Example #39
0
 def get_resolutions(self):
     resolutions = [
         soap_recursive_dict(k)
         for k in self.service.getResolutions(self.token)
     ]
     return dict((item['name'], item) for item in resolutions)