44 lines
1.3 KiB
Plaintext
44 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
|
|
api.max_length 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?
|
|
|
|
values = field.possible_values_options
|
|
if values.present?
|
|
api.array :possible_values do
|
|
values.each do |label, value|
|
|
api.possible_value do
|
|
api.value value || label
|
|
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
|