@Override public void define(WebService.NewController controller) { controller.createAction("marketplace") .setSince("7.2") .setPost(false) .setDescription("Provide data to prefill license request forms: the server ID and the total number of lines of code.") .setResponseExample(getClass().getResource("marketplace-example.json")) .setInternal(true) .setHandler(this); }
@Override public void define(WebService.NewController controller) { controller.createAction("search") .setInternal(true) .setPost(false) .setDescription("Search for root users.<br/>" + "Requires to be root.") .setSince("6.2") .setResponseExample(getClass().getResource("search-example.json")) .setHandler(this); }
@Override public void define(WebService.NewController controller) { NewAction action = controller.createAction("deactivate") .setDescription("Deactivate a user. Requires Administer System permission") .setSince("3.7") .setPost(true) .setResponseExample(getClass().getResource("deactivate-example.json")) .setHandler(this); action.createParam("login") .setDescription("User login") .setRequired(true) .setExampleValue("myuser"); }
@Override public void define(NewController context) { NewAction action = context.createAction("remove_user") .setDescription(format("Remove a user from a group.<br />" + "'%s' or '%s' must be provided.<br>" + "Requires the following permission: 'Administer System'.", PARAM_GROUP_ID, PARAM_GROUP_NAME)) .setHandler(this) .setPost(true) .setSince("5.2"); defineGroupWsParameters(action); defineLoginWsParameter(action); }
@Override public void define(WebService.NewController controller) { controller.createAction("restart") .setDescription("Restart server. Require 'Administer System' permission. Perform a full restart of the Web, Search and Compute Engine Servers processes.") .setSince("4.3") .setPost(true) .setHandler(this); }
@Test public void method_POST_is_required() { Request request = new TestRequest().setMethod("POST").setPath("api/ping"); DumbResponse response = run(request, newPingWs(a -> a.setPost(true))); assertThat(response.stream().outputAsString()).isEqualTo("pong"); assertThat(response.stream().status()).isEqualTo(200); }
@Override public void define(WebService.NewController context) { WebService.NewAction action = context.createAction("upload") .setDescription("Upload a plugin.<br /> Requires 'Administer System' permission.") .setSince("6.0") .setPost(true) .setInternal(true) .setHandler(this); action.createParam(PARAM_FILE) .setDescription("The jar file of the plugin to install") .setRequired(true); }
@Override public void define(WebService.NewController context) { WebService.NewAction action = context.createAction("delete_template") .setDescription("Delete a permission template.<br />" + "Requires the following permission: 'Administer System'.") .setSince("5.2") .setPost(true) .setHandler(this); WsParameters.createTemplateParameters(action); }
@Override public void define(WebService.NewController context) { WebService.NewAction action = context.createAction("remove_project_creator_from_template") .setDescription("Remove a project creator from a permission template.<br>" + "Requires the following permission: 'Administer System'.") .setSince("6.0") .setPost(true) .setHandler(this); createTemplateParameters(action); wsParameters.createProjectPermissionParameter(action); }
@Override public void define(WebService.NewController controller) { NewAction setDefault = controller.createAction(ACTION_SET_DEFAULT) .setSince("5.2") .setDescription("Select the default profile for a given language.<br> " + "Requires to be logged in and the 'Administer Quality Profiles' permission.") .setPost(true) .setHandler(this); QProfileWsSupport.createOrganizationParam(setDefault).setSince("6.4"); QProfileReference.defineParams(setDefault, languages); }
@Override public void define(NewController context) { WebService.NewAction action = context.createAction(ACTION_DELETE) .setSince("7.1") .setDescription("Delete a pull request.<br/>" + "Requires 'Administer' rights on the specified project.") .setPost(true) .setHandler(this); addProjectParam(action); addPullRequestParam(action); }
@Override public void define(WebService.NewController context) { WebService.NewAction action = context.createAction("add_project_creator_to_template") .setDescription("Add a project creator to a permission template.<br>" + "Requires the following permission: 'Administer System'.") .setSince("6.0") .setPost(true) .setHandler(this); createTemplateParameters(action); wsParameters.createProjectPermissionParameter(action); }
@Override public void define(WebService.NewController controller) { controller.createAction(LOGOUT_ACTION) .setDescription("Logout a user.") .setSince("6.3") .setPost(true) .setHandler(ServletFilterHandler.INSTANCE); }
@Test public void fail_if_method_GET_is_not_allowed() { Request request = new TestRequest().setMethod("GET").setPath("api/foo"); DumbResponse response = run(request, newWs("api/foo", a -> a.setPost(true))); assertThat(response.stream().outputAsString()).isEqualTo("{\"errors\":[{\"msg\":\"HTTP method POST is required\"}]}"); assertThat(response.stream().status()).isEqualTo(405); }
@Override public void define(WebService.NewController controller) { controller.createAction("resume") .setDescription("Resumes pause of Compute Engine workers. Requires the system administration permission or " + "system passcode (see " + SystemPasscodeImpl.PASSCODE_CONF_PROPERTY + " in sonar.properties).") .setSince("7.2") .setInternal(true) .setHandler(this) .setPost(true); }
@Test public void post_action_without_response_example() { WebService ws = context -> { NewController newController = context.createController("api/rule"); newDefaultAction(newController, "list").setPost(true).setResponseExample(null); newController.done(); }; ws.define(context); assertThat(logTester.logs(LoggerLevel.WARN)) .doesNotContain("The response example is not set on action api/rule/list"); }
@Override public void define(WebService.NewController context) { context.createAction(ACTION_SKIP_ONBOARDING_TUTORIAL) .setPost(true) .setInternal(true) .setDescription("Stores that the user has skipped the onboarding tutorial and does not want to see it after future logins.<br/>" + "Requires authentication.") .setSince("6.5") .setHandler(this); }
@Override public void define(WebService.NewController context) { context .createAction("dummy") .setDescription("Dummy Description") .setPost(true) .setSince("5.3") .setHandler(this); }
@Override public void define(WebService.NewController controller) { controller.createAction("cancel_all") .setPost(true) .setSince("5.2") .setDescription("Cancels any operation pending on any plugin (install, update or uninstall)" + "<br/>" + "Requires user to be authenticated with Administer System permissions") .setHandler(this); }
@Override public void define(NewController context) { WebService.NewAction action = context.createAction("delete") .setDescription(format("Delete a group. The default groups cannot be deleted.<br/>" + "'%s' or '%s' must be provided.<br />" + "Requires the following permission: 'Administer System'.", PARAM_GROUP_ID, PARAM_GROUP_NAME)) .setHandler(this) .setSince("5.2") .setPost(true); defineGroupWsParameters(action); }