code: def download_issuetypes(jira_connection, project_ids):
      '''
      For Jira next-gen projects, issue types can be scoped to projects.
      For issue types that are scoped to projects, only extract the ones
      in the extracted projects.
      '''
      print('downloading jira issue types... ', end='', flush=True)
      result = []
      for it in jira_connection.issue_types():
          if 'scope' in it.raw and it.raw['scope']['type'] == 'PROJECT':
              if it.raw['scope']['project']['id'] in project_ids:
                  result.append(it.raw)
          else:
              result.append(it.raw)
      print('✓')
      return resulf download_issuetypes(jira_connection, project_ids):
      '''
      For Jira next-gen projects, issue types can be scoped to projects.
      For issue types that are scoped to projects, only extract the ones
      in the extracted projects.
      '''
      print('downloading jira issue types... ', end='', flush=True)
      result = []
      for it in jira_connection.issue_types():
          if 'scope' in it.raw and it.raw['scope']['type'] == 'PROJECT':
              if it.raw['scope']['project']['id'] in project_ids:
                  result.append(it.raw)
          else:
              result.append(it.raw)
      print('✓')
      return result
docs: For Jira next-gen projects, issue types can be scoped to projects.
      For issue types that are scoped to projects, only extract the ones
      in the extracted projects.