Skip to content

Allow to set add_external_participants_from_cc in ServiceDeskController

What does this MR do and why?

Contributes to Service Desk should add emails in the To line a... (#4652 - closed)

This feature is hidden behind the feature flag 🎏 issue_email_participants.

When a received Service Desk email contains CC addresses they are now also added as external issue email participants if the settings flag add_external_participants_from_cc in ServiceDeskSetting is checked.

This MR allows to set add_external_participants_from_cc via ServiceDeskController which will be used by the frontend app on the projects settings page. This MR contains the frontend changes Adds add_external_participants_from_cc to Servi... (!134996 - merged)

Related MRs

Screenshots or screen recordings

🚫 backend only

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

I added steps to validate ServiceDeskSettings::UpdateService locally. If you'd like to have additional steps, please leave a comment.

  1. Select a project
    project = Project.find(7)
  2. Now enable the setting
    ServiceDeskSettings::UpdateService.new(project, User.first, add_external_participants_from_cc: true).execute
  3. Check whether the setting has been changed. It should be false, because the feature flag is disabled
    project.reset.service_desk_setting.add_external_participants_from_cc
  4. Now enable the feature flag
    Feature.enable(:issue_email_participants, project)
  5. Repeat steps 2) and 3). The output should be true now.
  6. (Optional) Use this to rollback the changes to your project
    ServiceDeskSettings::UpdateService.new(project, User.first, add_external_participants_from_cc: false).execute
    Feature.disable(:issue_email_participants, project)

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Marc Saleiko

Merge request reports