已实现Python调用JIRA获取全部问题,如何仅获取新建问题?
如何用Python的JIRA库仅获取新建问题?
嘿,很高兴看到你已经能成功拉取JIRA项目的问题列表了!要筛选出新建状态的问题,核心是调整JQL查询语句——毕竟JIRA的搜索全靠JQL来精准过滤。
下面给你一步步拆解解决方案:
1. 确认项目里“新建”对应的状态名称
不同JIRA项目的状态命名可能不一样,有的叫「新建」(中文项目),有的叫「Open」「To Do」(英文项目)。你可以:
- 直接在JIRA网页的高级搜索里试写JQL,找到能匹配新建问题的状态值;
- 或者用代码先拉取所有状态列表,找到对应项:
# 临时运行这段代码查看所有状态 statuses = jira.statuses() for status in statuses: print(f"状态ID: {status.id}, 状态名称: {status.name}")
2. 调整JQL查询语句
把状态条件加入你的JQL,还可以结合时间范围进一步缩小范围(比如只拉最近24小时内新建的):
- 仅筛选新建状态:
project=JA AND status="新建"(把"新建"换成你项目里的实际状态名) - 加时间过滤(最近1天内新建):
project=JA AND status="新建" AND created >= -1d
时间参数可以灵活替换:-1w(过去一周)、-2h(过去两小时)、"2024-05-01"(指定日期之后)
3. 修改你的现有代码
把原来的'project=JA'替换成新的JQL即可,完整示例如下:
from jira import JIRA jira = JIRA(basic_auth=('username', 'password'), options={'server':'https://MY_JIRA.atlassian.net'}) got = 50 total = 0 # 根据你的需求调整JQL jql_query = 'project=JA AND status="新建" AND created >= -1d' while got == 50: issues = jira.search_issues(jql_query, startAt=total) # 这里处理你的新建问题,比如打印关键信息 for issue in issues: print(f"问题Key: {issue.key}, 标题: {issue.fields.summary}, 创建时间: {issue.fields.created}") got = len(issues) total += got
小提示:如果JQL里的状态名称有空格或特殊字符,记得用双引号包裹起来哦!
内容的提问来源于stack exchange,提问作者PythonP
相关产品推荐
相关产品推荐

