Skip to content

PATCH semantics

PATCH operations need three logical states for nullable fields:

  1. setter not called: omit field;
  2. setter called with a value: send value;
  3. setter called with null: send JSON null.

Example:

var noDescriptionChange = new UpdateProjectRequest()
    .name("Platform");

description is absent.

var clearDescription = new UpdateProjectRequest()
    .description(null);

serializes as:

{"description":null}

The SDK uses internal field maps for PATCH request classes so it does not lose this distinction through ordinary Java null handling.

The same rule applies to nullable fields in board, ticket, and document updates.