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

如何通过Jira插件Tempo REST API(v4)获取成员邮箱?

解决Tempo API无法获取成员邮箱的问题

问题背景

Tempo REST API(Jira插件)无法直接返回成员邮箱,仅能返回指向Jira参与者信息的URL,且该URL仅管理员账号可见邮箱内容。

可行解决方案

方案1:通过Jira REST API补充获取邮箱

利用Tempo返回的用户accountId(Jira用户唯一标识),调用Jira API查询完整用户信息以获取邮箱,步骤如下:

  • 确保授权令牌拥有Jira API的read:user:jira权限
  • 从Tempo API返回的用户数据中提取accountId
  • 调用Jira的/rest/api/3/user?accountId={accountId}接口,响应结果中的emailAddress字段即为邮箱

方案2:提升账号权限(谨慎使用)

将调用API的账号升级为Jira管理员权限,直接访问Tempo返回的参与者URL即可获取邮箱,但此方案会带来权限过大的安全风险,仅适合内部管理场景。

代码示例(结合Jira API获取邮箱)

import os
import requests
from dotenv import load_dotenv
from tempoapiclient import client_v4

load_dotenv()

# Tempo 配置
AUTH_TOKEN = os.environ.get('AUTH_TOKEN')
tempo_client = client_v4.Tempo(auth_token=AUTH_TOKEN)

# Jira API 配置(替换为你的Jira域名)
BASE_URL_JIRA = 'https://your-jira-domain.atlassian.net'

def get_user_email(account_id):
    """通过Jira API获取用户邮箱"""
    url = f"{BASE_URL_JIRA}/rest/api/3/user?accountId={account_id}"
    headers = {'Authorization': f'Bearer {AUTH_TOKEN}'}
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        return response.json().get('emailAddress')
    return None

# 示例:获取团队成员并补充邮箱(替换为你的团队ID)
team_members = tempo_client.get_team_members(team_id=123)
for member in team_members:
    user_info = member['user']
    email = get_user_email(user_info['accountId'])
    print(f"用户: {user_info['displayName']}, 邮箱: {email}")

注意事项

  • 调用Jira API需确认令牌权限覆盖用户信息读取
  • 云版Jira需确保账号已配置正确的API访问权限
  • 遵守Atlassian的API速率限制,避免频繁请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:25:46