code: def cli():
      # Location of your Arrow git clone
      ARROW_HOME = os.path.abspath(os.path.dirname(__file__))
      print(f"ARROW_HOME = {ARROW_HOME}")
      print(f"ORG_NAME = {ORG_NAME}")
      print(f"PROJECT_NAME = {PROJECT_NAME}")
  
      cmd = CommandInput()
  
      pr_num = get_pr_num()
  
      os.chdir(ARROW_HOME)
  
      github_api = GitHubAPI(PROJECT_NAME, cmd)
  
      jira_con = connect_jira(cmd)
      pr = PullRequest(cmd, github_api, ORG_NAME, jira_con, pr_num)
  
      if pr.is_merged:
          print("Pull request %s has already been merged" % pr_num)
          sys.exit(0)
  
      if not pr.is_mergeable:
          print(
              "Pull request %s is not mergeable in its current form"
              % pr_num
          )
          sys.exit(1)
  
      pr.show()
  
      cmd.continue_maybe(
          "Proceed with merging pull request #%s?" % pr_num
      )
  
      pr.merge()
  
      if pr.issue is None:
          print("Minor PR.  No issue to update.\n")
          return
  
      cmd.continue_maybe(
          "Would you like to update the associated issue?"
      )
      issue_comment = "Issue resolved by pull request %s\n%s" % (
          pr_num,
          f"https://github.com/{ORG_NAME}/{PROJECT_NAME}/pull/{pr_num}",
      )
      fix_version = prompt_for_fix_version(
          cmd, pr.issue, pr.maintenance_branches
      )
      pr.issue.resolve(fix_version, issue_comment, pr.body)
  
imports: import configparser
  import os
  import pprint
  import re
  import subprocess
  import sys
  import requests
  import getpass
  from six.moves import input
  import six
label_desc: Use image node_id 13 for calling a global function with example usage: cli() without return types