createProjectAvatar method

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

Loads an avatar for a project.

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 protected]:<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/project/{projectIdOrKey}/avatar2'

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 projects project permission.

Implementation

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