• Stars
    star
    148
  • Rank 248,527 (Top 5 %)
  • Language
    Python
  • Created over 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Script to add users to TestFlight in iTunes Connect programmatically

TestFlightInvite

TestFlightInvite is a Python / Ruby script that will add TestFlight beta testers to the iTunes Connect portal for your app.

About

TestFlightInvite can be used as a stand-alone program or as part of another Python / Ruby project.

The script works by performing the necessary web requests to log a developer into iTunes Connect, and use the returned authentication cookies to perform the invite web request.

NOTE: testflight_invite requires your iTunes Connect password to complete the TestFlight invite. If you use the script as part of another project you will need to store your iTunes Connect password somewhere it can be retrieved in plaintext in order to pass to the library. On the command line your iTunes Connect password is entered using the getpass library, which allows you to enter your password using stdin without echoing the password on the command line.

Use as a stand-alone program

Usage:

python testflight_invite.py <iTC login email> <App ID> <Invitee Email> <Invitee First Name (Optional)> <Invitee Last Name (Optional)>
ruby   testflight_invite.rb <iTC login email> <iTC login password> <App ID> <Invitee Email> <Invitee First Name (Optional)> <Invitee Last Name (Optional)>

Example Run:

python testflight_invite.py <iTC login email> <App ID> <Invitee Email>
iTunes Connect Password: 
Invite Successful

Use as part of another script

Python:

from testflight_invite import TestFlightInvite, TFInviteDuplicateException
try:
    invite = TestFlightInvite(<iTC email>, <iTC password>, <App ID>)
    res = invite.addTester(<Email>, <First Name (optional)>, <Last Name(optional)>)
    # addTester returns the request response (JSON) as a string
    data = json.loads(res)
    print '%d beta testers!' % len(data['data']['users'])
except TFInviteDuplicateException as e:
    print '%s is already a beta tester!' % email
except Exception as e:
    print 'Oops! Something went wrong!'

Ruby:

require 'testflight_invite'
begin
    invite = TestFlight::Invite.new(<iTC email>, <iTC password>, <App ID>)
    result = invite.add_tester(<Email>, <First Name (optional)>, <Last Name(optional)>)
    # addTester returns "SUCCESS" or "ERROR"
    puts "beta tester added!" if result == "SUCCESS"
rescue TestFlight::InviteDuplicateException => e
    puts "#{email} is already a beta tester!"
rescue Exception => e
    puts 'Oops! Something went wrong!'
end

Credits

This script is heavily based off of the appdailysales project by Kirby Turner and friends.

testflight_invite.py was created by Donohue

testflight_invite.rb was created by dmagliola with contributions from christocracy

More Repositories

1

alexa

Alexa "hello, world" template
JavaScript
228
star
2

CustomKeyboard

A custom iOS QWERTY keyboard written in Swift.
Swift
94
star
3

medium-to-jekyll

Convert Medium exported posts to Jekyll posts
Python
43
star
4

karmabot

All your ++ and --
CoffeeScript
42
star
5

calendar-sync

Sync your personal and work Gmail calendars using IFTTT and Amazon Lambda.
Python
18
star
6

ethTip

Ethereum tip module for websites
JavaScript
11
star
7

anonbot

Anonymous messages in Slack
Python
10
star
8

itc_analytics

iTunes Analytics CSV Exporter
Python
9
star
9

eo-nytimes

Update Electric Objects with NYTimes frontpage.
Python
8
star
10

Recents

Your contacts sorted reverse chronologically, that's it.
Objective-C
7
star
11

boogle

A http://byte.co search engine (seriously)
Python
5
star
12

nonsmoker

Alexa skill that tells me how long it's been since I quit smoking, and how much money I've saved since I quit smoking.
Python
5
star
13

Shamebot

SHAME! SHAME! SHAME!
Python
3
star
14

ethFollowing

Ethereum transactions and wallet information for people you follow on Twitter.
Python
2
star
15

deadlink

Chrome extension that detects 404s, checks if page exists on archive.org, and gives you the option to view it on archive.org
JavaScript
2
star
16

donohue.github.io

CSS
2
star
17

offlinebot

"Someone thinks you should take this discussion offline."
Python
2
star
18

twttr

Barebones Twitter client made for CodeGenius iOS9 demos
Objective-C
2
star
19

GlassmapRelayTechnology

Proof of concept for Glassmap's battery saving relay technology
Objective-C
2
star
20

wherebrianatswift

Swift iOS app that tracks my location and posts it to a server
Objective-C
1
star
21

wherebrianat

iOS app that tracks my location and posts it to a server
Objective-C
1
star
22

betaworks_conference_rooms

Alexa Skill that lets the user know which conference rooms are available either now or at the time they specify.
Python
1
star
23

loremipsumwtf

http://loremipsum.wtf
HTML
1
star
24

vm.applescript

Launch five terminal tabs and SSH into a host on each tab.
AppleScript
1
star