JIRA 资产管理 API 中的激活 ID

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

我正在使用 Jira Asset Management API,具有以下代码来获取对象。

import requests
import json

id = "<validobjectid>"

url = "https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/object/{id}"

headers = {
    "Accept": "application/json",
    "Authorization": f"Basic {encoded_credentials}",
}

response = requests.request("GET", url, headers=headers)

print(
    json.dumps(
        json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")
    )
)

但是我收到了 400 错误。我正在使用在此方法的安全部分下生成的 API 令牌。

我不确定这个activationID是什么。任何帮助都会有帮助

{ "code": 400, "message": "activationId is not provided" }

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

根据官方文档:

资产 REST API 指南

标准资产 REST API 指南将引导您完成一个工作流程,该工作流程专为希望使用 REST API 完成将数据或数据结构导入资产之外的任务的用户而设计。它遵循使用基本身份验证进行 REST API 调用的正常过程。

此工作流程包括以下步骤:

  1. 使用基本身份验证进行身份验证。
  2. 使用工作区调用来发现您的工作区ID
  3. 将 REST API 与您的工作区 ID 结合使用来进行 REST API 调用。

您的代码中有几个问题

  • workspaceId
    变量未定义,您可以按照官方文档
  • 发现它
  • 您编写网址的方式表明您忘记了引号
    f
    之前的 f 字符串
     
    "

您的代码的更正和测试版本将是

import requests
import json

workspaceId = "<your_workspace_id>"

id = "<validobjectid>"


url = f"https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/object/{id}"

headers = {
    "Accept": "application/json",
    "Authorization": f"Basic {encoded_credentials}",
}

response = requests.request("GET", url, headers=headers)

print(
    json.dumps(
        json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")
    )
)
© www.soinside.com 2019 - 2024. All rights reserved.