43 lines
1.3 KiB
Plaintext
43 lines
1.3 KiB
Plaintext
|
api.array :custom_fields do
|
||
|
@custom_fields.each do |field|
|
||
|
api.custom_field do
|
||
|
api.id field.id
|
||
|
api.name field.name
|
||
|
api.customized_type field.class.customized_class.name.underscore if field.class.customized_class
|
||
|
api.field_format field.field_format
|
||
|
api.regexp field.regexp
|
||
|
api.min_length (field.min_length == 0 ? nil : field.min_length)
|
||
|
api.max_length (field.max_length == 0 ? nil : field.max_length)
|
||
|
api.is_required field.is_required?
|
||
|
api.is_filter field.is_filter?
|
||
|
api.searchable field.searchable
|
||
|
api.multiple field.multiple?
|
||
|
api.default_value field.default_value
|
||
|
api.visible field.visible?
|
||
|
|
||
|
if field.field_format == 'list'
|
||
|
api.array :possible_values do
|
||
|
field.possible_values.each do |v|
|
||
|
api.possible_value do
|
||
|
api.value v
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if field.is_a?(IssueCustomField)
|
||
|
api.trackers do
|
||
|
field.trackers.each do |tracker|
|
||
|
api.tracker :id => tracker.id, :name => tracker.name
|
||
|
end
|
||
|
end
|
||
|
api.roles do
|
||
|
field.roles.each do |role|
|
||
|
api.role :id => role.id, :name => role.name
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|