首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 JIRA API 更新用户头像 原

使用 JIRA API 更新用户头像 原

作者头像
donghui
发布2019-04-19 15:33:57
1.6K0
发布2019-04-19 15:33:57
举报

使用 JIRA API 更新用户头像

实现方式:使用python-jira 依赖安装:pip install jira pillow

查阅源码:

从python代码中可以看出,上传头像的相关方法为:

  1. create_temp_user_avatar  这个返回一系列裁剪属性
  2. confirm_user_avatar 这个返回头像id
  3. set_user_avatar 无返回

其中上一个方法的输出,会作为下一个方法的参数

遇到的问题:头像上传被裁剪,导致头像不完整

这个应该是遇到的最大的问题,通过查阅资料(过程是曲折的)得知,头像大小为48*48时,可以跳过裁剪,于是在调整了头像的宽和高为48后再进行上传,此种方式经验证头像上传后保持完整(内心欢喜)

提示:头像上传不是幂等的,会生成临时头像以做选择,不建议批量更换头像频繁执行,我这里执行了一次

python代码demo如下:

# coding:utf-8
import os
from jira import JIRA
from PIL import Image

# get jira server
auth_jira = JIRA(server='http://jira.xxx.com', basic_auth=('jira_admin', 'jira_passwd'))

username = "jira_user"
user_avatar_path = "D:\\jira_user.jpg"

# resize avatar so that can skip crop
pri_image = Image.open(user_avatar_path)
pri_image.resize((48, 48), Image.ANTIALIAS).save(user_avatar_path)

user_avatar_file_object = open(user_avatar_path, "rb")
size = os.path.getsize(user_avatar_path)

# create_temp_user_avatar
create_temp_user_avatar_response = auth_jira.create_temp_user_avatar(user=username,filename=user_avatar_path,contentType="image/jpeg", size=size, avatar_img=user_avatar_file_object)
avatar_id = create_temp_user_avatar_response["id"]

# set_user_avatar
auth_jira.set_user_avatar(username, avatar_id)

参考文档: https://jira.readthedocs.io/en/master/api.html https://docs.atlassian.com/DAC/rest/jira/6.1.html https://community.atlassian.com/t5/Answers-Developer-Questions/Avatar-upload-with-Jira-5-REST-API/qaq-p/475376

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/07/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档