有人可以帮我解决这个请求吗?
我正在尝试使用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进行搜索但不起作用。
我没有使用 python api,但我在你的模拟示例中看到你指定的:
epic_id = epic_key
要小心,就像在 Jira REST API 中一样这两个概念并不相同 - 问题的 ID 是数字标识符,而键是字符串(通常是您在 UI 中看到的问题 ID)。
无论如何,我无法使用 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']来获取各个问题的详细信息