From 3c63f2b7f01f2edbe9d652bf5416bf79e065566e Mon Sep 17 00:00:00 2001 From: Zhao Song Date: Tue, 10 Sep 2024 14:11:22 -0700 Subject: [PATCH] SKARA-2370 --- .../org/openjdk/skara/bots/pr/BackportCommand.java | 9 ++------- .../org/openjdk/skara/bots/pr/BranchCommand.java | 8 ++------ .../org/openjdk/skara/bots/pr/CommandHandler.java | 13 ++++++++++++- .../java/org/openjdk/skara/bots/pr/TagCommand.java | 7 ++----- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/bots/pr/src/main/java/org/openjdk/skara/bots/pr/BackportCommand.java b/bots/pr/src/main/java/org/openjdk/skara/bots/pr/BackportCommand.java index 5797295c9..2c2a8e238 100644 --- a/bots/pr/src/main/java/org/openjdk/skara/bots/pr/BackportCommand.java +++ b/bots/pr/src/main/java/org/openjdk/skara/bots/pr/BackportCommand.java @@ -69,11 +69,6 @@ public boolean allowedInCommit() { return true; } - private static final String USER_INVALID_WARNING = "To use the `/backport` command, you need to be in the OpenJDK [census](https://openjdk.org/census)" - + " and your GitHub account needs to be linked with your OpenJDK username" - + " ([how to associate your GitHub account with your OpenJDK username]" - + "(https://wiki.openjdk.org/display/skara#Skara-AssociatingyourGitHubaccountandyourOpenJDKusername))."; - private static final String INSUFFICIENT_ACCESS_WARNING = "The backport can not be created because you don't have access to the target repository."; private static final int BRANCHES_LIMIT = 10; @@ -82,7 +77,7 @@ public boolean allowedInCommit() { public void handle(PullRequestBot bot, PullRequest pr, CensusInstance censusInstance, ScratchArea scratchArea, CommandInvocation command, List allComments, PrintWriter reply, List labelsToAdd, List labelsToRemove) { if (censusInstance.contributor(command.user()).isEmpty()) { - reply.println(USER_INVALID_WARNING); + printInvalidUserWarning(bot, reply); return; } @@ -241,7 +236,7 @@ private Branch getTargetBranch(String[] parts, int index, HostedRepository targe public void handle(PullRequestBot bot, HostedCommit commit, LimitedCensusInstance censusInstance, ScratchArea scratchArea, CommandInvocation command, List allComments, PrintWriter reply) { if (censusInstance.contributor(command.user()).isEmpty() && !command.user().equals(bot.repo().forge().currentUser())) { - reply.println(USER_INVALID_WARNING); + printInvalidUserWarning(bot, reply); return; } diff --git a/bots/pr/src/main/java/org/openjdk/skara/bots/pr/BranchCommand.java b/bots/pr/src/main/java/org/openjdk/skara/bots/pr/BranchCommand.java index 884c0eb31..56e7fe1ae 100644 --- a/bots/pr/src/main/java/org/openjdk/skara/bots/pr/BranchCommand.java +++ b/bots/pr/src/main/java/org/openjdk/skara/bots/pr/BranchCommand.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,6 @@ import org.openjdk.skara.forge.HostedBranch; import org.openjdk.skara.forge.HostedCommit; import org.openjdk.skara.issuetracker.Comment; -import org.openjdk.skara.vcs.*; import org.openjdk.skara.jcheck.JCheckConfiguration; import java.io.PrintWriter; @@ -73,10 +72,7 @@ public void handle(PullRequestBot bot, HostedCommit commit, LimitedCensusInstanc return; } if (censusInstance.contributor(command.user()).isEmpty()) { - reply.println("To use the `/branch` command, you need to be in the OpenJDK [census](https://openjdk.org/census)" - + " and your GitHub account needs to be linked with your OpenJDK username" - + " ([how to associate your GitHub account with your OpenJDK username]" - + "(https://wiki.openjdk.org/display/skara#Skara-AssociatingyourGitHubaccountandyourOpenJDKusername))."); + printInvalidUserWarning(bot, reply); return; } diff --git a/bots/pr/src/main/java/org/openjdk/skara/bots/pr/CommandHandler.java b/bots/pr/src/main/java/org/openjdk/skara/bots/pr/CommandHandler.java index e68495fb5..9aee767b2 100644 --- a/bots/pr/src/main/java/org/openjdk/skara/bots/pr/CommandHandler.java +++ b/bots/pr/src/main/java/org/openjdk/skara/bots/pr/CommandHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -59,4 +59,15 @@ default boolean allowedInCommit() { default boolean allowedInPullRequest() { return true; } + + default void printInvalidUserWarning(PullRequestBot bot, PrintWriter reply) { + if (bot.repo().forge().name().equals("GitHub")) { + reply.println(String.format("To use the `/%s` command, you need to be in the OpenJDK [census](https://openjdk.org/census)" + + " and your GitHub account needs to be linked with your OpenJDK username" + + " ([how to associate your GitHub account with your OpenJDK username]" + + "(https://wiki.openjdk.org/display/skara#Skara-AssociatingyourGitHubaccountandyourOpenJDKusername)).", name())); + } else { + reply.println(String.format("To use the `/%s` command, you need to be listed as a contributor in this [census](%s)", name(), bot.censusRepo().authenticatedUrl())); + } + } } diff --git a/bots/pr/src/main/java/org/openjdk/skara/bots/pr/TagCommand.java b/bots/pr/src/main/java/org/openjdk/skara/bots/pr/TagCommand.java index 66c9a2fa5..adb332358 100644 --- a/bots/pr/src/main/java/org/openjdk/skara/bots/pr/TagCommand.java +++ b/bots/pr/src/main/java/org/openjdk/skara/bots/pr/TagCommand.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -69,10 +69,7 @@ public void handle(PullRequestBot bot, HostedCommit commit, LimitedCensusInstanc return; } if (censusInstance.contributor(command.user()).isEmpty()) { - reply.println("To use the `/tag` command, you need to be in the OpenJDK [census](https://openjdk.org/census)" - + " and your GitHub account needs to be linked with your OpenJDK username" - + " ([how to associate your GitHub account with your OpenJDK username]" - + "(https://wiki.openjdk.org/display/skara#Skara-AssociatingyourGitHubaccountandyourOpenJDKusername))."); + printInvalidUserWarning(bot, reply); return; }