From 5540f88a62a04cca6f39519d6b50972a739753d8 Mon Sep 17 00:00:00 2001 From: Ulli Hafner Date: Tue, 9 Feb 2021 14:50:27 +0100 Subject: [PATCH] Add a new method to check permissions for a job. --- .../io/jenkins/plugins/util/JenkinsFacade.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/io/jenkins/plugins/util/JenkinsFacade.java b/src/main/java/io/jenkins/plugins/util/JenkinsFacade.java index 92167a2..086eeed 100644 --- a/src/main/java/io/jenkins/plugins/util/JenkinsFacade.java +++ b/src/main/java/io/jenkins/plugins/util/JenkinsFacade.java @@ -76,6 +76,20 @@ public boolean hasPermission(final Permission permission) { return getJenkins().getACL().hasPermission(permission); } + /** + * Checks if the current security principal has this permission for the specified project. + * + * @param permission + * the permission to check for + * @param project + * the project to check the permissions for + * + * @return {@code false} if the user doesn't have the permission + */ + public boolean hasPermission(final Permission permission, final Job project) { + return getJenkins().getAuthorizationStrategy().getACL(project).hasPermission(permission); + } + /** * Gets a {@link Job} by its full name. Full names are like path names, where each name of {@link Item} is combined * by '/'.