Are there any good examples of a main class extending Plugin and having a
descriptor that works that you can refer me to? I have tried looking, and
haven’t seen anything yet; I’ve tried what I can think of based on the what I
have been able to see, and all I ever get when trying to load the configuration
page is “java.lang.IllegalStateException: class
jenkins.model.GlobalPluginConfiguration doesn't have the
doFillPrincipalFormatItems method for filling a drop-down list”, the same thing
I was getting when I didn’t have any sort of Descriptor.
What I currently have:
public class PluginImpl extends Plugin implements Describable<PluginImpl> {
... all other necessary functions...
@Override
public final Descriptor<PluginImpl> getDescriptor() {
return descriptor;
}
private static final PluginImplDescriptor descriptor = new
PluginImplDescriptor();
public static final class PluginImplDescriptor extends Descriptor<PluginImpl>
{
public PluginImplDescriptor() {
super(self());
}
@Override
public String getDisplayName() {
return “”;
}
public ListBoxModel doFillPluginImplFieldNameItems() {
return new ListBoxModel() {contents...};
}
}
}
Thank you again,
Bryson
From: Robert Sandell
Sent: Monday, November 24, 2014 1:53 AM
To: [email protected]
Subject: Re: New SSO plugin for Jenkins on Windows, based on KerberosSSO, using
Waffle...
We needed to do advertise headers in order for CLI to work.
doFillxyzItems should be declared in the descriptor and replace xyz with the
name of the field, the f:select tag takes care of the data binding.
On Mon, Nov 24, 2014 at 7:41 AM, Bryson Gibbons <[email protected]> wrote:
Well, I found one possible way around the licensing issues: if I extend the
Windows authentication implementation that Waffle uses with the
NegotiateSecurityFilter, I can override the necessary functions so that they
call the original function, and then call an additional function to provide
authentication information to Jenkins. I can set the NegotiateSecurityFilter to
use the extended class. Also, I extended the NegotiateSecurityFilter class
specifically to call the advertiseHeaders function, but I don't know if that is
really necessary.
Besides that, I am trying to figure out the process in the groovy file to
show a select box to the user in the configuration, since there are two
configurable properties that deal with how the user information is handled in
Waffle. I just haven't figured out how to have the groovy script look in the
right spot for the "doFillxyzItems()" function, or where the function is
supposed to be to be discovered.
On a quick side note, I wonder if this might be part of the problem with
using Kerberos SSO plugin on Windows.
Thank you for any help,
Bryson
On Saturday, November 15, 2014 1:09:18 PM UTC-8, Bryson Gibbons wrote:
A few ideas that I haven't been able to fully look into:
If I can implement an "IAuthWindowsProvider" that provides the necessary
functionality (tying into an existing security realm), could that allow this to
be released under the MIT license, provided I do not just copy the provided
implementation and add the necessary code (since the EPL license allows
distribution of the program, if it is not distributed in source code format)?
My understanding of that clause is that as long as I am only using the
"binary", and have not copied code from Waffle, it can be released under a
license other than the EPL.
Also, I do wonder if this might be better situated (outside of the
licensing issues) as part of the Active Directory plugin, since it already has
a configuration that is only usable on Windows, with an alternate configuration
allowing it to be used on Linux. There are also active Jira tickets concerning
the desire to allow single sign on with the Active Directory plugin.
Anyway, I would like to get rid of the copy of the class from Waffle, since
the changes I made involved adding a function to trigger the Jenkins
authentication, as well as modifying the logging calls since Waffle uses a
different logger. I would prefer to have a more abstract implementation that
will be easier to maintain and extend, rather than what I currently have.
Waffle is also designed to do full authentication by itself, so it may be
better if I changed to implementation to be a security plugin (and that may
remove all licensing issues, if I could have Waffle function as the security
provider... but I don't even know where to start).
--
You received this message because you are subscribed to the Google Groups
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-dev/ea3fb967-3993-4434-beeb-d64eba474867%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Robert Sandell
Software Engineer
CloudBees Inc.
--
You received this message because you are subscribed to a topic in the Google
Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/jenkinsci-dev/ywCwlY569dI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-dev/CALzHZS35Buq26gsHp3rPx8ir7ChLq3bV4PBN0VL11S0NMNXYDw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-dev/B664635968C741C696D9CFF7BFD1A635%40HAFBeast.
For more options, visit https://groups.google.com/d/optout.