【发布时间】:2015-08-09 14:47:29
【问题描述】:
iTunes connect 似乎没有从Prerelease > External testers 基本导出用户电子邮件
需要将电子邮件导出为 CSV
有人有脚本或解决方法吗?
谢谢!
【问题讨论】:
标签: ios app-store-connect testflight
iTunes connect 似乎没有从Prerelease > External testers 基本导出用户电子邮件
需要将电子邮件导出为 CSV
有人有脚本或解决方法吗?
谢谢!
【问题讨论】:
标签: ios app-store-connect testflight
您可以使用pilot(来自 Fastlane)来做到这一点:
要导出为 CSV 文件:fastlane pilot export
$ fastlane pilot list
+--------+--------+--------------------------+-----------+
| Internal Testers |
+--------+--------+--------------------------+-----------+
| First | Last | Email | # Devices |
+--------+--------+--------------------------+-----------+
| Felix | Krause | felix@krausefx.com | 2 |
+--------+--------+--------------------------+-----------+
+-----------+---------+----------------------------+-----------+
| External Testers |
+-----------+---------+----------------------------+-----------+
| First | Last | Email | # Devices |
+-----------+---------+----------------------------+-----------+
| Max | Manfred | email@email.com | 0 |
| Detlef | Müller | detlef@krausefx.com | 1 |
+-----------+---------+----------------------------+-----------+
【讨论】:
只需使用控制台获取电子邮件、名字、姓氏
将此粘贴到控制台 https://gist.github.com/creaoy/80d1092283a5d0fa1070
【讨论】:
经过反复试验(因为我很绝望),我找到了一条出路,即低科技方式。
转到活动 > iOS 历史记录 > 所有构建 > 测试人员
这是您查看所有外部和内部测试人员的电子邮件、姓名、状态、会话、崩溃和设备的页面。选择所有行并将它们粘贴到 Excel 中。它会很好地显示每个单元格中的所有信息:) 选择 excel 中的第一列,你只有所有的电子邮件。
【讨论】:
我扩展了 creaoy 的脚本以包含状态(已通知/已安装 x.xx)。今天仍然对我有用。
一直向下滚动,以便加载所有测试人员。然后将其粘贴到 Safari 的错误控制台并回车。
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 中按以下格式编辑它们: 名字,姓氏,电子邮件
并将其保存为 csv 以供您以后导入这些电子邮件时使用。
如果他们实现它以自动执行此操作会很好,或者至少可以选择将更新发送到您可以创建的特定组。
【讨论】:
我做了一个小控制台破解,只提取电子邮件。根据您的喜好改进:-)
【讨论】:
一些很好的答案,但想添加另一个选项。 BoardingBot 是一个 tool that lets you send TestFlight 自动邀请,以及发送给您的 beta 测试人员的电子邮件。因此,这可能会满足您联系 Beta 测试人员的需求。
免责声明:我是 BoardingBot 的创始人 :)
【讨论】:
由于 iTunes Connect 现在是 Angular 应用程序,因此此页面上的许多答案不再有效。但是如果您有 Chrome 的 Angular/Batarang 扩展程序,您可以将此脚本粘贴到控制台 (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();
【讨论】:
下面的方法很简单——有一个很棒的 ruby gem 用于管理 testflight 测试人员,称为 Fastlane Pilot。我会建议改为:https://github.com/fastlane/fastlane/tree/master/pilot
找到一个可以完成这项工作的 google chrome 扩展程序:
还需要过滤掉重复项,这可以使用 Google 电子表格来完成
【讨论】:
如果您只需要电子邮件并且有一个带有正则表达式替换的文本编辑器,您可以这样做
^.*\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 年 9 月),它运行良好。
在浏览器上打开控制台(我使用的是 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();
【讨论】: