Mobile Beta Testing – TestFairy is Integrating With Atlassian Products

TestFairy announces compatibility with JIRA Software, HipChat, Bitbucket, Bamboo and Atlassian Bitbucket Pipelines
It is not every day that you get invited by a company like Atlassian to spend a whole week in Amsterdam. And to make it a perfect geek party, you will be hanging out with developers, marketers and product managers from all product teams who will help you integrate with their platform. So are you coming or not? D’aah? And we landed in Amsterdam 🙂
To make a long story short, after less than 24 hours with the teams of JIRA Software, HipChat, Bitbucket and Bamboo, and one night without sleep, everything worked!
First came JIRA Connect.
One of TestFairy’s most useful features allows mobile testers to easily send bug reports to their developers. Testers can do that by logging in to their mobile dashboard, by using the TestFairy testers app, or by simply shaking their phone and filling in a feedback form that pops up.
Many of our customers asked us if we can post this feedback directly to JIRA Software, together with the video that shows what exactly happened on the app before the bug was reported. And so we did.
As a result, if someone says “It is not working”, and you’ll be surprised how many testers say that, you won’t have to ask them “What did you do?” “Did you click here or there?” “Did you have wifi or 3G?” “Can you send me some logs?”… Instead, just open the JIRA issue, rewind the video 10 seconds back and see exactly what happened before the user complained, and what exactly made them unhappy.
This is how a JIRA Software issue looks like with an embedded TestFairy video:

We did the same with crash reporting, where we pushed our video and logs together with every stacktrace, helping developers understand what exactly happened before their apps crashed.
It gets more interesting when the same crash occurs multiple times and the last thing you want is to have ten new issues on a crash that happened ten times (not mentioning thousands). We solved this problem by hashing every stack trace, later using it for grouping, so that one JIRA Software issue will be opened, regardless how many times your app crashed.

Issues created on JIRA Software create these magic properties. These properties include the name of the tester, the device he or she was using, operating system version, etc. You use these to later query JIRA by using JQL or simply by clicking on a property within an issue. JIRA Software will then automatically show you only the relevant issues, as in the screenshot above, only issues generated on “Apple iPhone 5”.
TestFairy for JIRA add-on is now available on Atlassian Marketplace.
Then came HipChat.

HipChat brings testers and developers together. Collaboration is instantaneous, and with TestFairy you can get testers’ feedback directly and immediately to your HipChat rooms. As a developer, you may also want to be notified when a new version has been uploaded, or a crash occurred.
Integration could not have been simpler — thanks to HipChat Connect.
All you need to do is click on
and choose the right HipChat room for your notifications. You may also configure which types of notifications you are interested in receiving.
We have found that it is a good practice to post tester’s feedbacks to one room, and crashes to another. Mainly for the reason that in most teams, different people handle different cases.
Now, when a user sends a feedback, we can easily see their notification in real time.
TestFairy for HipChat is available through the Atlassian Marketplace or directly from your account settings page on TestFairy.
Then came Bamboo.
Bamboo is where everything starts. Our plugin for Bamboo uploads your app to TestFairy whenever it is ready and automatically sends it a pre-defined group of testers. You can invite by email, or via a notification in a HipChat room.

This brings us to a platform that has TestFairy connected to JIRA, HipChat and Bamboo.
Then came Bitbucket.
Bitbucket Cloud holds the source code for your app. We closed the loop between source code and crash, by creating a link between the two. When showing a crash, TestFairy will automagically link the stack trace to your Bitbucket repository, at the right branch and revision.
And finally, Bitbucket Pipelines.
Bitbucket Pipelines is the continuous integration tool that glues the entire system together. Bitbucket Pipelines automatically compiles your mobile app with every commit. TestFairy integrates seamlessly to Bitbucket Pipelines to upload app artifacts, the .APK / .IPA files to TestFairy for distribution.
In the following example you can see an app that crashes.
The notification regarding this crash goes to HipChat in real time, together with a link to the actal TestFairy session.
Clicking on the crash will take you back to Bitbucket to the exact line that caused this crash.
We’ll be happy to get your feedback in the comments below.

Hello, Bitrise!

bitrise deployment
Guest post by: Barnabas Birmacher
Distributing your apps through TestFairy is great as always! Reaching your testers instantly and gathering valuable feedback and usage information is the best way to make awesome applications.
To make sure you keep deploying quality products you should use Continuous Integration and Delivery.
Continuous Integration is a practice where you push all your app’s code changes into a shared repository multiple times a day. Each integration should be verified by an automatic build, so you are going to be notified early about the problems and you can locate them quickly. Continuous Delivery works well with Continuous Integration – it means that you deploy every build to production every time a build passes the automated tests.

Bitrise

Working with unit tests and multiple daily deployments can give you a huge benefit but dealing with it manually also takes up a lot of time. Soon you will realise you are doing a lot more administrative tasks besides the actual development.
We, at Bitrise, are on a mission to bring back the joy of app development by automating all of these processes for you. We’ve also integrated TestFairy into Bitrise so every time you update your code we’ll deploy your app automatically to your favorite deployment service.

How to get started?

After you have connected your application to Bitrise you can change your own workflow on your application page and start customising it for your own needs.
To be able to deploy your application you are going to need an Xcode Archive step (that should be already added to your workflow).
To deploy your app to TestFairy, simply add a new TestFairy step after Xcode Archive and after every successful build we are going to deploy your application automatically.
workflow-editor

(click image for full size)

The only required parameter you have to add is your TestFairy API Key. To get it you should navigate to your account preferences on TestFairy and find the key under the API Key menu.
You can also enable or disable the email notifications and set the tester groups you would like to notify. There’s an option to make your users upgrade to the latest build by enabling Auto update in the step. You can also start recording video and set the length of it.

What’s next?

We have more than 20 different integrations you can choose from. Update your build workflow by adding connections with different services like Slack or HipChat to notify your team about broken builds or successful deployments.
And that is all! Just work on your awesome app and we’ll make sure it deploys to TestFairy every time you update your code!
Happy building!
The Bitrise Team

TestFairy Webhooks Are Here!

webhooks
Webhooks are a cross-server callbacks. A “let me know when something happened” deal. With TestFairy’s webhooks, you can connect our leading app distribution, monitoring and feedback with your own backend within minutes.
TestFairy sends an HTTP POST request with a JSON when a predefined set of criteria has been met. For example, you can configure these:

  • Let me know when a tester has downloaded my app. I want to know their email and the referrer
  • Let me know when my app crashed, and send the stack trace, so I can notify the right developer
  • Let me know when a feedback has been received, I want to manage priorities
  • Let me know when my CI finished uploading a new build, I want to update my ad campaign with the new link

As each scenario is tailor-suited for your needs, webhooks open a wide range of possibilities for integration between our systems.

Payload

TestFairy sends every bit of information you might need for processing the callback. Let’s consider this sample Payload:

{
    "event": "feedback",
    "timestamp": "2015-07-01 17:21:00",
    "version": "1.0",
    "build": 1,
    "appName": "Demo App",
    "filesize": 563876,
    "buildUrl": "https://app.testfairy.com/projects/10-demoapp/builds/584120",
    "iconUrl": "https://testfairy.s3.amazonaws.com/icons/4/68348e8d8265771d64636e2d57bb9a672f812e1a.png",
    "email": "alice@corporation.com",
    "rawDeviceName": "samsung gt-i9100t",
    "ipAddress": "54.227.255.225",
    "text": "App doesn't render nicely in landscape"
}

Every callback includes “event” field and basic information about the build involved. For complete information about payloads for each event, please refer to the TestFairy Webhooks Documentation.

Seamless Integration

TestFairy’s webhooks automatically recognize Slack and HipChat by their URLs. Setting up a 3rd-party Incoming Webhook URL as TestFairy’s outgoing URL, will post the payloads specifically formatted for the target platform.
Here’s a nice screenshot of Slack with TestFairy webhook:

Installation

Here is what you need to do:
1. Open up your preferences page by clicking Account -> Preferences
2. Select Webhooks tab from the left sidebar.
3. Click on “+ New Webhook” to create a new integration.
4. Supply Name and URL. You can test if the integration works by clicking the Test button.
5. Additional fields specify event triggers and selected projects.
6. Click “Save” and you’re done!

Additional Resources

The Complete TestFairy Webhooks Documentation

Android Studio Integration

TestFairy Android Studio
Deployment and distribution via TestFairy has been ever easier! With the plugin installed in your development editor, you can now upload builds directly to TestFairy with a single click. This plugin is supported by all modern Android Studio and IntelliJ IDEA editors.

Installation

Start the stopwatch! Here’s how to install the TestFairy plugin within 60 seconds or less:

  • Open the Preferences page in your IDE
  • Select Plugins from the sidebar, and then click Browse Repositories…
  • Type “TestFairy” in the search field at the top
  • Click “Install Plugin” in the right sidebar. You will be prompted to restart your editor

install-testfairy-plugin
Simple, eh?
Android Studio deploy icon
When it’s all done, you will see an icon with TestFairy’s droid. This is your new buddy, a single click will deploy your APKs.
For further reading and information about manual installation, please refer to the documentation.