首页 > 解决方案 > 如何使用 python-gitlab 返回并查看所有 Gitlab 的项目问题信息?

问题描述

我正在使用 python-gitlab 访问我的 Gitlab 存储库的数据并通过运行以下命令获取我的所有存储库问题的列表:

project = gl.projects.get(#my_project_id)
issues = project.issues.list()

然后我可以打印此列表以查看列表中有哪些问题。

issues
[<ProjectIssue iid:1>,<ProjectIssue iid:2>...]

我还尝试通过运行以下命令获取特定问题的信息:

issue = project.issues.get(1)     #example for issue 1

但是,我不知道如何访问该特定问题中的所有信息

尝试运行“问题”行时,我得到以下信息,但我看不到该问题的所有属性和信息。我正在寻找应在此处定义的 API 响应中发送的所有信息(例如状态、作者、描述等)。我怎样才能看到这些信息?

issue
<ProjectIssue iid:1>

我知道 python-gitlab 已经定义了一些方法,例如 .time_stats() 来列出我的问题的时间统计信息,但我找不到用于查找该问题的所有信息的方法

[In] issue.time_stats()
[Out] {'time_estimate': 0, 'total_time_spent': 0, 'human_time_estimate': None, 'human_total_time_spent': None}

标签: pythongitlab

解决方案


当您运行project.issues.get(1)它时,它会将 GitLab 问题作为对象(ProjectIssue 类)返回,而不是作为 json 或数组返回。我不熟悉 python-gitlab(并且多年来没有使用过 python),但问题数据很可能作为属性访问:

issue = project.issues.get(1)
description = issue.description
labels = issue.labels

请注意,ProjectIssue 类的某些属性可能是另一个对象。

要获取 ProjectIssue 类的所有属性,您可以执行

issue = project.issues.get(1)
getmembers(issue)

有关更多详细信息,请参阅此答案


推荐阅读