Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
module HockeyAppHelper
open Fake
open Fake.XamarinHelper
open System
open System.IO
type HockeyAppParams = {
/// (Required) API token from
ApiToken: string
File: string
BuildCounter: string
let private getCurlArgs token file buildCounter = seq {
yield "-F status=2"
yield "-F notify=0"
yield sprintf "-F \"notes=Build # %s\"" buildCounter
yield "-F notes_type=0"
yield sprintf "-F ipa=@%s" file
yield sprintf "-H X-HockeyAppToken:%s" token
yield ""
let Upload token file buildCounter =
let args = getCurlArgs token file buildCounter |> String.concat " "
printfn "HockeyApp args are %s" args
let result = Shell.Exec ("curl", args)
if result <> 0 then
failwithf "curl exited with error (%d)" result
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.