使用Python Jira库获取其他用户邮箱失败的解决方法及权限咨询
获取Jira其他用户邮箱的解决方案及权限要求
一、所需权限说明
- 核心权限:必须拥有
Browse users and groups权限(在Jira权限方案的「用户管理」分类下)。这个权限默认仅Jira管理员拥有,需要管理员在权限方案中给你的账号或所属角色分配该权限。 - Cloud版额外设置:Jira管理员需在「用户管理→用户设置」中,确保未开启「隐藏用户邮箱地址」的隐私选项。如果开启该选项,即使有权限也无法获取其他用户的邮箱。
- Server/Data Center版额外设置:检查用户目录配置(如LDAP),确认Jira已同步并允许暴露用户邮箱字段。
二、代码调整方案
1. 优化Python Jira库调用
默认的user()方法可能仅返回基础字段,需显式指定要获取的字段或扩展信息:
from jira import JIRA conn = JIRA( options={"server": "https://example.atlassian.net"}, basic_auth=("my.email@gmail.com", TOKEN), ) # 方式1:指定fields参数直接获取邮箱 user = conn.user(id='another_user_id', fields='emailAddress,displayName') print(user.emailAddress) # 方式2:使用expand参数扩展用户信息 user = conn.user(id='another_user_id', expand='emailAddress') print(user.emailAddress)
2. 直接调用Jira REST API(备用方案)
如果库封装的方法有局限性,可直接调用REST API端点:
response = conn._session.get( f"{conn.options['server']}/rest/api/3/user", params={"accountId": "another_user_id", "fields": "emailAddress"} ) user_data = response.json() print(user_data.get('emailAddress'))
三、排查要点
- 确认你的API Token关联的账号确实拥有
Browse users and groups权限,可通过Jira网页端的「个人权限」页面检查。 - 如果仍提示权限不足,联系Jira管理员核实权限方案和用户隐私设置是否正确配置。
内容的提问来源于stack exchange,提问作者Luís R. Pereira
相关产品推荐
相关产品推荐

