• This repository has been archived on 05/Jun/2018
  • Stars
    star
    180
  • Rank 213,097 (Top 5 %)
  • Language
    Groovy
  • License
    MIT License
  • Created about 11 years ago
  • Updated over 6 years ago

Reviews

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

Repository Details

A Gradle plugin for uploading iOS and Android Apps to HockeyApp.

gradle-hockeyapp-plugin Build Status Maven Central license

A Gradle plugin for uploading iOS and Android Apps to HockeyApp.

Compatibility

The plugin is compatible with gradle 2.14 and up.

Basic usage

Add to your build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'de.felixschulze.gradle:gradle-hockeyapp-plugin:3.6'
    }
}

apply plugin: 'de.felixschulze.gradle.hockeyapp'
hockeyapp {
    apiToken = "YOURHOCKEYAPITOKEN"
}

As the upload tasks are automatically generated based on application variants, ensure this plugin is applied after the android plugin. i.e.

...

apply plugin: 'com.android.application'
apply plugin: 'de.felixschulze.gradle.hockeyapp'

...

Upload task

The task name is generated based on your productFlavors and buildTypes. For a basic release build with no flavors using the gradle wrapper:

./gradlew uploadReleaseToHockeyApp

Advanced usage

Add to your build.gradle

hockeyapp {
    apiToken = "YOURHOCKEYAPITOKEN"
    releaseType = 2 // alpha
    notify = 0
    status = 2
    notesType = 1
    notes = new File(file('../README.md').absolutePath).getText('UTF-8')
    variantToApplicationId = [
            buildVariantA:  "hockeyAppApplicationIdA",
            buildVariantB:  "hockeyAppApplicationIdB",
    ]
}

Required

Optional

  • allowMultipleAppFiles: true allow upload multiple app files (for example when using APK splits for Android)
  • buildServerUrl: Optional: the URL of the build job on your build server
  • commitSha: Optional: commit SHA for this build
  • mandatory: 0 not mandatory, 1 mandatory
  • mappingFileNameRegex: Optional: mappingFileNameRegex="mapping.txt" Should contain the filename or a regex for the proguard mapping.txt mapping file (Android) or dSYM file (iOS). Standard is mapping.txt
  • notes: Release notes as Textile or Markdown
  • notesType: 0 Textile, 1 Markdown
  • notify: 0 not notify testers, 1 notify all testers that can install this app
  • owner_id: Optional: the ID of your organization
  • releaseType: 0 beta, 1 store, 2 alpha, 3 enterprise
  • repositoryUrl: Optional: your source repository URL
  • status: 1 not allow users to download the version, 2 make the version available for download
  • strategy: add to add the build as a new build to even if it has the same build number (default), replace to replace to a build with the same build number
  • tags: Optional: restrict download to comma-separated list of tags
  • teamCityLog: true Add features for TeamCity
  • teams: Optional: restrict download to comma-separated list of team IDs; example: teams = '123,213' with 123 and 213 being database IDs of your teams
  • users: Optional: restrict download to comma-separated list of user IDs; example: users = '1224,5678' with 1224 and 5678 being the database IDs of your users
  • variantToApiToken: Optional: [variantName: "YOURHOCKEYAPITOKEN", variantName2: "YOUROTHERHOCKEYAPITOKEN"] map between your variants and api tokens
  • variantToApplicationId: Optional (Android): [variantName: "hockeyAppAppId", variantName2: "hockeyAppAppId2"] map between your variants and HockeyApp application IDs
  • variantToMandatory: Optional: [variantName: "0", variantName2: "1"] map between your variants and mandatory
  • variantToNotes : Optional: [variantName: "some notes", variantName2: "some other Notes"] map between your variants and notes
  • variantToNotesType : Optional: [variantName: "0", variantName2: "1"] map between your variants and notesType
  • variantToReleaseType: Optional: [variantName: "0", variantName2: "1"] map between your variants and releaseType
  • variantToStatus: Optional: [variantName: "1", variantName2: "2"] map between your variants and status
  • variantToStrategy: Optional: [variantName: "1", variantName2: "2"] map between your variants and strategy
  • variantToTags: Optional: [variantName: "1", variantName2: "2"] map between your variants and tags
  • variantToNotify: Optional: [variantName: "1", variantName2: "2"] map between your variants and notify

iOS or custom Android build only options

  • appFileNameRegex: Only needed for iOS or if you don't use the android gradle plugin `appFileNameRegex = ".*.ipa"
  • outputDirectory: Only needed for iOS: file("directory")
  • symbolsDirectory: Only needed for iOS or if you don't use the android gradle plugin: file("directory") Directory which contains the R or dSYM file

Migration from 2.x to >= 3.0

To migrate to version >= 3.0 please change

apply plugin: 'hockeyApp'

to

apply plugin: 'de.felixschulze.gradle.hockeyapp'

Changelog

Releases

Fix for Error with Top-Level-Projects / Multi project environment

If you use a top-level-project or multi project environment and got the error java.lang.NoSuchFieldError: INSTANCE or Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory move the dependency to this plugin to your root build.gradle file (see #30, #62)

License

gradle-hockeyapp-plugin is available under the MIT license. See the LICENSE file for more info.

More Repositories

1

OpenSSL-for-iPhone

A script for compiling OpenSSL for iOS Devices (iPhone, iPad, Watch, iPod Touch, AppleTV, MacCatalyst)
Shell
2,456
star
2

libssh2-for-iOS

A script for compiling libssh2 for iOS Devices (iPhone, iPad, iPod Touch). The example app can connect to an server with SSH and execute commands.
Objective-C
399
star
3

FSImageViewer

Photo viewer (gallery) for iOS with AFNetworking and caching.
Objective-C
336
star
4

gradle-spoon-plugin

A Gradle plugin for running Android instrumentation tests with Spoon.
Groovy
39
star
5

simple-share-ios

Simple-Share for iOS is an easy drop-in library for sharing. (Facebook, Twitter, Mail, Safari)
Objective-C
27
star
6

libgcrypt-for-ios

Script for building libgcrypt for iOS.
Shell
24
star
7

xcode-maven-plugin

A maven build plugin for iOS continuous integration builds
Java
20
star
8

android-acra-server

An PHP-Server for ACRA Application Crash Report for Android
JavaScript
15
star
9

PolarSSL-for-iOS

PolarSSL-for-iOS is a light-weight open source cryptographic and SSL/TLS library for using with iOS.
C
13
star
10

GnuTLS-for-iOS

An Example XCode-Project with an script to compile GnuTLS for iOS Devices (iPhone, iPod Touch, iPad)
C
12
star
11

expat-ios

expat - XML Parser Toolkit build script for iOS
Shell
12
star
12

android-emulator-teamcity-plugin

Android-Emulator TeamCity Plugin
Java
11
star
13

android-acra-json-sender

A Reportsender for ACRA which uses JSON
Java
9
star
14

FSJUnitTestLog

XCTestObserver implementation, which converts the test results to an JUnit XML Results file.
Objective-C
9
star
15

FSOpenInGmail

Tool for sending mails with Gmail iOS App.
Objective-C
8
star
16

gradle-cocoapods-plugin

A Gradle plugin for Cocoapods.
Groovy
7
star
17

android-acra-demo-app

A demo app for using acra v4
Java
7
star
18

FSOpenInInstagram

Tool for sending pictures with Instagram iOS App
Objective-C
6
star
19

Glove-for-iOS

iPhone App that uses Accelerometer and send the data to an computer (via UDP)
Objective-C
5
star
20

iOpenStreetMap

iOpenStreetMap is an HTML/Javascript iPad Webapp for OpenStreetMap.
JavaScript
5
star
21

javapns

Git fork of javapns based on current trunk: JavaPNS is a Java library to send notifications through the Apple Push Notification Service
Java
4
star
22

xcode-teamcity-plugin

This is a Xcode plugin for the Continuous Integration server TeamCity.
Java
3
star
23

FSOpenInWhatsApp

Tool for sending messages with WhatsApp iOS App
Objective-C
3
star
24

gradle-xcode-plugin

A gradle plugin for building xcode projects.
Groovy
3
star
25

JUnitInstrumentationTestRunner

JUnitInstrumentationTestRunner is a extension for the Android InstrumentationTestRunner which adds the JUnitTestListener for writing test-results into an XML file.
Java
3
star
26

cyrus-sasl-ios

2
star
27

x2on.github.com

Blog
HTML
1
star
28

FSVCardParser

A library for parsing VCards on iOS
Objective-C
1
star