在Redmine中,可以通过Rake任务来保存问题的自定义字段值。Rake是Ruby的一种构建工具,用于执行任务和自动化工作流程。
要保存问题的自定义字段值,首先需要创建一个Rake任务。Rake任务是一个Ruby脚本,可以在Redmine中执行特定的操作。以下是一个示例的Rake任务代码:
namespace :redmine do
desc 'Save custom field value for an issue'
task :save_custom_field_value, [:issue_id, :field_name, :field_value] => :environment do |task, args|
issue = Issue.find(args[:issue_id])
custom_field = CustomField.find_by(name: args[:field_name])
if issue && custom_field
issue.custom_field_values = { custom_field.id => args[:field_value] }
issue.save
puts "Custom field value saved successfully."
else
puts "Issue or custom field not found."
end
end
end
在上述代码中,我们定义了一个名为save_custom_field_value
的Rake任务,它接受三个参数:issue_id
(问题的ID)、field_name
(自定义字段的名称)和field_value
(要保存的字段值)。任务首先通过Issue.find
方法获取问题对象,然后通过CustomField.find_by
方法获取自定义字段对象。接下来,我们将自定义字段值设置为issue.custom_field_values
的哈希表,其中键是自定义字段的ID,值是要保存的字段值。最后,我们调用issue.save
方法保存更改,并输出相应的结果。
要在Redmine中执行此Rake任务,可以使用以下命令:
bundle exec rake redmine:save_custom_field_value[issue_id,field_name,field_value]
其中,issue_id
是要保存自定义字段值的问题的ID,field_name
是自定义字段的名称,field_value
是要保存的字段值。
这是一个在Redmine中通过Rake任务保存问题自定义字段值的示例。根据实际需求,你可以根据自己的情况进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云