def METHOD_NAME(file_path, schema, version, egroup, usermail, limit):
    """Add drafts from a file.
    Drafts with specified pid will be registered under those.
    For drafts without pid, new pids will be minted.
    """
    if usermail:
        user = get_existing_or_register_user(usermail)
    else:
        user = None
    with open(file_path, 'r') as fp:
        entries = json.load(fp)
        for entry in entries[0:limit]:
            pid = cap_deposit_fetcher(None, entry)
            pid_value = pid.pid_value if pid else None
            try:
                PersistentIdentifier.get('depid', pid_value)
                click.secho(
                    'Draft with id {} already exist!'.format(pid_value),
                    fg='red')
            except PIDDoesNotExistError:
                record_uuid = uuid.uuid4()
                pid = cap_deposit_minter(record_uuid, entry)
                deposit = CAPDeposit.create(entry, record_uuid, user)
                deposit.commit()
                if egroup:
                    add_read_permission_for_egroup(deposit, egroup)
                click.secho('Draft {} added.'.format(pid.pid_value),
                            fg='green')
        db.session.commit()