以编程方式获取所有与史诗相关的故事

问题描述 投票:0回答:2

有人可以帮我解决这个请求吗?

我正在尝试使用atlassian python api 和rest api 列出与史诗相关的所有任务。不幸的是我无法做到这一点。有人有一段可用的代码吗?

我试过这个:

jira = Jira(url=os.getenv('JIRA_URL'), username=os.getenv('JIRA_USERNAME'), password=os.getenv('JIRA_PASSWORD'),
            cloud=True)
jira.get_issues_for_epic(board_id = 1, epic_id = epic_key)

但我收到 400 http 错误

引发HTTPError(http_error_msg,response=self)

requests.exceptions.HTTPError:400 客户端错误:错误的 url 请求:

我什至尝试使用rest api进行搜索但不起作用。

jira jira-rest-api python-jira
2个回答
0
投票

我没有使用 python api,但我在你的模拟示例中看到你指定的:

epic_id = epic_key

要小心,就像在 Jira REST API 中一样这两个概念并不相同 - 问题的 ID 是数字标识符,而键是字符串(通常是您在 UI 中看到的问题 ID)。


0
投票

无论如何,我无法使用 atlassian-python api 获得解决方案。但我能够使用其余的 api 端点来搜索史诗密钥并取回项目。

import requests
from requests.auth import HTTPBasicAuth
from dotenv import load_dotenv


def issues_in_epic(epic_key: str):
    load_dotenv()
    JIRA_URL = os.getenv('JIRA_URL')
    JIRA_USERNAME = os.getenv('JIRA_USERNAME')
    JIRA_PASSWORD = os.getenv('JIRA_PASSWORD')
    url = f'{JIRA_URL}/rest/api/3/search'

    auth = HTTPBasicAuth(JIRA_USERNAME, JIRA_PASSWORD)

    headers = {
        "Accept": "application/json"
    }

    query = {
        'jql': f'Parent = {epic_key}'
    }
    response = requests.request(
        "GET",
        url,
        headers=headers,
        params=query,
        auth=auth
    )
    response_json = response.json()
    response_json_issues = response_json['issues']

我们可以循环response_json['issues']来获取各个问题的详细信息

© www.soinside.com 2019 - 2024. All rights reserved.