code: def merge_pr(self, number, commit_title, commit_message):
      url = f"{self.github_api}/pulls/{number}/merge"
      payload = {
          "commit_title": commit_title,
          "commit_message": commit_message,
          "merge_method": "squash",
      }
      response = requests.put(url, headers=self.headers, json=payload)
      result = response.json()
      if response.status_code == 200 and "merged" in result:
          self.clear_pr_state_labels(number)
      else:
          result["merged"] = False
          result["message"] += f": {url}"
      return result
  
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 10 for calling the GitHubAPI obj's underlying member method code with example usage: obj.merge_pr(number, commit_title, commit_message) and returns: result