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

使用Jira Asset Management API调用报400错误:activationId未提供求助

解决Jira Asset Management API 400错误:activationId is not provided

问题解析

你遇到的400错误是因为Jira Asset Management(原Insight)的object端点要求必须传入activationId参数——这个ID是你的Assets实例的唯一标识,用于关联请求到对应的Assets工作区实例。

解决步骤

1. 获取activationId

有两种方式获取:

  • 通过Assets界面:登录Jira Cloud后进入Assets模块,点击右上角齿轮图标→选择「Insight设置」(或「Assets设置」),在实例详情板块中找到并复制Activation ID。
  • 通过API查询:调用GET /jsm/assets/workspace/{workspaceId}/v1/instance接口,返回的JSON数据里会包含activationId字段。

2. 修改请求代码

将activationId作为查询参数添加到请求URL中,同时确保workspaceId已替换为实际值。修改后的代码如下:

import requests
import json
import base64

# 替换为你的实际参数
object_id = "<validobjectid>"
workspace_id = "<your-workspace-id>"
activation_id = "<your-activation-id>"
email = "your-email@example.com"
api_token = "your-api-token"

# 正确编码认证信息
encoded_credentials = base64.b64encode(f"{email}:{api_token}".encode()).decode()

url = f"https://api.atlassian.com/jsm/assets/workspace/{workspace_id}/v1/object/{object_id}?activationId={activation_id}"

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

response = requests.get(url, headers=headers)

# 打印格式化后的响应
print(
    json.dumps(
        json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")
    )
)

3. 验证认证正确性

确保encoded_credentials是用「邮箱地址:API Token」的字符串进行Base64编码后的结果,这是Jira Cloud API Basic认证的标准要求。

内容的提问来源于stack exchange,提问作者Rajesh Rajamani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 11:23:19