import { Redmine } from 'bluemine'; type CsvEntry = { firstname: string; lastname: string; mail: string; }; async function createUsers(redmine: Redmine, csv: CsvEntry[]) { const userIds: number[] = []; function capitalize(str: string): string { const [first, ...tail] = str.split(''); return `${first.toLocaleUpperCase()}${tail.join('').toLocaleLowerCase()}`; } for (const { firstname, lastname, mail } of csv) { const login = `${firstname.toLowerCase()}.${lastname.toLowerCase()}`; try { const { user } = await redmine.users.create({ firstname: capitalize(firstname), lastname: capitalize(lastname), mail: mail, login, sendCreationMail: true, generatePassword: true, }); userIds.push(user.id); } catch { console.error(login); } } await redmine.unstableGroups.create({ name: 'entrepreneur-01-24', userIds }); }