class Issuer::Processor

def process_file file_path, proj: nil, dry_run: false, automation_options: {}

Raises:
  • (Issuer::Error) - If file cannot be read or processed

Returns:
  • (Hash) - Results including created issues, milestones, labels, and run metadata

Options Hash: (**automation_options)
  • :auto_metadata (Boolean) -- Automatically create all missing metadata
  • :auto_tags (Boolean) -- Automatically create missing labels
  • :auto_versions (Boolean) -- Automatically create missing milestones

Parameters:
  • automation_options (Hash) -- Options for automatic resource creation
  • dry_run (Boolean) -- If true, validate and show what would be created without API calls
  • proj (String, nil) -- Target repository (org/repo format)
  • file_path (String) -- Path to the IMYML YAML file
def process_file file_path, proj: nil, dry_run: false, automation_options: {}
  require 'yaml'
  unless File.exist?(file_path)
    raise Error, "File not found: #{file_path}"
  end
  begin
    raw_data = YAML.load_file(file_path)
  rescue => e
    raise Error, "Could not parse YAML file: #{file_path}\n#{e.message}"
  end
  process_data(raw_data, proj: proj, dry_run: dry_run, automation_options: automation_options)
end