You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的requests库替代JIRA.project_versions获取Jira所有版本?

使用requests获取Jira项目的发布版本列表

要替代JIRA.project_versions(id)方法,你可以直接调用Jira REST API的项目版本查询接口,同样支持startAt和maxResults参数实现分页遍历,具体实现如下:

核心实现细节

  • 目标接口:GET /rest/api/2/project/{projectIdOrKey}/versions,其中projectIdOrKey可以是项目ID或项目键(比如项目名My Project的键可能是MP,用键更简洁)
  • 分页逻辑:通过startAt和maxResults参数控制分页,结合响应头的X-Total字段判断总数量,直到获取完所有版本
  • 认证、请求头配置和你之前获取问题数量的代码完全一致

完整代码示例

import requests
from requests.auth import HTTPBasicAuth

# 替换为你的项目键/ID、域名和认证信息
project_identifier = "My\\ Project"
domain = "https://mydomain.atlassian.net"
auth = HTTPBasicAuth(user_details.user, user_details.password)
headers = {"Accept": "application/json"}

all_versions = []
start_at = 0
max_results = 100  # Jira API允许的单页最大数量为100

while True:
    params = {
        "startAt": start_at,
        "maxResults": max_results
    }
    response = requests.request(
        "GET",
        url=f"{domain}/rest/api/2/project/{project_identifier}/versions",
        headers=headers,
        params=params,
        auth=auth
    )

    # 处理请求失败情况
    if response.status_code != 200:
        print(f"请求失败,状态码:{response.status_code},响应内容:{response.text}")
        break

    current_page_versions = response.json()
    all_versions.extend(current_page_versions)

    # 判断是否还有更多版本需要获取
    total_versions = int(response.headers.get("X-Total", 0))
    if start_at + max_results >= total_versions:
        break

    start_at += max_results

# 遍历输出版本信息(可根据需求调整字段)
for version in all_versions:
    print(f"版本名称: {version['name']}, ID: {version['id']}, 状态: {version['status']}, 发布日期: {version.get('releaseDate', '未设置')}")

关键说明

  • 若项目名包含空格,需像示例中那样转义(My\\ Project),或者直接使用项目键(比如MP)避免转义麻烦
  • 返回的版本对象包含name、id、status(可选值:released/unreleased/archived)、releaseDate等字段,可按需提取
  • 接口返回的响应头X-Total会给出版本总数量,用于判断分页是否结束

内容的提问来源于stack exchange,提问作者Conor Lennon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:25:10