Есть ли способ экспортировать тестеры внешнего тестера Testflight

Не похоже, что соединение iTunes имеет базовый экспорт электронных писем пользователя из Prerelease > External testers

Необходимо экспортировать электронные письма в CSV

У кого-нибудь есть script или обходное решение?

Спасибо!

Ответ 1

Вы можете использовать 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         |
+-----------+---------+----------------------------+-----------+

Ответ 3

После проб и ошибок (потому что я в отчаянии), я нашел выход, низкотехнологичный путь.

Перейти к Activity > История iOS > Все сборки > Тестеры

Это страница, где вы видите все ваши внешние и внутренние тестеры, электронные письма, имя, статус, сеансы, сбои и устройства. Выберите все строки и вставьте их в excel. Он будет отображать всю информацию в каждой ячейке красиво:) Выберите первый столбец в excel, и у вас есть только все электронные письма.

Ответ 4

Я расширил 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();

Ответ 5

Пока. Вы можете импортировать только файл csv, но не создавать его среди пользователей.

Вы можете скопировать строки, отредактировать их в TextEdit/Notepad в формате: fistname, фамилия, адрес электронной почты

и сохраните это как csv для использования, когда вы хотите впоследствии импортировать эти письма.

Было бы хорошо, если бы они внедрили это для этого автоматически или, по крайней мере, имели возможность отправлять обновления определенным группам, которые вы можете создать.

Ответ 7

Несколько отличных ответов, но хотелось добавить еще один вариант. BoardingBot - это инструмент, который позволяет отправлять TestFlight автоматически, а также сообщения электронной почты вашим бета-тестерам. Таким образом, это может заполнить вашу потребность связаться с вашими бета-тестерами.

Отказ от ответственности: я являюсь основателем BoardingBot:)

Ответ 8

Изменить:

Этот метод является ошибочным - для управления тестерами 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

Ответ 9

Так как 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();

Ответ 10

Если вам просто нужны электронные письма и у вас есть текстовый редактор с заменой регулярного выражения, вы можете сделать это

  • Прокрутите вниз список в itunesconnect, чтобы получить все строки
  • Скопируйте все строки в текстовый редактор по вашему выбору (я использовал возвышенный текст)
  • замените ^.*\n\n на <empty string>. Это удаляет все имена
  • замените \n\s\n на ,.
  • замените \n на ,.

и вы остаетесь с CSV всех электронных писем

Ответ 11

если мне нравится, вам также нужна дата, это код, который вам нужен:

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();

Ответ 12

Я придумал решение 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();