diff --git a/pom.xml b/pom.xml index 6d34552..c10d58e 100644 --- a/pom.xml +++ b/pom.xml @@ -44,6 +44,11 @@ quarkus-github-app ${quarkus-github-app.version} + + io.quarkiverse.githubapp + quarkus-github-app-command-airline + ${quarkus-github-app.version} + org.glassfish.expressly expressly diff --git a/src/main/java/dev/langchain4j/automation/SayHelloCli.java b/src/main/java/dev/langchain4j/automation/SayHelloCli.java new file mode 100644 index 0000000..6fd3730 --- /dev/null +++ b/src/main/java/dev/langchain4j/automation/SayHelloCli.java @@ -0,0 +1,32 @@ +package dev.langchain4j.automation; + +import com.github.rvesse.airline.annotations.Cli; +import com.github.rvesse.airline.annotations.Command; +import org.kohsuke.github.GHEventPayload; +import org.kohsuke.github.GHUser; + +import java.io.IOException; + +@Cli(name = "@langchain4j-github-bot", commands = { SayHelloCli.SayHello.class }) +public class SayHelloCli { + + interface Commands { + + void run(GHEventPayload.IssueComment issueCommentPayload) throws IOException; + } + + @Command(name = "sayHello") + static class SayHello implements Commands { + + @Override + public void run(GHEventPayload.IssueComment issueCommentPayload) throws IOException { + // TODO check permissions + GHUser sender = issueCommentPayload.getSender(); + if (sender != null && sender.getLogin() != null) { + issueCommentPayload.getIssue().comment("Hello, @" + sender.getLogin()); + } else { + issueCommentPayload.getIssue().comment("Hello stranger!"); + } + } + } +}