BTW since I am in Java, is there an example somewhere of making a PUT REST call from Java, especially for installing an extension? In other words are we using the Job REST API somewhere?
It would be nice that we add a PUT example at http://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/XWikiRESTfulAPI#HInteractingwiththeXWikiRESTfulAPI Once I succeed, I can document an example from Java. Thanks -Vincent > On 14 Jan 2018, at 18:50, Vincent Massol <[email protected]> wrote: > > Thanks Thomas, see below > >> On 14 Jan 2018, at 17:32, Thomas Mortagne <[email protected]> wrote: >> >> On Sun, Jan 14, 2018 at 11:57 AM, Vincent Massol <[email protected]> wrote: >>> Hi guys, >>> >>> I’m trying to use the Job REST API but the doc is pretty poor at >>> http://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/XWikiRESTfulAPI#HJobresources >>> >>> For example to execute a job it says that you only need to pass a “jobType” >>> described as "The type of the job to pass to the Job Executor” … errr >>> what’s the type and what are the valid values? Would be nice to have some >>> example too. >> >> The type is the same job type you have in the Job module document >> ation at >> http://extensions.xwiki.org/xwiki/bin/view/Extension/Job+Module#HUseanexistingjob. >> i.e. the hint of the Job component you want to execute, it's not >> possible to give a list of those types. > > It’s possible to give examples. That would already help a lot. > >> >>> Also it doesn’t mention any payload that I have to send but I guess I need >>> to describe the job that I need to execute. What’s the format? >> >> This API document is quite JAX-RS oriented so you can see the class >> you would send in Java in the "Accepted Media types:" section, here >> it's JobRequest (complete name being >> org.xwiki.rest.model.jaxb.JobRequest). > > Sure but this is not very explicit for users reading the documentation. You > shouldn’t have to read the source code to be able to use the REST API IMO. > >> >>> >>> It also says: >>> >>> “ >>> Since 9.2RC1 jobs started trough the REST API automatically get their >>> runtime context injected with the following REST HTTP request context >>> properties: >>> >>> • current wiki >>> • current user >>> • request URL and parameters >>> “ >>> >>> What if I want to specify the wiki, user for ex? How do I do that? >> >> Keep in mind you are not reading an Extension module documentation but >> a Job module one. > > I didn’t understand this remark. > >> >> The namespace(s) where you want to install extensions is indicated in >> the job request in case of install job. > > Ok > >> >>> >>> At the end there are examples of file format at >>> http://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/XWikiRESTfulAPI#HFormatsoffiles >>> but nothing for jobs. >> >> Yes will need to add a few examples. In the meantime you can see how >> the JAX-RS XML of an install request looks by asking for the >> /jobstatus/ of some previous installed extension. > > Thanks, FTR I got the following for the FAQ extension: > > URL: > > http://localhost:8080/xwiki/rest/jobstatus/extension/action/org.xwiki.contrib%3Aapplication-faq-ui/wiki%3Axwiki/?request=true > > Result: > > https://gist.github.com/vmassol/e553ce36b24fbb59d1110e256ab5954f > > Now I need to figure what’s the minimal list of properties that I have to > pass… There seems to be a lot: > * extensions > * extensions.excluded > * rewriter > * extension.properties > * rootModificationsAllowed > * caller.reference > * interactive > * checkrights > * context.action > * user.reference > * context.wiki > * namespaces > > There seems to be some duplication. > > For example the user used to install the extension is defined in: > * extension.properties (as a String) > * user.reference (as a serialized reference) > > Whether the job is interactive or not: > * <interactive>true</interactive> > * And also in the “interactive” property > > Any idea about what’s the minimum I need to pass? > > Thanks > -Vincent > > >> >>> >>> Could someone help improve the doc so that I can try to use it? >>> >>> Thanks! >>> -Vincent >>> >>> >>> >>> >>> >> >> >> >> -- >> Thomas Mortagne

