首页 > 解决方案 > 如何使用 Python API 获取 JIRA 票证的创建和更新状态?

问题描述

我正在尝试从 JIRA 的票证中获取createdupdated值。

我可以使用以下代码段(URL 和凭据已编辑)来解决问题:

from atlassian import Jira
import pandas as pd
import time
import glob


jira = Jira(
    url = "",
    username = "",
    password = "",
)

projects = ["PR1", "PR2", "PR3"]
FIELDS_OF_INTEREST = ["key", "fields.summary", "fields.status.name"]
timestamp = time.strftime("%Y%m%d-%H%M%S")
csv_folder = "./csvs/"
file_ending = ".csv"


for key in projects:
    output = csv_folder + key + timestamp + file_ending

    print(f"Currently processing: {key}")
    results = jira.jql(f"project = {key}", limit = 1000, fields=["issuetype", "status", "summary"])
    df = pd.json_normalize(results["issues"])
    df[FIELDS_OF_INTEREST].to_csv(output, index=False)

返回的对象,即使没有FIELDS_OF_INTEREST应用,也不包含时间戳。要获得我需要传入的时间戳expand=changelog。但是当我这样做时,我不再得到我正在寻找的相同结构。createdupdated信息是可用的。

以下片段是我目前正在尝试提取时间戳的片段(URL 和凭据已编辑):

from atlassian import Jira
import pandas as pd
import time
import glob


jira = Jira(
    url = "",
    username = "",
    password = "",
)


projects = ["PR1", "PR2", "PR3"]

for key in projects:
    issues = jira.jql(f"project=  {key}", limit = 5, expand='changelog')
    df = pd.json_normalize(issues)
    df.to_csv("changelog.csv", index=False)

我不确定我是否做得对。我很想知道如何提取这些数据点。

我无法在以下位置找到任何示例:https ://github.com/atlassian-api/atlassian-python-api/tree/master/examples/jira或文档中。

任何帮助表示赞赏!

标签: pythonjiraatlassian-python-api

解决方案


您必须进行更多检查才能获得您正在寻找的实际日期和时间戳

最相关的示例可能来自ReportGenerator

在 JQL 中,created被添加到fields列表中,并且更改日志被扩展。请参阅本节

之后,在主执行中,检查历史记录的更改/及其日期,并发出


推荐阅读