예제 #1
0
파일: create.py 프로젝트: kevinjqiu/jirafs
    def handle(self, args, jira, path, parser, **kwargs):
        server = args.server
        if not server:
            server = utils.get_default_jira_server()

        issue_data = {}

        for field in self.FIELDS:
            if getattr(args, field['name']) is not None:
                self.set_field_value(
                    issue_data, field, getattr(args, field['name'])
                )
            elif args.quiet:
                self.set_field_value(issue_data, field, field.get('default'))
            else:
                self.set_field_value(
                    issue_data,
                    field,
                    self.prompt_for_input(field)
                )

        jira_client = jira(server)
        issue = jira_client.create_issue(issue_data)

        return run_command_method_with_kwargs(
            'clone',
            path=None,
            url=issue.permalink(),
            jira=jira,
        )
예제 #2
0
    def main(self, args, jira, path, parser, **kwargs):
        search_term = ' '.join(args.terms)

        try:
            tf = TicketFolder(path, jira)
            jira_client = tf.jira
        except IOError:
            jira_client = jira(utils.get_default_jira_server())

        users = jira_client.search_users(search_term)

        if args.json:
            print(json.dumps([u.raw for u in users]))
            return

        if not users:
            return CommandResult('No matching users were found', return_code=1)

        table = PrettyTable(['Name', 'Username', 'Email Address', 'Time Zone'])
        table.align = 'l'
        for user in users:
            table.add_row([
                user.displayName, user.name, user.emailAddress, user.timeZone
            ])

        return CommandResult(unicode(table))
예제 #3
0
파일: create.py 프로젝트: murdore/jirafs
    def main(self, args, jira, path, parser, **kwargs):
        server = args.server
        if not server:
            server = utils.get_default_jira_server()

        issue_data = {}

        for field in self.FIELDS:
            if getattr(args, field["name"]) is not None:
                self.set_field_value(issue_data, field,
                                     getattr(args, field["name"]))
            elif args.quiet:
                self.set_field_value(issue_data, field, field.get("default"))
            else:
                self.set_field_value(issue_data, field,
                                     self.prompt_for_input(field))

        jira_client = jira(server)
        issue = jira_client.create_issue(issue_data)

        return run_command_method_with_kwargs(
            "clone",
            path=None,
            url=issue.permalink(),
            jira=jira,
        )
예제 #4
0
    def handle(self, args, jira, path, parser, **kwargs):
        search_term = ' '.join(args.terms)

        try:
            tf = TicketFolder(path, jira)
            jira_client = tf.jira
        except IOError:
            jira_client = jira(
                utils.get_default_jira_server()
            )

        users = jira_client.search_users(search_term)

        if args.json:
            print(
                json.dumps(
                    [u.raw for u in users]
                )
            )
            return

        table = PrettyTable(['Name', 'Username', 'Email Address', 'Time Zone'])
        table.align = 'l'
        for user in users:
            table.add_row(
                [
                    user.displayName,
                    user.name,
                    user.emailAddress,
                    user.timeZone
                ]
            )
        print(table)
예제 #5
0
파일: clone.py 프로젝트: murdore/jirafs
    def handle(self, args, jira, path, **kwargs):
        ticket_url = args.ticket_url[0]

        ticket_url_parts = parse.urlparse(ticket_url)
        if not ticket_url_parts.netloc:
            default_server = utils.get_default_jira_server()
            ticket_url = parse.urljoin(default_server,
                                       "browse/" + ticket_url + "/")

        path = args.path[0] if args.path else None

        return self.cmd(path, ticket_url, jira)
예제 #6
0
    def handle(self, args, jira, path, **kwargs):
        ticket_url = args.ticket_url[0]

        if not os.path.exists(os.path.realpath(ticket_url)):
            ticket_url_parts = parse.urlparse(ticket_url)
            if not ticket_url_parts.netloc:
                default_server = utils.get_default_jira_server()
                ticket_url = parse.urljoin(default_server,
                                           'browse/' + ticket_url + '/')

        path = args.path[0] if args.path else None

        return self.cmd(path, ticket_url, jira)
예제 #7
0
파일: clone.py 프로젝트: kevinjqiu/jirafs
    def handle(self, args, jira, path, **kwargs):
        ticket_url = args.ticket_url[0]

        if not os.path.exists(os.path.realpath(ticket_url)):
            ticket_url_parts = parse.urlparse(ticket_url)
            if not ticket_url_parts.netloc:
                default_server = utils.get_default_jira_server()
                ticket_url = parse.urljoin(
                    default_server,
                    'browse/' + ticket_url + '/'
                )

        path = args.path[0] if args.path else None

        return self.clone(path, ticket_url, jira)
예제 #8
0
    def main(self, args, jira, path, parser, **kwargs):
        search_term = ' '.join(args.terms)

        try:
            tf = TicketFolder(path, jira)
            jira_client = tf.jira
        except IOError:
            jira_client = jira(
                utils.get_default_jira_server()
            )

        users = jira_client.search_users(search_term)

        if args.json:
            print(
                json.dumps(
                    [u.raw for u in users]
                )
            )
            return

        if not users:
            return CommandResult('No matching users were found', return_code=1)

        table = PrettyTable(['Name', 'Username', 'Email Address', 'Time Zone'])
        table.align = 'l'
        for user in users:
            table.add_row(
                [
                    user.displayName,
                    user.name,
                    user.emailAddress,
                    user.timeZone
                ]
            )

        return CommandResult(unicode(table))