diff --git a/issuetracker/src/main/java/org/openjdk/skara/issuetracker/jira/JiraProject.java b/issuetracker/src/main/java/org/openjdk/skara/issuetracker/jira/JiraProject.java index 227d16043..65019a155 100644 --- a/issuetracker/src/main/java/org/openjdk/skara/issuetracker/jira/JiraProject.java +++ b/issuetracker/src/main/java/org/openjdk/skara/issuetracker/jira/JiraProject.java @@ -120,16 +120,20 @@ JiraHost jiraHost() { } private static final Set knownProperties = Set.of("issuetype", "fixVersions", "versions", "priority", "components"); + private static final Set readOnlyProperties = Set.of("resolution"); - boolean isAllowedProperty(String name) { + boolean isAllowedProperty(String name, boolean forWrite) { if (knownProperties.contains(name)) { return true; } + if (!forWrite && readOnlyProperties.contains(name)) { + return true; + } return name.startsWith("customfield_"); } Optional decodeProperty(String name, JSONValue value) { - if (!isAllowedProperty(name)) { + if (!isAllowedProperty(name, false)) { return Optional.empty(); } if (value.isNull()) { @@ -154,7 +158,7 @@ Optional decodeProperty(String name, JSONValue value) { } Optional encodeProperty(String name, JSONValue value) { - if (!isAllowedProperty(name)) { + if (!isAllowedProperty(name, true)) { return Optional.empty(); }