There's an automatic converter between String and Secret when loading
XML files via XStream in Jenkins. The only compatibility concerns you
should have here are for any code that directly calls that constructor
or uses the string value of the secret.

On Wed, Jul 8, 2020 at 3:51 AM Goyot, Martin <[email protected]> wrote:
>
> Thanks Ullrich!
>
> Do you have any pointer for me as to how to proceed?
>
> Le mer. 8 juil. 2020 à 10:34, Ullrich Hafner <[email protected]> a 
> écrit :
>>
>>
>>
>> Am 08.07.2020 um 10:16 schrieb Goyot, Martin <[email protected]>:
>>
>> Hi there,
>>
>> On the OAuth plugin I'm working on, I'd like to modify the 
>> @DataboundConstructor for the Realm. Issue is, if I modify it, whether be 
>> the signature or the inners of the function, the deserialization for 
>> previous instances won't work anymore hence breaking any previous 
>> installation of the plugin.
>>
>> How am I supposed to proceed in such particular cases, when I need to update 
>> this constructor without breaking any config already set on Jenkins 
>> instances?
>>
>>
>> The serialization does not use the constructor. You need to provide a 
>> readResolve method that will map the old fields to the new fields.
>>
>> Here is some code for reference:
>>
>> public class MySecurityRealm extends SecurityRealm {
>>     private String clientId;
>>     private Secret clientSecret;
>>
>>     @DataBoundConstructor
>>     public MySecurityRealm(String clientId, String clientSecret) {
>>         this.clientId = Util.fixEmptyAndTrim(clientId);
>>         this.setClientSecret(Util.fixEmptyAndTrim(clientSecret));
>>     }
>> }
>>
>> Thanks in advance !
>> Martin
>>
>> --
>> 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/CA%2Bb6JB-wx%3D%2BPRcXb057-9idgZkL7kYw%3DSvmSsaR-mxRJ9_g96A%40mail.gmail.com.
>>
>>
>> --
>> 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/E316B1D7-CCBE-4BCE-A50C-E64A53A88E68%40gmail.com.
>
> --
> 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/CA%2Bb6JB8J4-AHbMyb%3DWDATiXGvtnuw6YcEcB-pV0SPc4Ju6xNkA%40mail.gmail.com.



-- 
Matt Sicker
Senior Software Engineer, CloudBees

-- 
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/CAEot4ozZDBe3yKLAVUWjFYiUPjD5NtweBqW0%2BozvBPr5hb1ScA%40mail.gmail.com.

Reply via email to