end
end
- r = Commit.find_commit_range(current_user,
- resource_attrs[:repository],
- resource_attrs[:minimum_script_version],
- resource_attrs[:script_version],
- resource_attrs[:exclude_script_versions])
- if !resource_attrs[:nondeterministic] and !resource_attrs[:no_reuse]
+ # We used to ask for the minimum_, exclude_, and no_reuse params
+ # in the job resource. Now we advertise them as flags that alter
+ # the behavior of the create action.
+ [:minimum_script_version, :exclude_script_versions].each do |attr|
+ if resource_attrs.has_key? attr
+ params[attr] = resource_attrs.delete attr
+ end
+ end
+ if resource_attrs.has_key? :no_reuse
+ params[:find_or_create] = !resource_attrs.delete(:no_reuse)
+ end
+
+ if params[:find_or_create]
+ r = Commit.find_commit_range(current_user,
+ resource_attrs[:repository],
+ params[:minimum_script_version],
+ resource_attrs[:script_version],
+ params[:exclude_script_versions])
# Search for jobs whose script_version is in the list of commits
# returned by find_commit_range
@object = nil
end
end
end
- if r
- resource_attrs[:script_version] = r[0]
- end
- # Don't pass these on to activerecord
- resource_attrs.delete(:minimum_script_version)
- resource_attrs.delete(:exclude_script_versions)
- resource_attrs.delete(:no_reuse)
super
end
cancelled_at: nil,
success: nil
})
- params[:order] ||= 'priority desc, created_at'
+ params[:order] ||= ['priority desc', 'created_at']
find_objects_for_index
index
end