有没有办法导出Testflight外部测试人员的电子邮件

时间:2015-08-09 14:47:30

标签: ios itunesconnect testflight

似乎iTunes连接没有基本导出来自Prerelease>的用户电子邮件。 External testers

需要将电子邮件导出为CSV

有没有人有脚本或解决方案?

谢谢!

13 个答案:

答案 0 :(得分:15)

您可以使用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         |
+-----------+---------+----------------------------+-----------+

答案 1 :(得分:12)

只需使用控制台获取电子邮件,名字,姓氏

将其粘贴到控制台中 https://gist.github.com/creaoy/80d1092283a5d0fa1070

答案 2 :(得分:4)

经过反复试验(因为我非常绝望),我找到了一条出路,低技术方式

转到活动> iOS历史记录>所有构建>测试者

这是您可以看到所有外部和内部测试人员的页面。电子邮件,姓名,状态,会话,崩溃和设备。选择所有行并将其粘贴到Excel中。它会很好地显示每个单元格中的所有信息:)选择excel中的第一列,你只收到所有电子邮件。

答案 3 :(得分:2)

我扩展了creaoy的脚本以包含状态(通知/已安装的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();

答案 4 :(得分:1)

还没有。您只能导入csv文件,但不能从那里的用户创建一个。

您可以复制行,在TextEdit / Notepad中以以下格式编辑它们: fistname,姓氏,电子邮件

并将其另存为csv,以便稍后导入这些电子邮件时使用。

如果他们自动执行此操作,或者至少可以选择将更新发送到您可以创建的特定组,那将会很好。

答案 5 :(得分:1)

我做了一个小的控制台黑客,只提取电子邮件。改善你的喜好: - )

https://gist.github.com/larsparendt/a67d25b1611db67ba67b

答案 6 :(得分:1)

一些很棒的答案,但想添加另一个选项。 BoardingBot会自动邀请tool that lets you send TestFlight,并会向您的Beta版测试人员发送电子邮件。因此,这可能会满足您与Beta测试人员联系的需求。

免责声明:我是BoardingBot的创始人:)

答案 7 :(得分:0)

编辑:

下面的方法很有趣 - 有一个伟大的红宝石宝石,用于管理名为Fastlane pilot的testflight测试人员。我建议改为:https://github.com/fastlane/fastlane/tree/master/pilot

找到了可以完成这项工作的Google Chrome扩展程序:

表格捕获:https://chrome.google.com/webstore/detail/table-capture/iebpjdmgckacbodjpijphcplhebcmeop/reviews?hl=en

还需要过滤掉重复项,可以使用Google电子表格

完成

答案 8 :(得分:0)

由于iTunes Connect现在是一个有角度的应用程序,因此本页面上的许多答案都不再适用。但是如果你有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();

答案 9 :(得分:0)

如果你只是需要电子邮件并且有一个带有正则表达式替换的文本编辑器,你可以这样做

  1. 滚动到itunesconnect列表的底部,以便获得所有行
  2. 将所有行复制到您选择的文本编辑器中(我使用了崇高文本)
  3. ^.*\n\n替换为<empty string>。这将删除所有名称
  4. \n\s\n替换为,
  5. \n替换为,
  6. 并且您留下了所有电子邮件的CSV

答案 10 :(得分:0)

如果像我一样你也需要日期,这就是你需要的代码:

&#13;
&#13;
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();
&#13;
&#13;
&#13;

答案 11 :(得分:0)

我想出了一个jQuery解决方案,以CSV格式将这些数据输出到控制台。它取决于页面选择器的设置方式,但截至目前(2017年9月),它运行良好。

在浏览器上打开控制台(我使用Chrome),复制并粘贴此代码,然后按回车键。又快又脏。

修改

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

答案 12 :(得分:0)

快速更新,新答案:iTunes Connect现在在页面右侧有一个易于使用的下载按钮!

Click Here