使用 api 获取自定义字段 ID 时如何使用凭据
How to use credentials when using api to fetch custom field Id
我是新手,还在学习阶段
环境:JIRA 服务器。
我尝试编写这个简单的程序来使用 Python 获取自定义字段 ID。
代码:
import requests
def custom_fields():
响应 = requests.get("https://"JIRA URL"/rest/api/2/field")
# # To test the response is working you need to get an output : 200
# print(response)
#
# # This will give you the output in String
# print(response.text)
# print(type(response.text))
#
# If you want to get the output in json format then try the following which will give you the output in list format.
#
# print (response.json())
# print(type(response.json()))
my_fields = response.json()
for field in my_fields:
print(" Field Name : {} Field Id : {}".format(field['name'], field['id']))
custom_fields()
并获得示例输出为:
字段名称:关键字段 ID:issuekey
字段名称:花费的时间字段 ID:timespent
字段名称:原始估算字段 ID:timeoriginalestimate
字段名称:项目字段 ID:项目
字段名称:Σ 花费的时间字段 ID:aggregatetimespent
我相信这是因为我没有在代码中使用凭据进行身份验证。我尝试遵循 link https://developer.atlassian.com/server/jira/platform/basic-authentication/ 并尝试将变量更新为
response = requests.get ("curl -u username:password -X GET -H 'Content-Type: application/json' https://"JIRA URL"/rest/api/2/field")
出现错误。
“找不到 {!r} 的连接适配器”.format(url))
requests.exceptions.InvalidSchema: 找不到连接适配器“curl -u username:password -X GET -H 'Content-Type: application/json' https://”JIR URL”rest/api/2/field"
你能指导我吗
问候
亚拉文·维斯瓦纳坦
header ={"Accept':'application/json",'authorization':f'Bearer {token}'}
response=request.get("{link}",headers=header)
print(response.json())
我想这可能对你有帮助。
是的,你完全正确。您错过了向 API 端点发送请求的身份验证。
可以通过两种方式完成:
- 使用基本身份验证
headers = {
'Authorization': '<Basic Auth Token>',
'Content-Type': 'application/json',
}
response = requests.request("GET", JIRA_ENDPOINT, headers=headers)
- 使用基于 JIRA 令牌的身份验证
auth = HTTPBasicAuth("demo_email@demo.com", "<JIRA_api_token>")
headers = {
"Accept": "application/json"
}
response = requests.request(
"GET",
url,
headers=headers,
auth=auth
)
更多详情,你可以随时参考他们的documentation
我是新手,还在学习阶段
环境:JIRA 服务器。
我尝试编写这个简单的程序来使用 Python 获取自定义字段 ID。
代码:
import requests
def custom_fields(): 响应 = requests.get("https://"JIRA URL"/rest/api/2/field")
# # To test the response is working you need to get an output : 200
# print(response)
#
# # This will give you the output in String
# print(response.text)
# print(type(response.text))
#
# If you want to get the output in json format then try the following which will give you the output in list format.
#
# print (response.json())
# print(type(response.json()))
my_fields = response.json()
for field in my_fields:
print(" Field Name : {} Field Id : {}".format(field['name'], field['id']))
custom_fields()
并获得示例输出为:
字段名称:关键字段 ID:issuekey 字段名称:花费的时间字段 ID:timespent 字段名称:原始估算字段 ID:timeoriginalestimate 字段名称:项目字段 ID:项目 字段名称:Σ 花费的时间字段 ID:aggregatetimespent
我相信这是因为我没有在代码中使用凭据进行身份验证。我尝试遵循 link https://developer.atlassian.com/server/jira/platform/basic-authentication/ 并尝试将变量更新为
response = requests.get ("curl -u username:password -X GET -H 'Content-Type: application/json' https://"JIRA URL"/rest/api/2/field")
出现错误。
“找不到 {!r} 的连接适配器”.format(url)) requests.exceptions.InvalidSchema: 找不到连接适配器“curl -u username:password -X GET -H 'Content-Type: application/json' https://”JIR URL”rest/api/2/field"
你能指导我吗
问候 亚拉文·维斯瓦纳坦
header ={"Accept':'application/json",'authorization':f'Bearer {token}'}
response=request.get("{link}",headers=header)
print(response.json())
我想这可能对你有帮助。
是的,你完全正确。您错过了向 API 端点发送请求的身份验证。
可以通过两种方式完成:
- 使用基本身份验证
headers = {
'Authorization': '<Basic Auth Token>',
'Content-Type': 'application/json',
}
response = requests.request("GET", JIRA_ENDPOINT, headers=headers)
- 使用基于 JIRA 令牌的身份验证
auth = HTTPBasicAuth("demo_email@demo.com", "<JIRA_api_token>")
headers = {
"Accept": "application/json"
}
response = requests.request(
"GET",
url,
headers=headers,
auth=auth
)
更多详情,你可以随时参考他们的documentation