diff --git a/.travis.yml b/.travis.yml index dd19ce294..327c44cd9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ install: - mvn clean test-compile -DskipTests=true -Dmaven.javadoc.skip=true --batch-mode -V after_success: - mvn coveralls:report --batch-mode - - mvn -P enable-jacoco install jacoco:report --batch-mode + - mvn -P enable-jacoco install jacoco:report --batch-mode -P owasp - mvn -DskipTests=true verify before_cache: diff --git a/pom.xml b/pom.xml index 16c4e1db4..c2fdb30d2 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,25 @@ + + owasp + + + + org.owasp + dependency-check-maven + ${owasp.version} + + + + check + + + + + + + @@ -153,18 +172,6 @@ - - org.owasp - dependency-check-maven - ${owasp.version} - - - - check - - - - com.github.spotbugs diff --git a/src/main/java/hudson/plugins/jira/JiraSite.java b/src/main/java/hudson/plugins/jira/JiraSite.java index 87babc754..af0272cc7 100644 --- a/src/main/java/hudson/plugins/jira/JiraSite.java +++ b/src/main/java/hudson/plugins/jira/JiraSite.java @@ -36,6 +36,7 @@ import hudson.plugins.jira.model.JiraIssue; import hudson.security.ACL; import hudson.security.AccessControlled; +import hudson.security.Permission; import hudson.util.FormValidation; import hudson.util.ListBoxModel; import hudson.util.Secret; @@ -1201,7 +1202,7 @@ public FormValidation doValidate(@QueryParameter String url, public ListBoxModel doFillCredentialsIdItems(@AncestorInPath ItemGroup context, @QueryParameter String url) { AccessControlled _context = (context instanceof AccessControlled ? (AccessControlled) context : Jenkins.getInstance()); - if (_context == null || !_context.hasPermission(Jenkins.ADMINISTER)) { + if (_context == null || !_context.hasPermission(Item.CONFIGURE)) { return new StandardUsernameListBoxModel(); } diff --git a/src/test/java/hudson/plugins/jira/DescriptorImplTest.java b/src/test/java/hudson/plugins/jira/DescriptorImplTest.java index 8cb7d2e5e..0b0fe2fc7 100644 --- a/src/test/java/hudson/plugins/jira/DescriptorImplTest.java +++ b/src/test/java/hudson/plugins/jira/DescriptorImplTest.java @@ -82,6 +82,7 @@ public void doFillCredentialsIdItems() throws IOException { MockAuthorizationStrategy as = new MockAuthorizationStrategy(); as.grant(Jenkins.ADMINISTER).everywhere().to("admin"); as.grant(Item.READ).onItems(dummy).to("alice"); + as.grant(Item.CONFIGURE).onItems(dummy).to("dev"); r.jenkins.setAuthorizationStrategy(as); try (ACLContext ignored = ACL.as(User.get("admin"))) { @@ -102,6 +103,10 @@ public void doFillCredentialsIdItems() throws IOException { ListBoxModel options = r.jenkins.getDescriptorByType(JiraSite.DescriptorImpl.class).doFillCredentialsIdItems(dummy, "http://example.org"); assertThat(options, empty()); } + try (ACLContext ignored = ACL.as(User.get("dev"))) { + ListBoxModel options = r.jenkins.getDescriptorByType(JiraSite.DescriptorImpl.class).doFillCredentialsIdItems(dummy, "http://example.org"); + assertThat(options, hasSize(2)); + } } }