Module: LogBrew::SupportTicketDraft
- Defined in:
- lib/logbrew/support_ticket.rb
Overview
Local-only support-ticket payload drafts for explicit user or agent handoff.
Constant Summary collapse
- SOURCES =
%w[cli sdk website docs mobile].freeze
- CATEGORIES =
%w[ sdk_install_failure ingest_failure auth_failure project_setup dashboard_issue docs_confusion cli_issue mobile_issue billing_question other ].freeze
- SENSITIVE_KEY_MARKERS =
%w[ apikey auth authorization authtoken bearer clientsecret connectionstring cookie credential dsn email errormessage exceptionmessage password passwd privatekey refreshtoken secret session setcookie stacktrace token traceback ].freeze
- REDACTED =
"[redacted]"- MAX_DEPTH =
5- MAX_ARRAY_LENGTH =
20- MAX_STRING_LENGTH =
500
Class Method Summary collapse
Class Method Details
.create(source:, category:, title:, description:, **options) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/logbrew/support_ticket.rb', line 51 def create(source:, category:, title:, description:, **) Validation.require_allowed_value("support ticket source", source, SOURCES) Validation.require_allowed_value("support ticket category", category, CATEGORIES) draft = { "source" => source, "category" => category, "title" => required_string("support ticket title", title), "description" => required_string("support ticket description", description) } add_optional_string(draft, "project_id", [:project_id]) add_optional_string(draft, "environment", [:environment]) add_optional_string(draft, "runtime", [:runtime]) add_optional_string(draft, "framework", [:framework]) add_optional_string(draft, "sdk_package", [:sdk_package]) add_optional_string(draft, "sdk_version", [:sdk_version]) add_optional_string(draft, "release", [:release]) add_trace_id(draft, [:trace_id]) add_optional_string(draft, "event_id", [:event_id]) add_diagnostics(draft, [:diagnostics]) if .key?(:diagnostics) draft end |