shipeasy-sdk 3.8.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/docs/skill/SKILL.md +7 -4
- data/lib/shipeasy/admin.rb +23 -20
- data/lib/shipeasy/sdk/see.rb +7 -5
- data/lib/shipeasy/sdk/version.rb +1 -1
- data/lib/shipeasy_admin/api/flags_api.rb +127 -214
- data/lib/shipeasy_admin/api/killswitch_api.rb +25 -525
- data/lib/shipeasy_admin/api/ops_api.rb +44 -351
- data/lib/shipeasy_admin/api_client.rb +2 -2
- data/lib/shipeasy_admin/api_error.rb +2 -2
- data/lib/shipeasy_admin/api_model_base.rb +2 -2
- data/lib/shipeasy_admin/configuration.rb +29 -2
- data/lib/shipeasy_admin/models/{set_killswitch_value_request.rb → add_to_gate_whitelist_request.rb} +37 -42
- data/lib/shipeasy_admin/models/create_public_bug_request.rb +464 -0
- data/lib/shipeasy_admin/models/create_public_feature_request_request.rb +407 -0
- data/lib/shipeasy_admin/models/{file_error_ticket_response.rb → create_public_ticket_response.rb} +22 -29
- data/lib/shipeasy_admin/models/env.rb +2 -2
- data/lib/shipeasy_admin/models/error.rb +41 -7
- data/lib/shipeasy_admin/models/error_code.rb +14 -3
- data/lib/shipeasy_admin/models/{get_experiment_timeseries_response_experiment.rb → gate_whitelist.rb} +51 -42
- data/lib/shipeasy_admin/models/gate_whitelist_attr.rb +40 -0
- data/lib/shipeasy_admin/models/killswitch_value.rb +2 -2
- data/lib/shipeasy_admin/models/notification_target.rb +2 -2
- data/lib/shipeasy_admin/models/notification_target_slack_channel.rb +2 -2
- data/lib/shipeasy_admin/models/ops_item_priority.rb +42 -0
- data/lib/shipeasy_admin/models/ops_item_status.rb +46 -0
- data/lib/shipeasy_admin/models/{discard_config_draft_request.rb → remove_from_gate_whitelist_request.rb} +34 -44
- data/lib/shipeasy_admin/models/{delete_alert_rule_response.rb → set_gate_whitelist_request.rb} +37 -25
- data/lib/shipeasy_admin/models/{set_killswitch_switch_request.rb → toggle_killswitch_request.rb} +30 -72
- data/lib/shipeasy_admin/models/{set_killswitch_value_response.rb → toggle_killswitch_response.rb} +100 -6
- data/lib/shipeasy_admin/version.rb +2 -2
- data/lib/shipeasy_admin.rb +14 -195
- metadata +13 -194
- data/lib/shipeasy_admin/api/alerts_api.rb +0 -352
- data/lib/shipeasy_admin/api/api_keys_api.rb +0 -229
- data/lib/shipeasy_admin/api/attributes_api.rb +0 -82
- data/lib/shipeasy_admin/api/configs_api.rb +0 -757
- data/lib/shipeasy_admin/api/connectors_api.rb +0 -497
- data/lib/shipeasy_admin/api/drafts_api.rb +0 -82
- data/lib/shipeasy_admin/api/errors_api.rb +0 -389
- data/lib/shipeasy_admin/api/events_api.rb +0 -438
- data/lib/shipeasy_admin/api/experiments_api.rb +0 -727
- data/lib/shipeasy_admin/api/keys_api.rb +0 -317
- data/lib/shipeasy_admin/api/metrics_api.rb +0 -281
- data/lib/shipeasy_admin/api/profiles_api.rb +0 -222
- data/lib/shipeasy_admin/api/projects_api.rb +0 -216
- data/lib/shipeasy_admin/api/universes_api.rb +0 -306
- data/lib/shipeasy_admin/models/approve_event_request.rb +0 -198
- data/lib/shipeasy_admin/models/approve_event_response.rb +0 -166
- data/lib/shipeasy_admin/models/claude_trigger_config.rb +0 -204
- data/lib/shipeasy_admin/models/connector_event.rb +0 -40
- data/lib/shipeasy_admin/models/connector_provider.rb +0 -45
- data/lib/shipeasy_admin/models/connector_record.rb +0 -468
- data/lib/shipeasy_admin/models/copilot_trigger_config.rb +0 -276
- data/lib/shipeasy_admin/models/create_alert_rule_request.rb +0 -383
- data/lib/shipeasy_admin/models/create_alert_rule_response.rb +0 -165
- data/lib/shipeasy_admin/models/create_claude_trigger_request.rb +0 -309
- data/lib/shipeasy_admin/models/create_config_request.rb +0 -291
- data/lib/shipeasy_admin/models/create_config_response.rb +0 -201
- data/lib/shipeasy_admin/models/create_connector_request.rb +0 -64
- data/lib/shipeasy_admin/models/create_connector_response.rb +0 -165
- data/lib/shipeasy_admin/models/create_copilot_trigger_request.rb +0 -316
- data/lib/shipeasy_admin/models/create_cursor_trigger_request.rb +0 -352
- data/lib/shipeasy_admin/models/create_event_request.rb +0 -236
- data/lib/shipeasy_admin/models/create_event_response.rb +0 -193
- data/lib/shipeasy_admin/models/create_experiment_request.rb +0 -807
- data/lib/shipeasy_admin/models/create_experiment_response.rb +0 -212
- data/lib/shipeasy_admin/models/create_gate_request.rb +0 -492
- data/lib/shipeasy_admin/models/create_gate_response.rb +0 -212
- data/lib/shipeasy_admin/models/create_i18n_profile_request.rb +0 -188
- data/lib/shipeasy_admin/models/create_i18n_profile_response.rb +0 -193
- data/lib/shipeasy_admin/models/create_jules_trigger_request.rb +0 -352
- data/lib/shipeasy_admin/models/create_key_request.rb +0 -297
- data/lib/shipeasy_admin/models/create_key_response.rb +0 -286
- data/lib/shipeasy_admin/models/create_killswitch_request.rb +0 -274
- data/lib/shipeasy_admin/models/create_killswitch_response.rb +0 -201
- data/lib/shipeasy_admin/models/create_metric_request.rb +0 -403
- data/lib/shipeasy_admin/models/create_metric_response.rb +0 -193
- data/lib/shipeasy_admin/models/create_o_auth_connector_request.rb +0 -273
- data/lib/shipeasy_admin/models/create_ops_item_request.rb +0 -287
- data/lib/shipeasy_admin/models/create_ops_item_response.rb +0 -177
- data/lib/shipeasy_admin/models/create_universe_request.rb +0 -272
- data/lib/shipeasy_admin/models/create_universe_response.rb +0 -212
- data/lib/shipeasy_admin/models/cursor_trigger_config.rb +0 -231
- data/lib/shipeasy_admin/models/delete_config_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_connector_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_event_response.rb +0 -189
- data/lib/shipeasy_admin/models/delete_experiment_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_gate_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_killswitch_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_metric_response.rb +0 -189
- data/lib/shipeasy_admin/models/delete_universe_response.rb +0 -188
- data/lib/shipeasy_admin/models/disable_gate_response.rb +0 -190
- data/lib/shipeasy_admin/models/discard_config_draft_response.rb +0 -188
- data/lib/shipeasy_admin/models/enable_gate_response.rb +0 -190
- data/lib/shipeasy_admin/models/error_record.rb +0 -597
- data/lib/shipeasy_admin/models/error_series_request.rb +0 -251
- data/lib/shipeasy_admin/models/error_series_response.rb +0 -195
- data/lib/shipeasy_admin/models/error_series_response_rows_inner.rb +0 -192
- data/lib/shipeasy_admin/models/experiment_inline_metric.rb +0 -337
- data/lib/shipeasy_admin/models/fire_connector_request.rb +0 -149
- data/lib/shipeasy_admin/models/fire_connector_response.rb +0 -176
- data/lib/shipeasy_admin/models/get_config_response.rb +0 -351
- data/lib/shipeasy_admin/models/get_current_project_response.rb +0 -606
- data/lib/shipeasy_admin/models/get_current_project_response_module_translations.rb +0 -104
- data/lib/shipeasy_admin/models/get_event_response.rb +0 -344
- data/lib/shipeasy_admin/models/get_experiment_response.rb +0 -688
- data/lib/shipeasy_admin/models/get_experiment_results_response.rb +0 -243
- data/lib/shipeasy_admin/models/get_experiment_results_response_experiment.rb +0 -248
- data/lib/shipeasy_admin/models/get_experiment_results_response_results_inner.rb +0 -252
- data/lib/shipeasy_admin/models/get_experiment_timeseries_response.rb +0 -192
- data/lib/shipeasy_admin/models/get_experiment_timeseries_response_series_inner.rb +0 -278
- data/lib/shipeasy_admin/models/get_killswitch_response.rb +0 -270
- data/lib/shipeasy_admin/models/get_metric_response.rb +0 -378
- data/lib/shipeasy_admin/models/get_ops_item_response.rb +0 -349
- data/lib/shipeasy_admin/models/jules_trigger_config.rb +0 -240
- data/lib/shipeasy_admin/models/key_record.rb +0 -353
- data/lib/shipeasy_admin/models/link_pr_to_ops_item_request.rb +0 -186
- data/lib/shipeasy_admin/models/link_pr_to_ops_item_response.rb +0 -166
- data/lib/shipeasy_admin/models/list_alert_rules_response_inner.rb +0 -478
- data/lib/shipeasy_admin/models/list_attributes_response_inner.rb +0 -176
- data/lib/shipeasy_admin/models/list_config_activity_response_inner.rb +0 -280
- data/lib/shipeasy_admin/models/list_configs_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_configs_response_data_inner.rb +0 -351
- data/lib/shipeasy_admin/models/list_configs_response_data_inner_drafts_value.rb +0 -237
- data/lib/shipeasy_admin/models/list_configs_response_data_inner_envs_value.rb +0 -237
- data/lib/shipeasy_admin/models/list_events_response_inner.rb +0 -344
- data/lib/shipeasy_admin/models/list_events_response_inner_properties_inner.rb +0 -259
- data/lib/shipeasy_admin/models/list_experiments_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_experiments_response_data_inner.rb +0 -688
- data/lib/shipeasy_admin/models/list_experiments_response_data_inner_groups_inner.rb +0 -241
- data/lib/shipeasy_admin/models/list_gates_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_gates_response_data_inner.rb +0 -395
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_enabled.rb +0 -104
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_rules_inner.rb +0 -238
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner.rb +0 -105
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of.rb +0 -358
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of1.rb +0 -331
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of_ramp.rb +0 -319
- data/lib/shipeasy_admin/models/list_i18n_drafts_response_inner.rb +0 -272
- data/lib/shipeasy_admin/models/list_i18n_keys_response.rb +0 -195
- data/lib/shipeasy_admin/models/list_i18n_keys_response_keys_inner.rb +0 -274
- data/lib/shipeasy_admin/models/list_i18n_profiles_response_inner.rb +0 -224
- data/lib/shipeasy_admin/models/list_keys_response.rb +0 -180
- data/lib/shipeasy_admin/models/list_killswitches_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_killswitches_response_data_inner.rb +0 -270
- data/lib/shipeasy_admin/models/list_killswitches_response_data_inner_envs_value.rb +0 -248
- data/lib/shipeasy_admin/models/list_metrics_response_inner.rb +0 -378
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir.rb +0 -288
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg.rb +0 -113
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of1.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of2.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of3.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of4.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of5.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of6.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of7.rb +0 -217
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of8.rb +0 -233
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9.rb +0 -240
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator.rb +0 -266
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator_filters_inner.rb +0 -264
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_group_by.rb +0 -228
- data/lib/shipeasy_admin/models/list_ops_items_response_inner.rb +0 -349
- data/lib/shipeasy_admin/models/list_slack_channels_response.rb +0 -195
- data/lib/shipeasy_admin/models/list_slack_channels_response_channels_inner.rb +0 -203
- data/lib/shipeasy_admin/models/list_universes_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_universes_response_data_inner.rb +0 -305
- data/lib/shipeasy_admin/models/notify_ops_request.rb +0 -261
- data/lib/shipeasy_admin/models/notify_ops_response.rb +0 -193
- data/lib/shipeasy_admin/models/publish_config_draft_request.rb +0 -187
- data/lib/shipeasy_admin/models/publish_config_draft_response.rb +0 -257
- data/lib/shipeasy_admin/models/publish_i18n_profile_response.rb +0 -391
- data/lib/shipeasy_admin/models/push_i18n_keys_request.rb +0 -195
- data/lib/shipeasy_admin/models/push_i18n_keys_request_keys_inner.rb +0 -192
- data/lib/shipeasy_admin/models/push_i18n_keys_response.rb +0 -251
- data/lib/shipeasy_admin/models/reanalyze_experiment_response.rb +0 -214
- data/lib/shipeasy_admin/models/revoke_key_response.rb +0 -216
- data/lib/shipeasy_admin/models/save_config_draft_request.rb +0 -199
- data/lib/shipeasy_admin/models/save_config_draft_response.rb +0 -283
- data/lib/shipeasy_admin/models/search_hit.rb +0 -284
- data/lib/shipeasy_admin/models/search_response.rb +0 -167
- data/lib/shipeasy_admin/models/set_experiment_metrics_request.rb +0 -168
- data/lib/shipeasy_admin/models/set_experiment_metrics_request_metrics_inner.rb +0 -216
- data/lib/shipeasy_admin/models/set_experiment_metrics_response.rb +0 -179
- data/lib/shipeasy_admin/models/set_experiment_metrics_response_metrics_inner.rb +0 -201
- data/lib/shipeasy_admin/models/set_experiment_status_request.rb +0 -190
- data/lib/shipeasy_admin/models/set_experiment_status_response.rb +0 -214
- data/lib/shipeasy_admin/models/set_i18n_label_request.rb +0 -213
- data/lib/shipeasy_admin/models/set_i18n_label_response.rb +0 -472
- data/lib/shipeasy_admin/models/set_killswitch_switch_response.rb +0 -285
- data/lib/shipeasy_admin/models/test_connector_response.rb +0 -189
- data/lib/shipeasy_admin/models/unset_killswitch_switch_request.rb +0 -234
- data/lib/shipeasy_admin/models/unset_killswitch_switch_response.rb +0 -286
- data/lib/shipeasy_admin/models/update_alert_rule_request.rb +0 -304
- data/lib/shipeasy_admin/models/update_alert_rule_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_config_request.rb +0 -198
- data/lib/shipeasy_admin/models/update_config_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_config_schema_request.rb +0 -168
- data/lib/shipeasy_admin/models/update_config_schema_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_connector_request.rb +0 -211
- data/lib/shipeasy_admin/models/update_connector_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_error_status_request.rb +0 -190
- data/lib/shipeasy_admin/models/update_event_request.rb +0 -198
- data/lib/shipeasy_admin/models/update_event_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_experiment_request.rb +0 -747
- data/lib/shipeasy_admin/models/update_experiment_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_gate_request.rb +0 -403
- data/lib/shipeasy_admin/models/update_gate_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_i18n_key_request.rb +0 -176
- data/lib/shipeasy_admin/models/update_i18n_key_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_killswitch_request.rb +0 -224
- data/lib/shipeasy_admin/models/update_killswitch_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_ops_item_request.rb +0 -205
- data/lib/shipeasy_admin/models/update_ops_item_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_universe_request.rb +0 -213
- data/lib/shipeasy_admin/models/update_universe_response.rb +0 -165
- data/lib/shipeasy_admin/models/upsert_project_request.rb +0 -222
- data/lib/shipeasy_admin/models/upsert_project_response.rb +0 -260
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
#The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 2.0.0
|
|
7
7
|
|
|
@@ -19,33 +19,31 @@ module Shipeasy::Admin::Generated
|
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
|
-
# File a
|
|
23
|
-
# Files one queue
|
|
24
|
-
# @param
|
|
22
|
+
# File a bug
|
|
23
|
+
# Files one bug onto a project's queue, awaiting human approval. This is the **public** intake: it authenticates with a *client* SDK key rather than an admin key, so it can be called from a CLI, an installer script, a devtools overlay, or any shipped code — the same places a client key already lives. Three gates decide whether a ticket is filed, and nothing else the caller sends can widen them: 1. the key is a `client` key carrying the `tickets:public_create` scope, 2. the key's project has public ticket creation enabled, and 3. the item is filed as `pending_approval` — parked out of the work queue until a human promotes it in the dashboard. The project is the key's own project; there is no `X-Project-Id` to pass and no way to file into someone else's queue. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** `shipeasy setup` fails on a customer's machine and self-reports the failure with the user's consent — `{ \"title\": \"Setup failed at Feature installs\", \"stepsToReproduce\": \"…\", \"actualResult\": \"…\" }`.
|
|
24
|
+
# @param create_public_bug_request [CreatePublicBugRequest]
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
|
-
# @
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
data, _status_code, _headers = create_ops_item_with_http_info(create_ops_item_request, opts)
|
|
26
|
+
# @return [CreatePublicTicketResponse]
|
|
27
|
+
def create_public_bug(create_public_bug_request, opts = {})
|
|
28
|
+
data, _status_code, _headers = create_public_bug_with_http_info(create_public_bug_request, opts)
|
|
30
29
|
data
|
|
31
30
|
end
|
|
32
31
|
|
|
33
|
-
# File a
|
|
34
|
-
# Files one queue
|
|
35
|
-
# @param
|
|
32
|
+
# File a bug
|
|
33
|
+
# Files one bug onto a project's queue, awaiting human approval. This is the **public** intake: it authenticates with a *client* SDK key rather than an admin key, so it can be called from a CLI, an installer script, a devtools overlay, or any shipped code — the same places a client key already lives. Three gates decide whether a ticket is filed, and nothing else the caller sends can widen them: 1. the key is a `client` key carrying the `tickets:public_create` scope, 2. the key's project has public ticket creation enabled, and 3. the item is filed as `pending_approval` — parked out of the work queue until a human promotes it in the dashboard. The project is the key's own project; there is no `X-Project-Id` to pass and no way to file into someone else's queue. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** `shipeasy setup` fails on a customer's machine and self-reports the failure with the user's consent — `{ \"title\": \"Setup failed at Feature installs\", \"stepsToReproduce\": \"…\", \"actualResult\": \"…\" }`.
|
|
34
|
+
# @param create_public_bug_request [CreatePublicBugRequest]
|
|
36
35
|
# @param [Hash] opts the optional parameters
|
|
37
|
-
# @
|
|
38
|
-
|
|
39
|
-
def create_ops_item_with_http_info(create_ops_item_request, opts = {})
|
|
36
|
+
# @return [Array<(CreatePublicTicketResponse, Integer, Hash)>] CreatePublicTicketResponse data, response status code and response headers
|
|
37
|
+
def create_public_bug_with_http_info(create_public_bug_request, opts = {})
|
|
40
38
|
if @api_client.config.debugging
|
|
41
|
-
@api_client.config.logger.debug 'Calling API: OpsApi.
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: OpsApi.create_public_bug ...'
|
|
42
40
|
end
|
|
43
|
-
# verify the required parameter '
|
|
44
|
-
if @api_client.config.client_side_validation &&
|
|
45
|
-
fail ArgumentError, "Missing the required parameter '
|
|
41
|
+
# verify the required parameter 'create_public_bug_request' is set
|
|
42
|
+
if @api_client.config.client_side_validation && create_public_bug_request.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'create_public_bug_request' when calling OpsApi.create_public_bug"
|
|
46
44
|
end
|
|
47
45
|
# resource path
|
|
48
|
-
local_var_path = '/
|
|
46
|
+
local_var_path = '/ops/bug'
|
|
49
47
|
|
|
50
48
|
# query parameters
|
|
51
49
|
query_params = opts[:query_params] || {}
|
|
@@ -59,22 +57,21 @@ module Shipeasy::Admin::Generated
|
|
|
59
57
|
if !content_type.nil?
|
|
60
58
|
header_params['Content-Type'] = content_type
|
|
61
59
|
end
|
|
62
|
-
header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
|
|
63
60
|
|
|
64
61
|
# form parameters
|
|
65
62
|
form_params = opts[:form_params] || {}
|
|
66
63
|
|
|
67
64
|
# http body (model)
|
|
68
|
-
post_body = opts[:debug_body] || @api_client.object_to_http_body(
|
|
65
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(create_public_bug_request)
|
|
69
66
|
|
|
70
67
|
# return_type
|
|
71
|
-
return_type = opts[:debug_return_type] || '
|
|
68
|
+
return_type = opts[:debug_return_type] || 'CreatePublicTicketResponse'
|
|
72
69
|
|
|
73
70
|
# auth_names
|
|
74
|
-
auth_names = opts[:debug_auth_names] || ['
|
|
71
|
+
auth_names = opts[:debug_auth_names] || ['clientSdkKey']
|
|
75
72
|
|
|
76
73
|
new_options = opts.merge(
|
|
77
|
-
:operation => :"OpsApi.
|
|
74
|
+
:operation => :"OpsApi.create_public_bug",
|
|
78
75
|
:header_params => header_params,
|
|
79
76
|
:query_params => query_params,
|
|
80
77
|
:form_params => form_params,
|
|
@@ -85,106 +82,36 @@ module Shipeasy::Admin::Generated
|
|
|
85
82
|
|
|
86
83
|
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
87
84
|
if @api_client.config.debugging
|
|
88
|
-
@api_client.config.logger.debug "API called: OpsApi#
|
|
85
|
+
@api_client.config.logger.debug "API called: OpsApi#create_public_bug\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
89
86
|
end
|
|
90
87
|
return data, status_code, headers
|
|
91
88
|
end
|
|
92
89
|
|
|
93
|
-
#
|
|
94
|
-
#
|
|
95
|
-
# @param
|
|
90
|
+
# File a feature request
|
|
91
|
+
# Files one feature request onto a project's queue, awaiting human approval. The feature-request counterpart to `POST /ops/bug`, with the same three gates: a `client` key carrying `tickets:public_create`, a project that has opted in, and a `pending_approval` state forced server-side. The project is the key's own project; there is no `X-Project-Id` to pass. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** An in-product \"request a feature\" form posts what the user asked for — `{ \"title\": \"Dark mode\", \"useCase\": \"Reduce eye strain at night\" }`.
|
|
92
|
+
# @param create_public_feature_request_request [CreatePublicFeatureRequestRequest]
|
|
96
93
|
# @param [Hash] opts the optional parameters
|
|
97
|
-
# @
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
data, _status_code, _headers = get_ops_item_with_http_info(handle, opts)
|
|
94
|
+
# @return [CreatePublicTicketResponse]
|
|
95
|
+
def create_public_feature_request(create_public_feature_request_request, opts = {})
|
|
96
|
+
data, _status_code, _headers = create_public_feature_request_with_http_info(create_public_feature_request_request, opts)
|
|
101
97
|
data
|
|
102
98
|
end
|
|
103
99
|
|
|
104
|
-
#
|
|
105
|
-
#
|
|
106
|
-
# @param
|
|
100
|
+
# File a feature request
|
|
101
|
+
# Files one feature request onto a project's queue, awaiting human approval. The feature-request counterpart to `POST /ops/bug`, with the same three gates: a `client` key carrying `tickets:public_create`, a project that has opted in, and a `pending_approval` state forced server-side. The project is the key's own project; there is no `X-Project-Id` to pass. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** An in-product \"request a feature\" form posts what the user asked for — `{ \"title\": \"Dark mode\", \"useCase\": \"Reduce eye strain at night\" }`.
|
|
102
|
+
# @param create_public_feature_request_request [CreatePublicFeatureRequestRequest]
|
|
107
103
|
# @param [Hash] opts the optional parameters
|
|
108
|
-
# @
|
|
109
|
-
|
|
110
|
-
def get_ops_item_with_http_info(handle, opts = {})
|
|
104
|
+
# @return [Array<(CreatePublicTicketResponse, Integer, Hash)>] CreatePublicTicketResponse data, response status code and response headers
|
|
105
|
+
def create_public_feature_request_with_http_info(create_public_feature_request_request, opts = {})
|
|
111
106
|
if @api_client.config.debugging
|
|
112
|
-
@api_client.config.logger.debug 'Calling API: OpsApi.
|
|
107
|
+
@api_client.config.logger.debug 'Calling API: OpsApi.create_public_feature_request ...'
|
|
113
108
|
end
|
|
114
|
-
#
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
# query parameters
|
|
118
|
-
query_params = opts[:query_params] || {}
|
|
119
|
-
|
|
120
|
-
# header parameters
|
|
121
|
-
header_params = opts[:header_params] || {}
|
|
122
|
-
# HTTP header 'Accept' (if needed)
|
|
123
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
124
|
-
header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
|
|
125
|
-
|
|
126
|
-
# form parameters
|
|
127
|
-
form_params = opts[:form_params] || {}
|
|
128
|
-
|
|
129
|
-
# http body (model)
|
|
130
|
-
post_body = opts[:debug_body]
|
|
131
|
-
|
|
132
|
-
# return_type
|
|
133
|
-
return_type = opts[:debug_return_type] || 'GetOpsItemResponse'
|
|
134
|
-
|
|
135
|
-
# auth_names
|
|
136
|
-
auth_names = opts[:debug_auth_names] || ['bearerSdkKey']
|
|
137
|
-
|
|
138
|
-
new_options = opts.merge(
|
|
139
|
-
:operation => :"OpsApi.get_ops_item",
|
|
140
|
-
:header_params => header_params,
|
|
141
|
-
:query_params => query_params,
|
|
142
|
-
:form_params => form_params,
|
|
143
|
-
:body => post_body,
|
|
144
|
-
:auth_names => auth_names,
|
|
145
|
-
:return_type => return_type
|
|
146
|
-
)
|
|
147
|
-
|
|
148
|
-
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
149
|
-
if @api_client.config.debugging
|
|
150
|
-
@api_client.config.logger.debug "API called: OpsApi#get_ops_item\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
151
|
-
end
|
|
152
|
-
return data, status_code, headers
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
# Link a fixing PR
|
|
156
|
-
# Record the pull request that fixes a queue item (and clears the link with `prNumber: null`). **Use case:** Tie the fixing PR to the item so closing the PR can flip it to ready_for_qa.
|
|
157
|
-
# @param handle [String] Per-project item number (e.g. `7`) or the full ops item id.
|
|
158
|
-
# @param link_pr_to_ops_item_request [LinkPrToOpsItemRequest]
|
|
159
|
-
# @param [Hash] opts the optional parameters
|
|
160
|
-
# @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
|
|
161
|
-
# @return [LinkPrToOpsItemResponse]
|
|
162
|
-
def link_pr_to_ops_item(handle, link_pr_to_ops_item_request, opts = {})
|
|
163
|
-
data, _status_code, _headers = link_pr_to_ops_item_with_http_info(handle, link_pr_to_ops_item_request, opts)
|
|
164
|
-
data
|
|
165
|
-
end
|
|
166
|
-
|
|
167
|
-
# Link a fixing PR
|
|
168
|
-
# Record the pull request that fixes a queue item (and clears the link with `prNumber: null`). **Use case:** Tie the fixing PR to the item so closing the PR can flip it to ready_for_qa.
|
|
169
|
-
# @param handle [String] Per-project item number (e.g. `7`) or the full ops item id.
|
|
170
|
-
# @param link_pr_to_ops_item_request [LinkPrToOpsItemRequest]
|
|
171
|
-
# @param [Hash] opts the optional parameters
|
|
172
|
-
# @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
|
|
173
|
-
# @return [Array<(LinkPrToOpsItemResponse, Integer, Hash)>] LinkPrToOpsItemResponse data, response status code and response headers
|
|
174
|
-
def link_pr_to_ops_item_with_http_info(handle, link_pr_to_ops_item_request, opts = {})
|
|
175
|
-
if @api_client.config.debugging
|
|
176
|
-
@api_client.config.logger.debug 'Calling API: OpsApi.link_pr_to_ops_item ...'
|
|
177
|
-
end
|
|
178
|
-
# verify the required parameter 'handle' is set
|
|
179
|
-
if @api_client.config.client_side_validation && handle.nil?
|
|
180
|
-
fail ArgumentError, "Missing the required parameter 'handle' when calling OpsApi.link_pr_to_ops_item"
|
|
181
|
-
end
|
|
182
|
-
# verify the required parameter 'link_pr_to_ops_item_request' is set
|
|
183
|
-
if @api_client.config.client_side_validation && link_pr_to_ops_item_request.nil?
|
|
184
|
-
fail ArgumentError, "Missing the required parameter 'link_pr_to_ops_item_request' when calling OpsApi.link_pr_to_ops_item"
|
|
109
|
+
# verify the required parameter 'create_public_feature_request_request' is set
|
|
110
|
+
if @api_client.config.client_side_validation && create_public_feature_request_request.nil?
|
|
111
|
+
fail ArgumentError, "Missing the required parameter 'create_public_feature_request_request' when calling OpsApi.create_public_feature_request"
|
|
185
112
|
end
|
|
186
113
|
# resource path
|
|
187
|
-
local_var_path = '/
|
|
114
|
+
local_var_path = '/ops/feature-request'
|
|
188
115
|
|
|
189
116
|
# query parameters
|
|
190
117
|
query_params = opts[:query_params] || {}
|
|
@@ -198,22 +125,21 @@ module Shipeasy::Admin::Generated
|
|
|
198
125
|
if !content_type.nil?
|
|
199
126
|
header_params['Content-Type'] = content_type
|
|
200
127
|
end
|
|
201
|
-
header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
|
|
202
128
|
|
|
203
129
|
# form parameters
|
|
204
130
|
form_params = opts[:form_params] || {}
|
|
205
131
|
|
|
206
132
|
# http body (model)
|
|
207
|
-
post_body = opts[:debug_body] || @api_client.object_to_http_body(
|
|
133
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(create_public_feature_request_request)
|
|
208
134
|
|
|
209
135
|
# return_type
|
|
210
|
-
return_type = opts[:debug_return_type] || '
|
|
136
|
+
return_type = opts[:debug_return_type] || 'CreatePublicTicketResponse'
|
|
211
137
|
|
|
212
138
|
# auth_names
|
|
213
|
-
auth_names = opts[:debug_auth_names] || ['
|
|
139
|
+
auth_names = opts[:debug_auth_names] || ['clientSdkKey']
|
|
214
140
|
|
|
215
141
|
new_options = opts.merge(
|
|
216
|
-
:operation => :"OpsApi.
|
|
142
|
+
:operation => :"OpsApi.create_public_feature_request",
|
|
217
143
|
:header_params => header_params,
|
|
218
144
|
:query_params => query_params,
|
|
219
145
|
:form_params => form_params,
|
|
@@ -224,240 +150,7 @@ module Shipeasy::Admin::Generated
|
|
|
224
150
|
|
|
225
151
|
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
226
152
|
if @api_client.config.debugging
|
|
227
|
-
@api_client.config.logger.debug "API called: OpsApi#
|
|
228
|
-
end
|
|
229
|
-
return data, status_code, headers
|
|
230
|
-
end
|
|
231
|
-
|
|
232
|
-
# List the operational queue
|
|
233
|
-
# Returns the unified ops queue (bugs, feature requests, errors, alerts), newest first. Filter by `type` and/or `status`, and cap with `limit`. **Use case:** Pull the open queue to triage — e.g. every `bug` still `open` — before working items down one by one.
|
|
234
|
-
# @param [Hash] opts the optional parameters
|
|
235
|
-
# @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
|
|
236
|
-
# @option opts [String] :type Filter by item type (`bug`/`feature_request`/`error`/`alert`), or `all`.
|
|
237
|
-
# @option opts [String] :status Filter by lifecycle status, or `all`.
|
|
238
|
-
# @option opts [Integer] :limit Max items to return (1–500).
|
|
239
|
-
# @return [Array<ListOpsItemsResponseInner>]
|
|
240
|
-
def list_ops_items(opts = {})
|
|
241
|
-
data, _status_code, _headers = list_ops_items_with_http_info(opts)
|
|
242
|
-
data
|
|
243
|
-
end
|
|
244
|
-
|
|
245
|
-
# List the operational queue
|
|
246
|
-
# Returns the unified ops queue (bugs, feature requests, errors, alerts), newest first. Filter by `type` and/or `status`, and cap with `limit`. **Use case:** Pull the open queue to triage — e.g. every `bug` still `open` — before working items down one by one.
|
|
247
|
-
# @param [Hash] opts the optional parameters
|
|
248
|
-
# @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
|
|
249
|
-
# @option opts [String] :type Filter by item type (`bug`/`feature_request`/`error`/`alert`), or `all`.
|
|
250
|
-
# @option opts [String] :status Filter by lifecycle status, or `all`.
|
|
251
|
-
# @option opts [Integer] :limit Max items to return (1–500).
|
|
252
|
-
# @return [Array<(Array<ListOpsItemsResponseInner>, Integer, Hash)>] Array<ListOpsItemsResponseInner> data, response status code and response headers
|
|
253
|
-
def list_ops_items_with_http_info(opts = {})
|
|
254
|
-
if @api_client.config.debugging
|
|
255
|
-
@api_client.config.logger.debug 'Calling API: OpsApi.list_ops_items ...'
|
|
256
|
-
end
|
|
257
|
-
allowable_values = ["bug", "feature_request", "error", "alert", "all"]
|
|
258
|
-
if @api_client.config.client_side_validation && opts[:'type'] && !allowable_values.include?(opts[:'type'])
|
|
259
|
-
fail ArgumentError, "invalid value for \"type\", must be one of #{allowable_values}"
|
|
260
|
-
end
|
|
261
|
-
allowable_values = ["open", "triaged", "in_progress", "ready_for_qa", "resolved", "wont_fix", "all"]
|
|
262
|
-
if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
|
|
263
|
-
fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
|
|
264
|
-
end
|
|
265
|
-
if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 500
|
|
266
|
-
fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling OpsApi.list_ops_items, must be smaller than or equal to 500.'
|
|
267
|
-
end
|
|
268
|
-
|
|
269
|
-
if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
|
|
270
|
-
fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling OpsApi.list_ops_items, must be greater than or equal to 1.'
|
|
271
|
-
end
|
|
272
|
-
|
|
273
|
-
# resource path
|
|
274
|
-
local_var_path = '/api/admin/ops'
|
|
275
|
-
|
|
276
|
-
# query parameters
|
|
277
|
-
query_params = opts[:query_params] || {}
|
|
278
|
-
query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
|
|
279
|
-
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
|
280
|
-
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
|
281
|
-
|
|
282
|
-
# header parameters
|
|
283
|
-
header_params = opts[:header_params] || {}
|
|
284
|
-
# HTTP header 'Accept' (if needed)
|
|
285
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
286
|
-
header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
|
|
287
|
-
|
|
288
|
-
# form parameters
|
|
289
|
-
form_params = opts[:form_params] || {}
|
|
290
|
-
|
|
291
|
-
# http body (model)
|
|
292
|
-
post_body = opts[:debug_body]
|
|
293
|
-
|
|
294
|
-
# return_type
|
|
295
|
-
return_type = opts[:debug_return_type] || 'Array<ListOpsItemsResponseInner>'
|
|
296
|
-
|
|
297
|
-
# auth_names
|
|
298
|
-
auth_names = opts[:debug_auth_names] || ['bearerSdkKey']
|
|
299
|
-
|
|
300
|
-
new_options = opts.merge(
|
|
301
|
-
:operation => :"OpsApi.list_ops_items",
|
|
302
|
-
:header_params => header_params,
|
|
303
|
-
:query_params => query_params,
|
|
304
|
-
:form_params => form_params,
|
|
305
|
-
:body => post_body,
|
|
306
|
-
:auth_names => auth_names,
|
|
307
|
-
:return_type => return_type
|
|
308
|
-
)
|
|
309
|
-
|
|
310
|
-
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
311
|
-
if @api_client.config.debugging
|
|
312
|
-
@api_client.config.logger.debug "API called: OpsApi#list_ops_items\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
313
|
-
end
|
|
314
|
-
return data, status_code, headers
|
|
315
|
-
end
|
|
316
|
-
|
|
317
|
-
# Raise an attention notification
|
|
318
|
-
# Raise a 'needs your attention' bell notification. Create-only and idempotent on `dedupeKey`. **Use case:** Escalate something that needs a human, deduped so repeats don't spam the bell.
|
|
319
|
-
# @param notify_ops_request [NotifyOpsRequest]
|
|
320
|
-
# @param [Hash] opts the optional parameters
|
|
321
|
-
# @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
|
|
322
|
-
# @return [NotifyOpsResponse]
|
|
323
|
-
def notify_ops(notify_ops_request, opts = {})
|
|
324
|
-
data, _status_code, _headers = notify_ops_with_http_info(notify_ops_request, opts)
|
|
325
|
-
data
|
|
326
|
-
end
|
|
327
|
-
|
|
328
|
-
# Raise an attention notification
|
|
329
|
-
# Raise a 'needs your attention' bell notification. Create-only and idempotent on `dedupeKey`. **Use case:** Escalate something that needs a human, deduped so repeats don't spam the bell.
|
|
330
|
-
# @param notify_ops_request [NotifyOpsRequest]
|
|
331
|
-
# @param [Hash] opts the optional parameters
|
|
332
|
-
# @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
|
|
333
|
-
# @return [Array<(NotifyOpsResponse, Integer, Hash)>] NotifyOpsResponse data, response status code and response headers
|
|
334
|
-
def notify_ops_with_http_info(notify_ops_request, opts = {})
|
|
335
|
-
if @api_client.config.debugging
|
|
336
|
-
@api_client.config.logger.debug 'Calling API: OpsApi.notify_ops ...'
|
|
337
|
-
end
|
|
338
|
-
# verify the required parameter 'notify_ops_request' is set
|
|
339
|
-
if @api_client.config.client_side_validation && notify_ops_request.nil?
|
|
340
|
-
fail ArgumentError, "Missing the required parameter 'notify_ops_request' when calling OpsApi.notify_ops"
|
|
341
|
-
end
|
|
342
|
-
# resource path
|
|
343
|
-
local_var_path = '/api/admin/notifications'
|
|
344
|
-
|
|
345
|
-
# query parameters
|
|
346
|
-
query_params = opts[:query_params] || {}
|
|
347
|
-
|
|
348
|
-
# header parameters
|
|
349
|
-
header_params = opts[:header_params] || {}
|
|
350
|
-
# HTTP header 'Accept' (if needed)
|
|
351
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
352
|
-
# HTTP header 'Content-Type'
|
|
353
|
-
content_type = @api_client.select_header_content_type(['application/json'])
|
|
354
|
-
if !content_type.nil?
|
|
355
|
-
header_params['Content-Type'] = content_type
|
|
356
|
-
end
|
|
357
|
-
header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
|
|
358
|
-
|
|
359
|
-
# form parameters
|
|
360
|
-
form_params = opts[:form_params] || {}
|
|
361
|
-
|
|
362
|
-
# http body (model)
|
|
363
|
-
post_body = opts[:debug_body] || @api_client.object_to_http_body(notify_ops_request)
|
|
364
|
-
|
|
365
|
-
# return_type
|
|
366
|
-
return_type = opts[:debug_return_type] || 'NotifyOpsResponse'
|
|
367
|
-
|
|
368
|
-
# auth_names
|
|
369
|
-
auth_names = opts[:debug_auth_names] || ['bearerSdkKey']
|
|
370
|
-
|
|
371
|
-
new_options = opts.merge(
|
|
372
|
-
:operation => :"OpsApi.notify_ops",
|
|
373
|
-
:header_params => header_params,
|
|
374
|
-
:query_params => query_params,
|
|
375
|
-
:form_params => form_params,
|
|
376
|
-
:body => post_body,
|
|
377
|
-
:auth_names => auth_names,
|
|
378
|
-
:return_type => return_type
|
|
379
|
-
)
|
|
380
|
-
|
|
381
|
-
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
382
|
-
if @api_client.config.debugging
|
|
383
|
-
@api_client.config.logger.debug "API called: OpsApi#notify_ops\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
384
|
-
end
|
|
385
|
-
return data, status_code, headers
|
|
386
|
-
end
|
|
387
|
-
|
|
388
|
-
# Update a queue item
|
|
389
|
-
# Update a queue item's `status` and/or `priority`. Other fields are immutable. **Use case:** Move an item through its lifecycle (triage → in_progress → resolved) as you work it.
|
|
390
|
-
# @param handle [String] Per-project item number (e.g. `7`) or the full ops item id.
|
|
391
|
-
# @param update_ops_item_request [UpdateOpsItemRequest]
|
|
392
|
-
# @param [Hash] opts the optional parameters
|
|
393
|
-
# @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
|
|
394
|
-
# @return [UpdateOpsItemResponse]
|
|
395
|
-
def update_ops_item(handle, update_ops_item_request, opts = {})
|
|
396
|
-
data, _status_code, _headers = update_ops_item_with_http_info(handle, update_ops_item_request, opts)
|
|
397
|
-
data
|
|
398
|
-
end
|
|
399
|
-
|
|
400
|
-
# Update a queue item
|
|
401
|
-
# Update a queue item's `status` and/or `priority`. Other fields are immutable. **Use case:** Move an item through its lifecycle (triage → in_progress → resolved) as you work it.
|
|
402
|
-
# @param handle [String] Per-project item number (e.g. `7`) or the full ops item id.
|
|
403
|
-
# @param update_ops_item_request [UpdateOpsItemRequest]
|
|
404
|
-
# @param [Hash] opts the optional parameters
|
|
405
|
-
# @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
|
|
406
|
-
# @return [Array<(UpdateOpsItemResponse, Integer, Hash)>] UpdateOpsItemResponse data, response status code and response headers
|
|
407
|
-
def update_ops_item_with_http_info(handle, update_ops_item_request, opts = {})
|
|
408
|
-
if @api_client.config.debugging
|
|
409
|
-
@api_client.config.logger.debug 'Calling API: OpsApi.update_ops_item ...'
|
|
410
|
-
end
|
|
411
|
-
# verify the required parameter 'handle' is set
|
|
412
|
-
if @api_client.config.client_side_validation && handle.nil?
|
|
413
|
-
fail ArgumentError, "Missing the required parameter 'handle' when calling OpsApi.update_ops_item"
|
|
414
|
-
end
|
|
415
|
-
# verify the required parameter 'update_ops_item_request' is set
|
|
416
|
-
if @api_client.config.client_side_validation && update_ops_item_request.nil?
|
|
417
|
-
fail ArgumentError, "Missing the required parameter 'update_ops_item_request' when calling OpsApi.update_ops_item"
|
|
418
|
-
end
|
|
419
|
-
# resource path
|
|
420
|
-
local_var_path = '/api/admin/ops/{handle}'.sub('{handle}', CGI.escape(handle.to_s))
|
|
421
|
-
|
|
422
|
-
# query parameters
|
|
423
|
-
query_params = opts[:query_params] || {}
|
|
424
|
-
|
|
425
|
-
# header parameters
|
|
426
|
-
header_params = opts[:header_params] || {}
|
|
427
|
-
# HTTP header 'Accept' (if needed)
|
|
428
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
429
|
-
# HTTP header 'Content-Type'
|
|
430
|
-
content_type = @api_client.select_header_content_type(['application/json'])
|
|
431
|
-
if !content_type.nil?
|
|
432
|
-
header_params['Content-Type'] = content_type
|
|
433
|
-
end
|
|
434
|
-
header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
|
|
435
|
-
|
|
436
|
-
# form parameters
|
|
437
|
-
form_params = opts[:form_params] || {}
|
|
438
|
-
|
|
439
|
-
# http body (model)
|
|
440
|
-
post_body = opts[:debug_body] || @api_client.object_to_http_body(update_ops_item_request)
|
|
441
|
-
|
|
442
|
-
# return_type
|
|
443
|
-
return_type = opts[:debug_return_type] || 'UpdateOpsItemResponse'
|
|
444
|
-
|
|
445
|
-
# auth_names
|
|
446
|
-
auth_names = opts[:debug_auth_names] || ['bearerSdkKey']
|
|
447
|
-
|
|
448
|
-
new_options = opts.merge(
|
|
449
|
-
:operation => :"OpsApi.update_ops_item",
|
|
450
|
-
:header_params => header_params,
|
|
451
|
-
:query_params => query_params,
|
|
452
|
-
:form_params => form_params,
|
|
453
|
-
:body => post_body,
|
|
454
|
-
:auth_names => auth_names,
|
|
455
|
-
:return_type => return_type
|
|
456
|
-
)
|
|
457
|
-
|
|
458
|
-
data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
|
|
459
|
-
if @api_client.config.debugging
|
|
460
|
-
@api_client.config.logger.debug "API called: OpsApi#update_ops_item\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
153
|
+
@api_client.config.logger.debug "API called: OpsApi#create_public_feature_request\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
461
154
|
end
|
|
462
155
|
return data, status_code, headers
|
|
463
156
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
#The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 2.0.0
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
#The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 2.0.0
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
#The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 2.0.0
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
#The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 2.0.0
|
|
7
7
|
|
|
@@ -256,6 +256,13 @@ module Shipeasy::Admin::Generated
|
|
|
256
256
|
key: 'Authorization',
|
|
257
257
|
value: "Bearer #{access_token_with_refresh}"
|
|
258
258
|
},
|
|
259
|
+
'clientSdkKey' =>
|
|
260
|
+
{
|
|
261
|
+
type: 'api_key',
|
|
262
|
+
in: 'header',
|
|
263
|
+
key: 'X-SDK-Key',
|
|
264
|
+
value: api_key_with_prefix('X-SDK-Key')
|
|
265
|
+
},
|
|
259
266
|
}
|
|
260
267
|
end
|
|
261
268
|
|
|
@@ -275,6 +282,26 @@ module Shipeasy::Admin::Generated
|
|
|
275
282
|
|
|
276
283
|
def operation_server_settings
|
|
277
284
|
{
|
|
285
|
+
"OpsApi.create_public_bug": [
|
|
286
|
+
{
|
|
287
|
+
url: "https://api.shipeasy.ai",
|
|
288
|
+
description: "Shipeasy edge worker (production)",
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
url: "http://localhost:8787",
|
|
292
|
+
description: "Local `wrangler dev`",
|
|
293
|
+
}
|
|
294
|
+
],
|
|
295
|
+
"OpsApi.create_public_feature_request": [
|
|
296
|
+
{
|
|
297
|
+
url: "https://api.shipeasy.ai",
|
|
298
|
+
description: "Shipeasy edge worker (production)",
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
url: "http://localhost:8787",
|
|
302
|
+
description: "Local `wrangler dev`",
|
|
303
|
+
}
|
|
304
|
+
],
|
|
278
305
|
}
|
|
279
306
|
end
|
|
280
307
|
|