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

如何通过Basic Auth获取Jira服务台的Agent用户?

用Basic Auth获取Jira服务台Agent用户的可行方案

首先明确回答:完全可以通过Basic Auth实现这个需求,你遇到的curl错误是参数顺序导致的,先帮你解决这个问题,再给出Ruby应用里的实现方案。

一、先修正你的curl命令错误

你之前的命令里参数顺序不对,-D -(打印响应头)放在了-u(认证参数)前面,导致curl把-u当成了文件名参数,从而报错。正确的命令应该调整参数顺序,同时建议把URL用双引号括起来避免特殊字符解析问题:

curl -u YOUR_EMAIL:YOUR_API_TOKEN -D - -X GET -H "Content-Type: application/json" "https://company_name.atlassian.net/rest/api/2/user/assignable/search?project=SERVICEDESK"

⚠️ 注意:如果是Atlassian云版Jira,现在已经不支持直接用账号密码做Basic Auth了,你需要用注册邮箱+API Token作为认证凭据。API Token可以在Atlassian账号设置里生成。

二、更精准的服务台Agent接口

如果你的目标是专门获取服务台的Agent用户,Jira Service Desk有专用的API接口,比通用的用户搜索接口更准确,返回的就是该服务台的所有Agent:

curl -u YOUR_EMAIL:YOUR_API_TOKEN -D - -X GET -H "Content-Type: application/json" "https://company_name.atlassian.net/rest/servicedeskapi/agent"

三、Ruby应用中的实现示例

下面用Ruby标准库Net::HTTP实现Basic Auth调用服务台Agent接口,你可以直接参考:

require 'net/http'
require 'uri'
require 'json'

# 配置参数
jira_domain = 'company_name.atlassian.net'
email = 'your_jira_email@example.com'
api_token = 'your_generated_api_token'

# 构建请求URI(用服务台专用Agent接口)
uri = URI("https://#{jira_domain}/rest/servicedeskapi/agent")

# 初始化HTTP客户端
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

# 构建GET请求并设置Basic Auth
request = Net::HTTP::Get.new(uri)
request.basic_auth(email, api_token)
request['Content-Type'] = 'application/json'

# 发送请求并处理响应
response = http.request(request)

if response.is_a?(Net::HTTPSuccess)
  # 解析返回的Agent用户列表
  service_desk_agents = JSON.parse(response.body)
  puts "获取到的服务台Agent:"
  service_desk_agents.each do |agent|
    puts "姓名:#{agent['displayName']},邮箱:#{agent['emailAddress']}"
  end
else
  # 处理错误响应
  puts "请求失败:#{response.code} - #{response.message}"
  puts "错误详情:#{JSON.pretty_generate(JSON.parse(response.body))}"
end

四、关键注意事项

  • 权限验证:确保你的账号拥有Jira Service Desk的Agent权限,或者至少有访问服务台Agent列表的权限,否则会返回权限不足的错误。
  • API Token替代密码:云版Jira必须用API Token,本地部署的Jira可以使用账号密码(但也推荐用Token更安全)。
  • 接口选择:如果用通用的assignable/search接口,返回的是可分配任务的用户,你需要额外过滤status为ServiceDesk的用户;而专用的/rest/servicedeskapi/agent接口直接返回Agent,无需过滤,更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 12:08:11