跳过正文
  1. Posts/

使用 REST API 更新 Jira Server 账号头像

·215 字·1 分钟· ·
沈显鹏
作者
沈显鹏
DevOps & Build 工程师 | Python 爱好者 | 开源贡献者
目录

背景
#

在 CI/CD 中使用 Jira Server 账号(例如 robot)时,如果希望该账号在 Jira 中的头像更专业,但该账号无法登录 Jira GUI,就需要通过 REST API 更新头像。

以下提供 PythonPostman 两种示例。


Python 示例
#

import http.client

conn = http.client.HTTPSConnection("jira.your-company.com")

payload = """{
    "id": "24880",
    "isSelected": false,
    "isSystemAvatar": true,
    "urls": {
        "16x16": "https://jira.your-company.com/secure/useravatar?size=xsmall&avatarId=24880",
        "24x24": "https://jira.your-company.com/secure/useravatar?size=small&avatarId=24880",
        "32x32": "https://jira.your-company.com/secure/useravatar?size=medium&avatarId=24880",
        "48x48": "https://jira.your-company.com/secure/useravatar?avatarId=24880"
    }
}"""

headers = {
    "content-type": "application/json",
    "authorization": "Basic Ymx3bXY6SzhNcnk5ZGI=",  # Base64(username:password)
    "cache-control": "no-cache"
}

conn.request("PUT", "/rest/api/latest/user/avatar?username=robot", payload, headers)
res = conn.getresponse()
print(res.read().decode("utf-8"))

Postman 示例
#

URL & Method

PUT https://jira.your-company.com/rest/api/latest/user/avatar?username=robot

Authorization

  • Type: Basic Auth
  • Username: server-account-username
  • Password: server-account-password

Body

{
  "id": "24880",
  "isSelected": false,
  "isSystemAvatar": true,
  "urls": {
    "16x16": "https://jira.your-company.com/secure/useravatar?size=xsmall&avatarId=24880",
    "24x24": "https://jira.your-company.com/secure/useravatar?size=small&avatarId=24880",
    "32x32": "https://jira.your-company.com/secure/useravatar?size=medium&avatarId=24880",
    "48x48": "https://jira.your-company.com/secure/useravatar?avatarId=24880"
  }
}

如何获取 avatar ID
#

  1. 进入 Jira 个人资料页面。
  2. 在头像选择界面右键查看图片地址。
  3. URL 中的 avatarId 参数即为头像 ID。

示例: https://jira.your-company.com/secure/useravatar?avatarId=24880

find avatar id

相关文章