首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动月报Python-Jira

自动月报Python-Jira
EN

Stack Overflow用户
提问于 2020-04-01 11:06:47
回答 1查看 338关注 0票数 0

一个小小的请求。我是Python和Jira的三年级学生,但我想学习:)我有一个同事的代码,它离开了公司,用于自动报告过去12个月发生的事件数量!我想要的是2020年自动月度报告的事件数量。下面你可以找到密码。我需要改变什么?THX!

代码语言:javascript
复制
#!/usr/bin/python3
import requests
from datetime import date
import datetime
import calendar
from utils import jira_utils, table_utils


# Method section

DEFAULT_NUMBER_OF_MONTHS= 12

def create_data_table(month):
    header_row = table_utils.create_start_of_data_table_monthly_report(DEFAULT_NUMBER_OF_MONTHS)
    data_rows=create_data_row('P1', month)
    data_rows+=create_data_row('P2', month)
    data_rows+=create_data_row('P3', month)

    #data_rows+=create_data_row('P1, P2, P3', month)
    end_of_table = table_utils.end_table()
    return header_row + data_rows + end_of_table

def create_data_row(priority, month):
    data_row='<tr><th>' + priority + '</th>'
    for i in range (-1*DEFAULT_NUMBER_OF_MONTHS, 0, 1):
        if month:
            time_frame=table_utils.define_time_range_for_monthly_report(i)
        else:
            time_frame=table_utils.define_time_range_for_weekly_report(i)
        row_value = calculate_total_from_jira(priority, time_frame)
        data_cell='<td><p>'+str(row_value)+'</p></td>'
        data_row+=data_cell
    data_row+='</tr>'
    return data_row

def calculate_total_from_jira(priority, time_frame):
    jql_search = calculate_jira_query(time_frame, priority)
    # Authenticate on Jira REST API and fetch results for reporting period
    resp=jira_utils.query_jsd(jql_search)
    return resp['total']

def calculate_jira_query(time_frame, priority):
    start_day = time_frame['repstart']
    end_day = time_frame['repend']
    #print(start_day.strftime('%Y-%m-%d 00:00'))
    #print(end_day.strftime('%Y-%m-%d 23:59'))
    jira_query='{"jql": "project = SM AND issuetype=Incident AND createdDate >= '+ start_day+' AND createdDate <= \\\"'+ end_day +'\\\" AND priority IN ('+priority+') AND resolution NOT IN (Duplicate, Rejected) ORDER BY issuekey","startAt":0, "maxResults":1000, "fields":["total"]}'
    #print(jira_query)
    return jira_query

def number_of_incidents(month):
    data_table = create_data_table(month)
    return data_table
EN

回答 1

Stack Overflow用户

发布于 2020-04-01 13:59:08

好的,当我说: int(datetime.datetime.today().strftime("%m"))-1 DEFAULT_NUMBER_OF_MONTHS=时,我收到了2020年的正确数据。问题将出现在2020年的decmber身上。我会在我的报告上得到“没有数据”。

如何在此部分中添加范围1,13 :i in范围(-1*DEFAULT_NUMBER_OF_MONTHS,0,1):

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60969467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档