Mike from Fabric here. There are a couple of ways of doing this. (Note: I'm replying here instead of your email into our support channel.)
1) As mentioned in the documentation you link to, you can use this command any time after the .IPA has been built by your build server:
/path/to/Crashlytics.framework/submit <API_KEY> <BUILD_SECRET> \
-ipaPath /path/to/my.ipa -emails TestEmail@fabric.io,AmazingTester@twitter.com \
-notesPath ~/Notes/ReleaseNotes.txt \
-groupAliases GroupAlias,GroupAlias2 \
-notifications YES
You could have that command run as the last step in your CI flow.
2) The other option is to use fastlane. Your Fastfile would look like this:
# More documentation about how to customize your build
# can be found here:
# https://docs.fastlane.tools
fastlane_version "1.109.0"
# This value helps us track success metrics for Fastfiles
# we automatically generate. Feel free to remove this line
# once you get things running smoothly!
generated_fastfile_id "generated_id"
default_platform :ios
# Fastfile actions accept additional configuration, but
# don't worry, fastlane will prompt you for required
# info which you can add here later
lane :beta do
# build your iOS app
gym(
# scheme: "YourScheme",
export_method: "ad-hoc"
)
# upload to Beta by Crashlytics
crashlytics(
# keys for organization: YourOrganization
api_token: "YourApiKey",
build_secret: "YourBuildSecret"
)
end
And after installing fastlane you would run fastlane beta
from CI.