示例#1
0
def parse_kardboard_output(csv_filename):
    reader = csv.DictReader(open(csv_filename))
    for row in reader:

        try:
            k = Kard.objects.get(key=row['key'])
        except Kard.DoesNotExist:
            k = Kard()

        try:
            k.category = row['category']
            k.backlog_date = parse_date(row['backlog_date'])
            k.start_date = parse_date(row['start_date'])
            k.done_date = parse_date(row['done_date'])
            k.key = row['key']
            k.title = row['title']
            k.state = row['state']
            if k.state == "Unknown":
                k.state = "Done"
            k.save()
        except Exception, e:
            print "Error reported!"
            print row
            print str(e)
            print "============="
            print
            print
示例#2
0
def parse_google_output(csv_filename):
    reader = csv.DictReader(open(csv_filename))
    for row in reader:

        try:
            k = Kard.objects.get(key=row['Ticket'])
        except Kard.DoesNotExist:
            k = Kard()

        try:
            k.category = row['Category']
            k.backlog_date = parse_date(row['Backlog Date'])
            k.start_date = parse_date(row['Start Date'])
            k.done_date = parse_date(row['Done Date'])
            k.key = row['Ticket']
            k.title = row['Card title']
            k.shirt_size = row['Shirt Size']
            k.save()
        except Exception, e:
            print "Error reported!"
            print row
            print str(e)
            print "============="
            print
            print
示例#3
0
def jira_add_team_cards(team, filter_id):
    from kardboard.tickethelpers import JIRAHelper
    from kardboard.models import States
    from kardboard.app import app

    statsd_conn = app.statsd.get_client('tasks.jira_add_team_cards')

    counter = statsd_conn.get_client(class_=statsd.Counter)
    total_timer = statsd_conn.get_client(class_=statsd.Timer)
    total_timer.start()

    logger = jira_add_team_cards.get_logger()
    logger.info("JIRA BACKLOG SYNC %s: %s" % (team, filter_id))
    states = States()
    helper = JIRAHelper(app.config, None)
    issues = helper.service.getIssuesFromFilter(helper.auth, filter_id)
    for issue in issues:
        if Kard.objects.filter(key=issue.key):
            # Card exists, pass
            pass
        else:
            logger.info("JIRA BACKLOGGING %s: %s" % (team, issue.key))
            defaults = {
                'key': issue.key,
                'title': issue.summary,
                'backlog_date': datetime.datetime.now(),
                'team': team,
                'state': states.backlog,
            }
            c = Kard(**defaults)
            c.ticket_system.actually_update(issue)
            c.save()
            counter += 1

    total_timer.stop()
示例#4
0
def card_add():
    f = _init_new_card_form(request.values)
    card = Kard()
    f.populate_obj(card)

    if request.method == "POST":
        if f.key.data and not f.title.data:
            try:
                f.title.data = card.ticket_system.get_title(key=f.key.data)
            except Exception, e:
                log_exception(e, "Error getting card title via helper")
                pass

        if f.validate():
            # Repopulate now that some data may have come from the ticket
            # helper above
            f.populate_obj(card)
            card.save()
            flash("Card %s successfully added" % card.key)
            return redirect(url_for("card", key=card.key))