Skip to content

Refactor app/assets/javascripts/integrations/integration_settings_form.js to not depend on jQuery

What does this MR do and why?

Bye-bye jquery!

Affected pages

  • Project-level integration settings page: /-/services/jira/edit
  • Group-level integration settings page: /groups/$GROUP/-/settings/integrations/jira/edit
  • Admin-level integration settings page: /admin/application_settings/integrations/jira/edit
  • Edit Slack Application settings page: /-/settings/slack/edit

Note: this code is not ideal. Here's an issue to investigate a better approach: #342121 (closed).

A follow-up to this MR is !71518 (merged), where we'll consolidate the event names constants to allow for better debug-ability.

Screenshots or screen recordings

Video demonstrates that all aspects of the form work as expected (video is of the project-level integration settings page for the Jira integration):

Kapture_2021-10-01_at_15.55.02

How to set up and validate locally

For project-level integrations, set up an integration for the project: settings > integrations.

The Jira integration is generally the best candidate as it is the most complex and leverages all of this code. To set up a Jira integration:

  1. Select a GitLab project on your local GitLab instance.
  2. Enable and configure the Jira integration for the project. More information.
    • GitLab team members: use the Jira credentials in the shared Engineering 1Password folder.
    • Community contributors: set up your own Jira instance.

MR acceptance checklist

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

Related to #337605 (closed)

Edited by Tom Quirk

Merge request reports