Thanks.

I don't understand why this *user* informations are not actually exposed on 
the /*user* api.

So, I create a new UserProperty called UserViewsProperty (source code in 
attachment) and integrate it in a plugin.
This solution required me to create an empty config.jelly for the 
/user/configure page. My skills on Jenkins core being insufficient, I 
haven't really understood why.
When I call the user api, I 've got now a new property called "userViews"

In any case, it works but I'm interested in any comments or another type of 
solution.

Le mercredi 13 janvier 2016 16:09:35 UTC+1, Daniel Beck a écrit :
>
> These are not exposed via the API. The MyViewsProperty is one of the empty 
> {} in 'property'. 
>
> On 13.01.2016, at 15:52, Yohann Perraud <[email protected] 
> <javascript:>> wrote: 
>
> > Hi, 
> > 
> > Is there a way to retrieve the list of view for a user via the Rest API 
> ? 
> > 
> > I tried /user/<username>/my-views/api/json, /user/picadmin/api/json with 
> differents depth but it never return his views. 
> > I googled it and I 've found nothing. 
> > 
> > Thanks in advance. 
> > 
> > Yohann. 
> > 
> >   
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "Jenkins Users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected] <javascript:>. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-users/85cb952a-8012-4ce3-aeb5-e9dd2873dc9b%40googlegroups.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" 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-users/994ffddb-c262-46bf-bcfc-0743dabf377a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
package fr.laposte.disfe.pic.adb.jenkins.plugin.property;

import hudson.Extension;
import hudson.model.UserProperty;
import hudson.model.UserPropertyDescriptor;
import hudson.model.MyViewsProperty;
import hudson.model.User;
import hudson.model.View;

import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONObject;

import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.export.Exported;

public class UserViewsProperty extends hudson.model.UserProperty {

	public UserViewsProperty() {

	}

	@Exported(name = "userViews"/* , inline = true */)
	public List<View> getUserViews() {
		final User user = User.current();

		if (user != null && user.getProperty(MyViewsProperty.class) != null) {
			return new ArrayList<View>(user.getProperty(MyViewsProperty.class).getViews());
		}
		return new ArrayList<View>();

	}

	@Extension
	public static final class DescriptorImpl extends UserPropertyDescriptor {

		@Override
		public String getDisplayName() {
			return null;
		}

		@Override
		public UserProperty newInstance(final User user) {
			return new UserViewsProperty();
		}

		@Override
		public UserProperty newInstance(final StaplerRequest req, final JSONObject formData)
				throws FormException {
			return null;
		}

	}

}

Reply via email to