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

如何通过JIRA REST API为issue添加Flag标记并解决字段无法设置问题

核心问题原因

你之前调用通用issue更新接口失败,是因为该接口要求操作字段必须配置在issue编辑屏幕上,overrideScreenSecurity参数仅管理员账号调用时生效,普通用户使用无效果。而Flagged作为敏捷看板专属功能,有专门的普通用户可调用的API接口,无需管理员权限即可操作。

解决方案

方法1:使用Jira敏捷API专属标记端点(适用Jira Cloud/Server 7.0+版本)

该接口对应用户在看板/待办视图右键标记issue的操作,普通用户默认拥有调用权限,无需修改屏幕配置:

  • 标记issue为阻碍(设置Flagged值为Impediment)
    请求方法:POST
    请求地址:https://<domain>/rest/agile/1.0/issue/<issuekey>/flag
    请求体示例:
    {
      "flag": true,
      "comment": "可选,添加标记备注"
    }
    
  • 取消issue标记
    请求方法和地址同上,仅需将请求体中的flag值改为false即可。

方法2:旧版本Jira Server/Data Center适配(适用7.0以下版本)

如果是旧版本Jira,使用GreenHopper插件对应的接口即可:

  • 标记为阻碍:POST请求 https://<domain>/rest/greenhopper/1.0/impediment/<issuekey>
  • 取消标记:DELETE请求 https://<domain>/rest/greenhopper/1.0/impediment/<issuekey>
Python调用示例

你可以直接使用requests库调用上述接口,参考代码如下:

import requests

# 替换为你的实际配置
JIRA_DOMAIN = "your-jira-domain.com"
ISSUE_KEY = "TEST-123"
AUTH_EMAIL = "your-login-email@example.com"
API_TOKEN = "your-jira-api-token"

# 标记issue请求
url = f"https://{JIRA_DOMAIN}/rest/agile/1.0/issue/{ISSUE_KEY}/flag"
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json"
}
payload = {"flag": True}

response = requests.post(
    url,
    headers=headers,
    json=payload,
    auth=(AUTH_EMAIL, API_TOKEN)
)

# 校验结果
if response.status_code == 200:
    print("标记成功")
else:
    print(f"标记失败,错误信息:{response.text}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:45:03