File: branches_controller.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (41 lines) | stat: -rw-r--r-- 1,119 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# frozen_string_literal: true

class JiraConnect::BranchesController < JiraConnect::ApplicationController
  before_action :authenticate_user!, only: :new
  skip_before_action :verify_atlassian_jwt!, only: :new

  def new
    @new_branch_data = new_branch_data
  end

  # If the GitLab for Jira Cloud app was installed from the Jira marketplace and points to a self-managed instance,
  # we route the user to the self-managed instance, otherwise we redirect to :new
  def route
    if current_jira_installation.proxy?
      redirect_to "#{current_jira_installation.create_branch_url}?#{request.query_string}"

      return
    end

    redirect_to "#{new_jira_connect_branch_path}?#{request.query_string}"
  end

  private

  def initial_branch_name
    return unless params[:issue_key].present?

    Issue.to_branch_name(
      params[:issue_key],
      params[:issue_summary]
    )
  end

  def new_branch_data
    {
      initial_branch_name: initial_branch_name,
      success_state_svg_path:
        ActionController::Base.helpers.image_path('illustrations/empty-state/empty-merge-requests-md.svg')
    }
  end
end