@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"); }
@Test public void fail_if_request_does_not_have_required_parameter() { Request request = new TestRequest().setPath("api/foo").setParam("unknown", "Unknown"); DumbResponse response = run(request, newWs("api/foo", a -> { a.createParam("bar").setRequired(true); a.setHandler((req, resp) -> request.mandatoryParam("bar")); })); assertThat(response.stream().outputAsString()).isEqualTo("{\"errors\":[{\"msg\":\"The 'bar' parameter is missing\"}]}"); assertThat(response.stream().status()).isEqualTo(400); }
@Test public void fail_if_request_does_not_have_required_parameter_even_if_handler_does_not_require_it() { Request request = new TestRequest().setPath("api/foo").setParam("unknown", "Unknown"); DumbResponse response = run(request, newWs("api/foo", a -> { a.createParam("bar").setRequired(true); // do not use mandatoryParam("bar") a.setHandler((req, resp) -> request.param("bar")); })); assertThat(response.stream().outputAsString()).isEqualTo("{\"errors\":[{\"msg\":\"The 'bar' parameter is missing\"}]}"); assertThat(response.stream().status()).isEqualTo(400); }
@Override public void define(WebService.NewController controller) { WebService.NewAction action = controller.createAction("set_as_default") .setDescription("Set a quality gate as the default quality gate.<br>" + "Requires the 'Administer Quality Gates' permission.") .setSince("4.3") .setPost(true) .setHandler(this); action.createParam(QualityGatesWsParameters.PARAM_ID) .setDescription("ID of the quality gate to set as default") .setRequired(true) .setExampleValue("1"); wsSupport.createOrganizationParam(action); }
@Override public void define(WebService.NewController controller) { WebService.NewAction action = controller.createAction("uninstall") .setPost(true) .setSince("5.2") .setDescription("Uninstalls the plugin specified by its key." + "<br/>" + "Requires user to be authenticated with Administer System permissions.") .setHandler(this); action.createParam(PARAM_KEY) .setDescription("The key identifying the plugin to uninstall") .setRequired(true); }
void addOrganizationParam(WebService.NewAction action) { action.createParam(PARAM_ORGANIZATION) .setDescription("The key of the organization") .setRequired(false) .setInternal(true) .setSince("6.3"); }
static NewParam createMetricKeysParameter(NewAction action) { return action.createParam(PARAM_METRIC_KEYS) .setDescription("Comma-separated list of metric keys") .setRequired(true) .setExampleValue("ncloc,complexity,violations"); }
@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); }
void addProjectAndBranchParams(WebService.NewAction action) { action.createParam(PARAM_PROJECT) .setDescription("Project or application key") .setRequired(true) .setExampleValue(KEY_PROJECT_EXAMPLE_001); action .createParam(PARAM_BRANCH) .setDescription("Long living branch key") .setExampleValue(KEY_BRANCH_EXAMPLE_001); }
static void addProjectParam(NewAction action) { action .createParam(PARAM_PROJECT) .setDescription("Project key") .setExampleValue(KEY_PROJECT_EXAMPLE_001) .setRequired(true); }
@Test public void fail_if_required_param_has_default_value() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Default value must not be set on parameter 'api/rule/create?key' as it's marked as required"); ((WebService) context -> { NewController controller = context.createController("api/rule"); NewAction action = newDefaultAction(controller, "create"); action.createParam("key").setRequired(true).setDefaultValue("abc"); controller.done(); }).define(context); }
WebService.NewParam createOrganizationParam(NewAction action) { return action .createParam(PARAM_ORGANIZATION) .setDescription("Organization key. If no organization is provided, the default organization is used.") .setSince("7.0") .setRequired(false) .setInternal(false) .setExampleValue("my-org"); }
static void addBranchParam(NewAction action) { action .createParam(PARAM_BRANCH) .setDescription("Name of the branch") .setExampleValue("branch1") .setRequired(true); }
static void addPullRequestParam(NewAction action) { action .createParam(PARAM_PULL_REQUEST) .setDescription("Pull request id") .setExampleValue("1543") .setRequired(true); }
static void addProjectParam(NewAction action) { action .createParam(PARAM_PROJECT) .setDescription("Project key") .setExampleValue(KEY_PROJECT_EXAMPLE_001) .setRequired(true); }
public WebService.NewParam createProjectPermissionParameter(WebService.NewAction action, boolean required) { return action.createParam(PARAM_PERMISSION) .setDescription(projectPermissionParamDescription) .setPossibleValues(permissionService.getAllProjectPermissions()) .setRequired(required); }
public WebService.NewParam createPermissionParameter(WebService.NewAction action) { return action.createParam(PARAM_PERMISSION) .setDescription(permissionParamDescription) .setRequired(true); }
public static NewParam createOrganizationParam(NewAction action) { return action .createParam(PARAM_ORGANIZATION) .setDescription("Organization key. If no organization is provided, the default organization is used.") .setRequired(false) .setInternal(true) .setExampleValue("my-org"); }
public static void createIdParameter(WebService.NewAction action) { action.createParam(PARAM_ID) .setRequired(true) .setDescription("Id") .setExampleValue("af8cb8cc-1e78-4c4e-8c00-ee8e814009a5"); } }
public static void createUserLoginParameter(WebService.NewAction action) { action.createParam(PARAM_USER_LOGIN) .setRequired(true) .setDescription("User login") .setExampleValue("g.hopper"); }