From d6a846f58d7a30831c61754a808d6585dc7c346c Mon Sep 17 00:00:00 2001 From: Anirudh Mathad Date: Wed, 11 Dec 2019 15:25:24 -0800 Subject: [PATCH] Post only non-null values in request body for createTree --- src/main/java/org/kohsuke/github/GHTreeBuilder.java | 4 ++++ .../repos_sandboxx_ghtreebuildertest_git_trees-9-ca5764.json | 2 +- .../repos_sandboxx_ghtreebuildertest_git_trees-7-1c90d0.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/kohsuke/github/GHTreeBuilder.java b/src/main/java/org/kohsuke/github/GHTreeBuilder.java index ed27854b13..0b33f8fbf2 100644 --- a/src/main/java/org/kohsuke/github/GHTreeBuilder.java +++ b/src/main/java/org/kohsuke/github/GHTreeBuilder.java @@ -1,5 +1,7 @@ package org.kohsuke.github; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; @@ -16,8 +18,10 @@ public class GHTreeBuilder { private final List treeEntries = new ArrayList(); + @JsonInclude(Include.NON_NULL) @SuppressFBWarnings("URF_UNREAD_FIELD") private static final class TreeEntry { + private final String path; private final String mode; private final String type; diff --git a/src/test/resources/org/kohsuke/github/GHTreeBuilderTest/wiremock/testAdd/mappings/repos_sandboxx_ghtreebuildertest_git_trees-9-ca5764.json b/src/test/resources/org/kohsuke/github/GHTreeBuilderTest/wiremock/testAdd/mappings/repos_sandboxx_ghtreebuildertest_git_trees-9-ca5764.json index a06c36551e..a57ee72907 100644 --- a/src/test/resources/org/kohsuke/github/GHTreeBuilderTest/wiremock/testAdd/mappings/repos_sandboxx_ghtreebuildertest_git_trees-9-ca5764.json +++ b/src/test/resources/org/kohsuke/github/GHTreeBuilderTest/wiremock/testAdd/mappings/repos_sandboxx_ghtreebuildertest_git_trees-9-ca5764.json @@ -6,7 +6,7 @@ "method": "POST", "bodyPatterns": [ { - "equalToJson": "{\"base_tree\":\"737e00d471104660a7e8177fd5deb58fc46bbbec\",\"tree\":[{\"path\":\"app/run.sh\",\"mode\":\"100755\",\"type\":\"blob\",\"sha\":\"e9ba7ba07276a794d493db90e0384940ce2b757b\",\"content\":null},{\"path\":\"doc/readme.txt\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"fbbc875b17d1e17da06b4ee8fda46e2596c41f3c\",\"content\":null},{\"path\":\"data/val1.dat\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"aed2973e4b8a7ff1b30ff5c4751e5a2b38989e74\",\"content\":null},{\"path\":\"data/val2.dat\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"5bd8bb897b13225c93a1d26baa88c96b7bd5d817\",\"content\":null}]}", + "equalToJson": "{\"base_tree\":\"737e00d471104660a7e8177fd5deb58fc46bbbec\",\"tree\":[{\"path\":\"app/run.sh\",\"mode\":\"100755\",\"type\":\"blob\",\"sha\":\"e9ba7ba07276a794d493db90e0384940ce2b757b\"},{\"path\":\"doc/readme.txt\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"fbbc875b17d1e17da06b4ee8fda46e2596c41f3c\"},{\"path\":\"data/val1.dat\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"aed2973e4b8a7ff1b30ff5c4751e5a2b38989e74\"},{\"path\":\"data/val2.dat\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"5bd8bb897b13225c93a1d26baa88c96b7bd5d817\"}]}", "ignoreArrayOrder": true, "ignoreExtraElements": true } diff --git a/src/test/resources/org/kohsuke/github/GHTreeBuilderTest/wiremock/testShaEntry/mappings/repos_sandboxx_ghtreebuildertest_git_trees-7-1c90d0.json b/src/test/resources/org/kohsuke/github/GHTreeBuilderTest/wiremock/testShaEntry/mappings/repos_sandboxx_ghtreebuildertest_git_trees-7-1c90d0.json index 9c98e2d15d..4e6e2f32c2 100644 --- a/src/test/resources/org/kohsuke/github/GHTreeBuilderTest/wiremock/testShaEntry/mappings/repos_sandboxx_ghtreebuildertest_git_trees-7-1c90d0.json +++ b/src/test/resources/org/kohsuke/github/GHTreeBuilderTest/wiremock/testShaEntry/mappings/repos_sandboxx_ghtreebuildertest_git_trees-7-1c90d0.json @@ -6,7 +6,7 @@ "method": "POST", "bodyPatterns": [ { - "equalToJson": "{\"base_tree\":\"c2066e756eb2185ed12419f790af4375c8b91e7b\",\"tree\":[{\"path\":\"data/val1.dat\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"aed2973e4b8a7ff1b30ff5c4751e5a2b38989e74\",\"content\":null},{\"path\":\"data/val2.dat\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"5bd8bb897b13225c93a1d26baa88c96b7bd5d817\",\"content\":null}]}", + "equalToJson": "{\"base_tree\":\"c2066e756eb2185ed12419f790af4375c8b91e7b\",\"tree\":[{\"path\":\"data/val1.dat\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"aed2973e4b8a7ff1b30ff5c4751e5a2b38989e74\"},{\"path\":\"data/val2.dat\",\"mode\":\"100644\",\"type\":\"blob\",\"sha\":\"5bd8bb897b13225c93a1d26baa88c96b7bd5d817\"}]}", "ignoreArrayOrder": true, "ignoreExtraElements": true }