diff --git a/src/main/java/org/hibernate/infra/replicate/jira/service/jira/handler/JiraIssueAbstractEventHandler.java b/src/main/java/org/hibernate/infra/replicate/jira/service/jira/handler/JiraIssueAbstractEventHandler.java index 9e2c4d3..b6c641f 100644 --- a/src/main/java/org/hibernate/infra/replicate/jira/service/jira/handler/JiraIssueAbstractEventHandler.java +++ b/src/main/java/org/hibernate/infra/replicate/jira/service/jira/handler/JiraIssueAbstractEventHandler.java @@ -121,6 +121,11 @@ protected JiraIssue issueToCreate(JiraIssue sourceIssue) { if (sourceIssue.fields.assignee != null) { destinationIssue.fields.assignee = user(sourceIssue.fields.assignee).map(this::toUser) .orElseGet(context::notMappedAssignee); + } else { + // Because not sending an assignee just does not update it: + // See also + // https://confluence.atlassian.com/jirakb/how-to-set-assignee-to-unassigned-via-rest-api-in-jira-744721880.html + destinationIssue.fields.assignee = JiraUser.unassigned(context.projectGroup().users().mappedPropertyName()); } return destinationIssue; diff --git a/src/main/java/org/hibernate/infra/replicate/jira/service/jira/model/rest/JiraUser.java b/src/main/java/org/hibernate/infra/replicate/jira/service/jira/model/rest/JiraUser.java index a68b9d6..0994301 100644 --- a/src/main/java/org/hibernate/infra/replicate/jira/service/jira/model/rest/JiraUser.java +++ b/src/main/java/org/hibernate/infra/replicate/jira/service/jira/model/rest/JiraUser.java @@ -21,4 +21,8 @@ public JiraUser(String propertyName, String value) { properties().put(propertyName, value); } } + + public static JiraUser unassigned(String propertyName) { + return new JiraUser(propertyName, null); + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 28a69e8..11f490a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,6 +2,9 @@ # # So that we have /api prefix in all our REST paths: quarkus.rest.path=/api +# Enable access logs, in particular to see if web hook is triggered: +quarkus.http.access-log.enabled=true +quarkus.log.category."io.quarkus.http.access-log".level=INFO # Management endpoints: quarkus.management.enabled=true quarkus.management.auth.basic=true