コード例 #1
0
    release_date = datetime_m.datetime.strptime(sys.argv[2], '%Y-%m-%d')
else:
    versions = client.getVersions(auth, project_name)
    release_date = None
    for v in versions:
        if v.name == version:
            release_date = jira.to_datetime(*v.releaseDate)
            break
    if not release_date:
        print "Can not find version", version
        exit(1)

print "Release date:", release_date

issues = client.getIssuesFromJqlSearch(auth, 'project = %s and fixVersion = %s' % (project_name, version),
    jira.int_arg(1000))

print "Worklogs done after sprint is finished:"

stats = {}
for issue in issues:
    worklogs = client.getWorklogs(auth, issue.key)
    for l in worklogs:
        if l.author not in stats:
            stats[l.author] = 0
        wl_time = jira.to_datetime(*l.created)
        if wl_time > release_date:
            print "Issue: ", issue
            print "Worklog: ", l
        if wl_time <= release_date or len(sys.argv) < 3:
            stats[l.author] += l.timeSpentInSeconds
コード例 #2
0
class IssueStat(object):
    def __init__(self, issue):
        self.issue = issue
        self.time_spent = 0

    def log_work(self, worklog):
        self.time_spent += worklog.timeSpentInSeconds

    def issue_num(self):
        return int(self.issue.key.split("-")[1])


issues_hierarchy = build_tasks_hierarchy()
issues = client.getIssuesFromJqlSearch(
    auth, "project = %s and fixVersion = %s" % (project_name, version), jira.int_arg(1000)
)

stats = {}
for issue in issues:
    top_level_issue = get_top_level_issue(issue)

    if not top_level_issue.key in stats:
        s = IssueStat(top_level_issue)
        stats[top_level_issue.key] = s
    else:
        s = stats[top_level_issue.key]

    worklogs = client.getWorklogs(auth, issue.key)
    for l in worklogs:
        s.log_work(l)