How to use HockeyApp with Visual Studio Team Services (VSTS) or Team Foundation Server (TFS)

You can integrate HockeyApp directly in Visual Studio Team Services (VSTS) and in Team Foundation Server (TFS) to upload your Android, iOS, and Mac OS X builds as well as Windows Phone apps. Support file types are .ipa, .apk, .app.zip, .appx, .appxbundle, .zip (if it contains an .appx or .appxbundle), .dSYM.zip, and mapping.txt for Android symbols. If you need support for Windows builds that are packaged as a .zip file, please check out this 3rd-party task.

Installation for VSTS

Use the HockeyApp extension for Visual Studio Team Services to configure secure integration enabling continuous deployment, work item management, and dashboard integration with Visual Studio Team Services. To install the extension, follow these steps:

  1. Go to the HockeyApp extension in the VS Marketplace

  2. Click on Install

  3. Sign in with your home or business account (admin rights required)

  4. Select your VSTS account, then click Continue

  5. Confirm the installation, then process to your account

To deploy your app to HockeyApp you must create a service endpoint:

  1. On the HockeyApp website, go to Account Settings and choose API Tokens

  2. Copy the details of your access token.

  3. Open the Services page in your Visual Studio Team Services Control Panel.

    VSTSSettings.png

  4. In the New Service Endpoint list, choose HockeyApp.

    VSTSEndpoint.png

  5. Enter the token and other details to create the service endpoint.

Now you can set up the build task as described below.

Installation for TFS

Prerequisites

In order to deploy the HockeyApp extension in your TFS instance, you need to update to TFS 2015 Update 2 or newer.

Deployment

  1. Download the HockeyApp extension from the VS Marketplace. Make sure to use the Download button, not the Install button.

  2. Navigate to the Team Foundation Server Extensions page on your server, for example http://someserver:8080/tfs/_gallery/manage.

  3. Click Upload new extension and select the file you have just downloaded.

  4. After the extension has successfully uploaded, click Install and select the Team Project Collection to install into.

Upload Builds (VSTS and TFS)

Once the HockeyApp extension or build is deployed, you should see a new build step named "HockeyApp" under the Deploy group inside Build Steps. After you add it, configure it with these required parameters:

  • HockeyApp Connection: Choose the service endpoint you created earlier.

  • App ID: This identifier is available in the HockeyApp web portal after you create the app. Find more details on creating a new app here.

  • Binary File Path: The app package to be uploaded. If you are building the app in a preceding build step, ensure you enter a relative path to the app package; for example, $(Agent.ReleaseDirectory).

Optional parameters:

  • Symbols File Path: The symbol package to be uploaded. If you are building the app in a preceding build step, ensure you enter a relative path to the dSYM file for iOS & Mac apps, to the mapping.txt or symbols.zip for Android, or to the folder with all .pdb files for a UWP app.

  • Native Library File Path: This optional parameter can be set to a .zip file with all unstripped .so files on Android. HockeyApp will then dump the symbols from those .so files.

  • Release Notes (File): A markdown file containing release notes for the app.

  • Release Notes: A string with the release notes for the app.

  • Publish?: Whether to make the app available. Can be set only with Full Access or Upload & Release tokens:

    • Unchecked (the default) - Don't allow users to download or install this version
    • Checked - Available for download or installation
  • Mandatory?: Whether to make this version mandatory.

  • Notify Users?: Whether to notify testers of availability. Can be set only with Full Access or Upload & Release tokens:

    • Unchecked (the default) - Don't notify testers
    • Checked - Notify all testers

You can restrict the uploaded build through these parameters:

  • Tag(s): Restrict download to a comma-separated list of tags.

  • Team(s): Restrict download to a comma-separated list of team IDs; for example, teams=12,23,42 where 12, 23, and 42 are defined in the database as identifiers of your teams.

  • User(s): Restrict download to a comma-separated list of user IDs; for example, users=1224,5678 where 1224 and 5678 are defined in the database as identifiers of your users.

Dashboard Widget (VSTS only)

VSTSWidget.png

The HockeyApp extension for VSTS also offers a dashboard widget. You can install it as follows:

  1. Navigate to the team dashboard, and click on the green button with a plus on the bottom right to open the widget catalog.

  2. Select the HockeyApp widget and click add. An unconfigured widget is added to the dashboard.

  3. Click on the widget to configure it.

  4. Enter the required configuration values for the HockeyApp widget:

    • Name: Choose the name of the widget, for example "MyApp for iOS".
    • App ID: This identifier is available in the HockeyApp web portal after you create the app. Find more details on creating a new app here.
  5. Save the configuration.

You can add multiple HockeyApp widget to your project dashboard, for example for multiple variants of your app (beta and store) or multiple platforms (iOS and Android).