Не похоже, что соединение iTunes имеет базовый экспорт электронных писем пользователя из Prerelease
> External testers
Необходимо экспортировать электронные письма в CSV
У кого-нибудь есть script или обходное решение?
Спасибо!
Не похоже, что соединение iTunes имеет базовый экспорт электронных писем пользователя из Prerelease
> External testers
Необходимо экспортировать электронные письма в CSV
У кого-нибудь есть script или обходное решение?
Спасибо!
Вы можете использовать pilot (из Fastlane), чтобы сделать это:
Для экспорта в файл CSV: fastlane pilot export
$ fastlane pilot list
+--------+--------+--------------------------+-----------+
| Internal Testers |
+--------+--------+--------------------------+-----------+
| First | Last | Email | # Devices |
+--------+--------+--------------------------+-----------+
| Felix | Krause | [email protected] | 2 |
+--------+--------+--------------------------+-----------+
+-----------+---------+----------------------------+-----------+
| External Testers |
+-----------+---------+----------------------------+-----------+
| First | Last | Email | # Devices |
+-----------+---------+----------------------------+-----------+
| Max | Manfred | [email protected] | 0 |
| Detlef | Müller | [email protected] | 1 |
+-----------+---------+----------------------------+-----------+
Просто используйте консоль, чтобы получить электронную почту, имя, фамилию
Вставить это в консоль https://gist.github.com/creaoy/80d1092283a5d0fa1070
После проб и ошибок (потому что я в отчаянии), я нашел выход, низкотехнологичный путь.
Перейти к Activity > История iOS > Все сборки > Тестеры
Это страница, где вы видите все ваши внешние и внутренние тестеры, электронные письма, имя, статус, сеансы, сбои и устройства. Выберите все строки и вставьте их в excel. Он будет отображать всю информацию в каждой ячейке красиво:) Выберите первый столбец в excel, и у вас есть только все электронные письма.
Я расширил creaoy script, чтобы включить Status (Notified/Installed x.xx). Все еще работает для меня сегодня.
Прокрутите весь путь вниз, чтобы все тестеры были загружены. Затем вставьте это в консоль ошибок Safari и нажмите enter.
var text = '';
$('.col-email').each(function(index,el) {
if (index == 0) {
text = 'Email, First Name, Last Name, Status\n';
}
else {
//Email
text = text + $.trim($(el).find("a").text()) + ',';
//First Name
text = text + $.trim($($($($('.col-name')[index]).find("span")[0]).find("span")[0]).text()) + ',';
//Last Name
text = text + $.trim($($($($('.col-name')[index]).find("span")[0]).find("span")[1]).text()) + ',';
//Status
text = text + $.trim($($($($('.col-status')[index]).find("div")[0]).find("span")[0]).text()) + '\n';
}
});
var a = document.createElement("a");
var file = new Blob([text], {type: 'text/csv'});
a.href = URL.createObjectURL(file);
a.download = name; a.click();
Пока. Вы можете импортировать только файл csv, но не создавать его среди пользователей.
Вы можете скопировать строки, отредактировать их в TextEdit/Notepad в формате: fistname, фамилия, адрес электронной почты
и сохраните это как csv для использования, когда вы хотите впоследствии импортировать эти письма.
Было бы хорошо, если бы они внедрили это для этого автоматически или, по крайней мере, имели возможность отправлять обновления определенным группам, которые вы можете создать.
Я сделал небольшой консольный хак, который извлекает только электронные письма. Почувствуйте себя: -)
Несколько отличных ответов, но хотелось добавить еще один вариант. BoardingBot - это инструмент, который позволяет отправлять TestFlight автоматически, а также сообщения электронной почты вашим бета-тестерам. Таким образом, это может заполнить вашу потребность связаться с вашими бета-тестерами.
Отказ от ответственности: я являюсь основателем BoardingBot:)
Этот метод является ошибочным - для управления тестерами testflight под названием Fastlane используется великолепный рубиновый камень. Я рекомендую изучить это вместо: https://github.com/fastlane/fastlane/tree/master/pilot
Нашел расширение google chrome, которое выполнит задание:
Захват таблицы: https://chrome.google.com/webstore/detail/table-capture/iebpjdmgckacbodjpijphcplhebcmeop/reviews?hl=en
Также необходимо отфильтровать дубликаты, которые можно сделать с помощью электронных таблиц Google
Так как iTunes Connect теперь является приложением angular, многие ответы на этой странице больше не работают. Однако , если у вас есть расширение Angular/Batarang для Chrome, вы можете вставить этот script в консоль (cmd + i), и он выплюнет csv. Обратите внимание, что сначала вам нужно проверить элемент в списке (cmd + shift + c), чтобы получить ссылку на $scope
. Также не забудьте прокрутить вниз, чтобы страница автоматически загружала весь список.
var text = '';
angular.forEach($scope.filteredTesters, function(val) {
text += val.firstName.value + ',';
text += val.lastName.value + ',';
text += val.emailAddress.value + '\n';
});
var a = document.createElement("a");
var file = new Blob([text], {type: 'text/csv'});
a.href = URL.createObjectURL(file);
a.download = name; a.click();
Если вам просто нужны электронные письма и у вас есть текстовый редактор с заменой регулярного выражения, вы можете сделать это
^.*\n\n
на <empty string>
. Это удаляет все имена\n\s\n
на ,
.\n
на ,
.и вы остаетесь с CSV всех электронных писем
если мне нравится, вам также нужна дата, это код, который вам нужен:
var text = '';
$('.col-email').each(function(index,el) {
if (index == 0) {
text = 'Email, First Name, Last Name, Status, Date\n';
}
else {
//Email
text = text + $.trim($(el).find("a").text()) + ',';
//First Name
text = text + $.trim($($($($('.col-name')[index]).find("span")[0]).find("span")[0]).text()) + ',';
//Last Name
text = text + $.trim($($($($('.col-name')[index]).find("span")[0]).find("span")[1]).text()) + ',';
//Status
text = text + $.trim($($($($('.col-status')[index]).find("div")[0]).find("span")[0]).text()) + ',';
//Date
text = text + '\"' + $.trim($($($($('.col-status')[index]).find("div")[0]).find("span")[2]).text()) + '\"\n';
}
});
var a = document.createElement("a");
var file = new Blob([text], {type: 'text/csv'});
a.href = URL.createObjectURL(file);
a.download = name; a.click();
Я придумал решение jQuery для вывода этих данных на консоль в формате CSV. Это зависит от способа настройки селекторов страниц, но на данный момент (сентябрь 2017 г.) он отлично работает.
Откройте консоль в своем браузере (я использую Chrome), скопируйте и вставьте этот код, нажмите enter. Быстрая и грязная.
Я заимствовал какой-то код из ответа guido, который запускает автоматическую загрузку после входа в систему.
output = "email,first name,last name\n";
jQuery('table.table-itc-testers tr[ng-repeat*="itcUser"]').each(function(){
row = [];
//Email Address
row.push(jQuery(this).find('span a[href*="users_roles"]').text());
// First and last name
full_name = jQuery(this).find('td.sorted > span:not(.ng-hide)');
// If only name is filled out
if(full_name==""){
row.push("");
row.push("");
} else {
row.push(full_name.clone().children().remove().end().text().trim());
row.push(full_name.find('span.lastname').text());
}
output += row.join(",") + "\n";
});
var a = document.createElement("a");
var file = new Blob([output], {type: 'text/csv'});
a.href = URL.createObjectURL(file);
a.download = 'external_testers.csv'; a.click();