docs: def _prime_install_map(self):
          """Fetch all installations and look up the ID for each."""
          url = "{}/app/installations".format(self.api_url)
          headers = self._get_app_auth_headers()
          LOGGER.debug("Fetching installations for GitHub app")
  
          response = requests.get(url, headers=headers)
          response.raise_for_status()
  
          data = response.json()
  
          for install in data:
              install_id = install.get("id")
              token = self._get_installation_key(project=None, install_id=install_id)
              headers = {
                  "Accept": PREVIEW_JSON_ACCEPT,
                  "Authorization": "token {}".format(token),
              }
  
              url = "{}/installation/repositories?per_page=100".format(self.api_url)
              while url:
                  LOGGER.debug("Fetching repos for installation %s", install_id)
                  response = requests.get(url, headers=headers)
                  response.raise_for_status()
                  repos = response.json()
  
                  # Store all projects in the installation map
                  for repo in repos.get("repositories", []):
                      # TODO (fschmidt): Store the installation's
                      # permissions (could come in handy for later features)
                      project_name = repo["full_name"]
                      self.installation_map[project_name] = {
                          "installation_id": install_id,
                          "default_branch": repo["default_branch"],
                      }
  
                  # Check if we need to do further page calls
                  url = response.links.get("next", {}).get("url")