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

.NET6下Atlassian.Jira 13.0.0 GDPR模式用户功能异常使用咨询

问题原因

Atlassian.Jira 13.0.0本身已经完成GDPR严格模式适配,出现400报错、直接传AccountId不生效、用户搜索调用失败的核心原因是SDK默认未开启GDPR模式:底层请求仍会携带已被废弃的username参数,且旧方法重载默认按用户名逻辑解析传入值,传入的AccountId会被误识别为用户名,自然无法生效。

解决步骤
  • 初始化Jira客户端时开启GDPR模式配置
    这是最核心的配置项,开启后SDK会自动切换所有接口的传参逻辑,不再携带username参数,全部改用accountId作为用户唯一标识:
    var jiraClient = Jira.CreateRestClient(
        "你的Jira实例地址",
        "登录账号邮箱",
        "你的API Token",
        new JiraRestClientSettings
        {
            EnableGdprMode = true
        });
    
  • 创建Issue时正确指定报告人/指派人
    不要使用直接传用户名字符串的旧方法重载,传入只赋值AccountId属性的JiraUser对象即可:
    var issue = jiraClient.CreateIssue("目标项目Key");
    issue.Summary = "Issue标题";
    issue.Description = "Issue描述";
    // 指定报告人
    issue.Reporter = new JiraUser { AccountId = "报告人对应的AccountId" };
    // 指定指派人
    issue.Assignee = new JiraUser { AccountId = "指派人对应的AccountId" };
    // 保存Issue
    string issueKey = await issue.SaveAsync();
    
  • 用户搜索/查询的正确调用方式
    开启GDPR模式后,调用用户相关接口时不要传入username相关参数,使用对应支持AccountId/搜索关键词的重载:
    // 直接根据AccountId获取用户信息
    var targetUser = await jiraClient.Users.GetUserAsync(accountId: "目标用户AccountId");
    // 按姓名/邮箱关键词搜索用户
    var matchedUsers = await jiraClient.Users.SearchUsersAsync("搜索关键词", startAt: 0, maxResults: 20);
    
注意事项
  • 不需要更换SDK,13.0.0版本的GDPR适配逻辑已经覆盖Issue创建、用户查询等核心场景,按上述配置即可正常使用。
  • 如果项目内有自行封装的Jira请求逻辑,需要检查是否手动拼接了username参数,这类自定义逻辑需要同步修改为传accountId。
  • 返回The query parameter 'username' is not supported in GDPR strict mode.的400错误,就是未开启GDPR模式时SDK自动在请求里拼接了username参数触发的,开启配置后该问题会直接消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 07:27:17