From 1e58dd091dbc85a7c01728173b6f3f297ef18a7c Mon Sep 17 00:00:00 2001
From: Lin Jen-Shin <jen-shin@gitlab.com>
Date: Wed, 11 Aug 2021 21:44:49 +0800
Subject: [PATCH] Prefer CI_API_V4_URL for scripts/api/cancel_pipeline.rb

Also avoid using global GitLab client
---
 scripts/api/cancel_pipeline.rb | 12 ++++++------
 scripts/api/get_job_id.rb      | 20 ++++++++++----------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/scripts/api/cancel_pipeline.rb b/scripts/api/cancel_pipeline.rb
index f3aea90f54f8a..2930f5b2e138b 100755
--- a/scripts/api/cancel_pipeline.rb
+++ b/scripts/api/cancel_pipeline.rb
@@ -18,19 +18,19 @@ def initialize(options)
     @project = options.delete(:project)
     @pipeline_id = options.delete(:pipeline_id)
 
-    Gitlab.configure do |config|
-      config.endpoint = 'https://gitlab.com/api/v4'
-      config.private_token = options.delete(:api_token)
-    end
+    @client = Gitlab.client(
+      endpoint: ENV.fetch('CI_API_V4_URL', 'https://gitlab.com/api/v4'),
+      private_token: options.delete(:api_token)
+    )
   end
 
   def execute
-    Gitlab.cancel_pipeline(project, pipeline_id)
+    client.cancel_pipeline(project, pipeline_id)
   end
 
   private
 
-  attr_reader :project, :pipeline_id
+  attr_reader :project, :pipeline_id, :client
 end
 
 if $0 == __FILE__
diff --git a/scripts/api/get_job_id.rb b/scripts/api/get_job_id.rb
index f6f1f3262255d..96295f18e4c3b 100755
--- a/scripts/api/get_job_id.rb
+++ b/scripts/api/get_job_id.rb
@@ -28,10 +28,10 @@ def initialize(options)
 
     warn "No API token given." if api_token.empty?
 
-    Gitlab.configure do |config|
-      config.endpoint = 'https://gitlab.com/api/v4'
-      config.private_token = api_token
-    end
+    @client = Gitlab.client(
+      endpoint: 'https://gitlab.com/api/v4',
+      private_token: api_token
+    )
   end
 
   def execute
@@ -40,13 +40,13 @@ def execute
 
   private
 
-  attr_reader :project, :pipeline_query, :job_query, :pipeline_id, :job_name, :artifact_path
+  attr_reader :project, :pipeline_query, :job_query, :pipeline_id, :job_name, :artifact_path, :client
 
   def find_job_with_artifact
     return if artifact_path.nil?
 
-    Gitlab.pipelines(project, pipeline_query_params).auto_paginate do |pipeline|
-      Gitlab.pipeline_jobs(project, pipeline.id, job_query_params).auto_paginate do |job|
+    client.pipelines(project, pipeline_query_params).auto_paginate do |pipeline|
+      client.pipeline_jobs(project, pipeline.id, job_query_params).auto_paginate do |job|
         return job if found_job_with_artifact?(job) # rubocop:disable Cop/AvoidReturnFromBlocks
       end
     end
@@ -57,8 +57,8 @@ def find_job_with_artifact
   def find_job_with_filtered_pipelines
     return if pipeline_query.empty?
 
-    Gitlab.pipelines(project, pipeline_query_params).auto_paginate do |pipeline|
-      Gitlab.pipeline_jobs(project, pipeline.id, job_query_params).auto_paginate do |job|
+    client.pipelines(project, pipeline_query_params).auto_paginate do |pipeline|
+      client.pipeline_jobs(project, pipeline.id, job_query_params).auto_paginate do |job|
         return job if found_job_by_name?(job) # rubocop:disable Cop/AvoidReturnFromBlocks
       end
     end
@@ -69,7 +69,7 @@ def find_job_with_filtered_pipelines
   def find_job_in_pipeline
     return unless pipeline_id
 
-    Gitlab.pipeline_jobs(project, pipeline_id, job_query_params).auto_paginate do |job|
+    client.pipeline_jobs(project, pipeline_id, job_query_params).auto_paginate do |job|
       return job if found_job_by_name?(job) # rubocop:disable Cop/AvoidReturnFromBlocks
     end
 
-- 
GitLab