storeAvatar method

Future<Avatar> storeAvatar({
  1. required String type,
  2. required String entityId,
  3. int? x,
  4. int? y,
  5. required int size,
  6. required dynamic body,
})

Loads a custom avatar for a project or issue type.

Specify the avatar's local file location in the body of the request. Also, include the following headers:

  • X-Atlassian-Token: no-check To prevent XSRF protection blocking the request, for more information see Special Headers.
  • Content-Type: image/image type Valid image types are JPEG, GIF, or PNG.

For example: curl --request POST

--user email@example.com:<api_token>

--header 'X-Atlassian-Token: no-check'

--header 'Content-Type: image/< image_type>'

--data-binary "<@/path/to/file/with/your/avatar>"

--url 'https://your-domain.atlassian.net/rest/api/3/universal_avatar/type/{type}/owner/{entityId}'

The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.

The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.

After creating the avatar use:

Set project avatar to set it as the project's displayed avatar.

Permissions required: Administer Jira global permission.

Implementation

Future<Avatar> storeAvatar(
    {required String type,
    required String entityId,
    int? x,
    int? y,
    required int size,
    required dynamic body}) async {
  return Avatar.fromJson(await _client.send(
    'post',
    'rest/api/3/universal_avatar/type/{type}/owner/{entityId}',
    pathParameters: {
      'type': type,
      'entityId': entityId,
    },
    queryParameters: {
      if (x != null) 'x': '$x',
      if (y != null) 'y': '$y',
      'size': '$size',
    },
    body: body,
  ));
}