From d3b75d6cabba15785fc7cc84d873bd19c9a3d091 Mon Sep 17 00:00:00 2001 From: Arkadiusz Szarama Date: Wed, 8 Jan 2025 23:42:26 +0100 Subject: [PATCH 1/2] feat: expose fields & extend content builder with commiter and author --- pom.xml | 2 +- .../java/org/kohsuke/github/GHCommit.java | 4 +- .../org/kohsuke/github/GHContentBuilder.java | 38 +++++++++++++++++++ .../java/org/kohsuke/github/GitCommit.java | 2 +- 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index b4406d5a53..3fe38e1f77 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 org.kohsuke cortexapps-github-api - 1.322 + 1.323 GitHub API for Java https://github-api.kohsuke.org/ GitHub API for Java diff --git a/src/main/java/org/kohsuke/github/GHCommit.java b/src/main/java/org/kohsuke/github/GHCommit.java index 0319f31228..9de3236cc1 100644 --- a/src/main/java/org/kohsuke/github/GHCommit.java +++ b/src/main/java/org/kohsuke/github/GHCommit.java @@ -244,10 +244,10 @@ public static class Parent { /** The url. */ @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "We don't provide it in API now") - String url; + public String url; /** The sha. */ - String sha; + public String sha; } /** diff --git a/src/main/java/org/kohsuke/github/GHContentBuilder.java b/src/main/java/org/kohsuke/github/GHContentBuilder.java index 9b24af92b0..c310de2665 100644 --- a/src/main/java/org/kohsuke/github/GHContentBuilder.java +++ b/src/main/java/org/kohsuke/github/GHContentBuilder.java @@ -19,6 +19,16 @@ public final class GHContentBuilder { private final Requester req; private String path; + private static final class UserInfo { + private final String name; + private final String email; + + private UserInfo(String name, String email) { + this.name = name; + this.email = email; + } + } + /** * Instantiates a new GH content builder. * @@ -102,6 +112,34 @@ public GHContentBuilder message(String commitMessage) { return this; } + /** + * Configures the author of this content. + * + * @param name + * the name + * @param email + * the email + * @return the gh commit builder + */ + public GHContentBuilder author(String name, String email) { + req.with("author", new UserInfo(name, email)); + return this; + } + + /** + * Configures the committer of this content. + * + * @param name + * the name + * @param email + * the email + * @return the gh commit builder + */ + public GHContentBuilder committer(String name, String email) { + req.with("committer", new UserInfo(name, email)); + return this; + } + /** * Commits a new content. * diff --git a/src/main/java/org/kohsuke/github/GitCommit.java b/src/main/java/org/kohsuke/github/GitCommit.java index 0c522b57db..207474c477 100644 --- a/src/main/java/org/kohsuke/github/GitCommit.java +++ b/src/main/java/org/kohsuke/github/GitCommit.java @@ -241,7 +241,7 @@ public String getTreeUrl() { * @return the parents */ @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "acceptable") - List getParents() { + public List getParents() { return parents; } From d81ac1100354871d8f8d0895f6d2e00201083d6d Mon Sep 17 00:00:00 2001 From: Arkadiusz Szarama Date: Wed, 8 Jan 2025 23:47:55 +0100 Subject: [PATCH 2/2] fix: annotations --- src/main/java/org/kohsuke/github/GHCommit.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/kohsuke/github/GHCommit.java b/src/main/java/org/kohsuke/github/GHCommit.java index 9de3236cc1..257ff40298 100644 --- a/src/main/java/org/kohsuke/github/GHCommit.java +++ b/src/main/java/org/kohsuke/github/GHCommit.java @@ -243,7 +243,7 @@ public String getSha() { public static class Parent { /** The url. */ - @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "We don't provide it in API now") + @SuppressFBWarnings(value = "UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD", justification = "used in backend code") public String url; /** The sha. */