Module: PredictabilityEngine::JiraConfigPrompter
- Included in:
- Cli
- Defined in:
- lib/predictability_engine/jira_config_prompter.rb
Overview
Mixin providing interactive credential prompts for ‘jira_config –auth-mode`. Relies on `ask` / `ask_secret` being defined by the including class (Thor).
Instance Method Summary collapse
Instance Method Details
#build_profile_data(site, context_path, mode) ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/predictability_engine/jira_config_prompter.rb', line 7 def build_profile_data(site, context_path, mode) data = { 'site' => site } data['context_path'] = context_path unless context_path.strip.empty? data['auth_mode'] = mode unless mode == 'basic' data.merge!(prompt_auth_fields(mode)) data end |
#prompt_auth_fields(mode) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/predictability_engine/jira_config_prompter.rb', line 15 def prompt_auth_fields(mode) case mode when 'bearer' { 'bearer_token' => ask_secret('Bearer token:') } when 'cookie' { 'auth_cookie' => ask_secret('Session cookie (e.g., JSESSIONID=abc; crowd.token_key=xyz):') } when 'mfa_api' prompt_mfa_api_fields when 'mfa_browser' prompt_mfa_browser_fields else { 'email' => ask('Jira email:'), 'token' => ask_secret('Jira API token:') } end end |