Method: JIRA::Resource::Field.map_fields

Defined in:
lib/jira/resource/field.rb

.map_fields(client) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/jira/resource/field.rb', line 22

def self.map_fields(client)
  field_map = {}
  fields = client.Field.all

  # two pass approach, so that a custom field with the same name
  # as a system field can't take precedence
  fields.each do |f|
    next if f.custom

    name = safe_name(f.name)
    field_map[name] = f.id
  end

  fields.each do |f| # rubocop:disable Style/CombinableLoops
    next unless f.custom

    name = if field_map.key? f.name
             renamed = safer_name(f.name, f.id)
             warn "Duplicate Field name #{f.name} #{f.id} - renaming as #{renamed}"
             renamed
           else
             safe_name(f.name)
           end
    field_map[name] = f.id
  end

  client.field_map_cache = field_map
end