{"id":13733910,"url":"https://github.com/testfairy/testfairy-gradle-plugin","last_synced_at":"2025-05-08T10:30:41.063Z","repository":{"id":13054643,"uuid":"15734823","full_name":"testfairy/testfairy-gradle-plugin","owner":"testfairy","description":"TestFairy plugin for Gradle / Android Studio (and supported IDEs)","archived":false,"fork":false,"pushed_at":"2021-12-20T11:43:21.000Z","size":503,"stargazers_count":93,"open_issues_count":10,"forks_count":36,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-05-16T13:22:59.985Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.testfairy.com","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/testfairy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-08T12:33:15.000Z","updated_at":"2024-03-31T14:14:24.000Z","dependencies_parsed_at":"2022-08-28T06:12:17.015Z","dependency_job_id":null,"html_url":"https://github.com/testfairy/testfairy-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testfairy%2Ftestfairy-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testfairy%2Ftestfairy-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testfairy%2Ftestfairy-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testfairy%2Ftestfairy-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/testfairy","download_url":"https://codeload.github.com/testfairy/testfairy-gradle-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213758655,"owners_count":15634354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T03:00:50.819Z","updated_at":"2024-08-03T03:03:02.756Z","avatar_url":"https://github.com/testfairy.png","language":"Groovy","funding_links":[],"categories":["Plugins"],"sub_categories":["Android application development"],"readme":"TestFairy Gradle Plugin [![Build Status](https://travis-ci.org/testfairy/testfairy-gradle-plugin.svg?branch=master)](https://travis-ci.org/testfairy/testfairy-gradle-plugin) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n-------------------\n\nThis plugin integrates TestFairy platform with the Gradle build system. With this plugin, you can upload signed builds directly via command line, IntelliJ, Android Studio and other IDEs.\n\nInstallation\n---------\n\nA typical TestFairy Gradle Plugin installation takes less than 1 minute. \n\nInstallation consists of adding the following lines to your ***build.gradle*** files:\n\n```\n// Project's build.gradle\nbuildscript {\n    repositories {\n        maven { url 'https://www.testfairy.com/maven' }\n    }\n    dependencies {\n        classpath 'com.testfairy.plugins.gradle:testfairy:3.+'\n    }\n}\n\n// App module's build.gradle\napply plugin: 'testfairy'\ntestfairyConfig {\n    apiKey \"1234567890abcdef\"\n    uploadProguardMapping true    \n}\n```\n\n**NOTE:** Your TestFairy API key is in your [account settings](https://app.testfairy.com/settings#apikey)\n     \nUsage\n-----\n\nWith the plugin installed, a set of new tasks, prefixed \"*testfairy*\" will be added, one for each build type.\n\nFor example: to upload a debug build, run the following from terminal:\n\n    gradlew testfairyDebug\n    \nOptionally, you can add a *changelog* to this build. This changelog will appear in your build notes and as a default message when inviting testers. For example:\n\n    gradlew -PtestfairyChangelog=\"Fixed all bugs\" testfairyDebug\n\nSimilarly, you can also tag your releases like below. Tags given like this are merged with others from the plugin configuration.\n\n    gradlew -PtestfairyTags=\"feature1,feature2,alpha\" testfairyDebug\n    \nUploading Crash Symbols\n-----------------------\n\nAndroid projects using native libraries are likely to turn on compiler flags which strip symbol names from the final binaries. In release builds, these configurations result in crash reports with illegible stack trace lines. In order to reveal the symbols in a stripped build's crash report, you must upload a collection of your symbols to TestFairy.\n\nWith the plugin installed, a set of new tasks, prefixed \"*testfairyNdk*\" will be added, one for each build type.\n\n* To upload native symbols, run: `./gradlew testfairyNdkDebug` in your project root.\n    \nAdditional Parameters\n---------------------\n\nThis Gradle plugin uploads APK artifacts to TestFairy for distribution. We strongly suggest you also integrate the TestFairy SDK. Additional parameters control the default behavior of newly uploaded builds:\n\n| Property           | Description |\n|--------------------|-------------|\n| apiKey             | API key used for uploading |\n| video              | Should record video? Values: on/off/wifi (default: on) |\n| videoQuality       | Image quality of video. Values: high/medium/low (default: medium) |\n| testersGroups      | Comma seperated list of testers-groups to invite |\n| notify             | Should send emails to these testers? Values: true/false (default: true) |\n| autoUpdate         | Display and enable auto update for testers using older versions? Values: true/false (default: false) |\n| recordOnBackground | Should record metrics even if app is in background (Android only)? Values: true/false (default: false) |\n| tags               | Comma separated list of tag strings which will be attached to current build |\n\nUsing a Web Proxy\n--------------------------------\n\nBehind a firewall at work? TestFairy Gradle Plugin supports HTTP proxy via \"*http.proxyHost*\" system property. Please refer to the [Accessing The Web Via a Proxy](http://www.gradle.org/docs/current/userguide/build_environment.html#sec:accessing_the_web_via_a_proxy) section in the Gradle user guide document.\n\nAndroid Studio / IntelliJ\n-------------------------\n\nThis plugin is also Android Studio and Intellij-friendly. To upload builds directly from your IDE:\n\n1. Open \"Edit Configuration...\" dialog\n\n ![Edit Configuration screenshot][1] \n\n2. Add a new Gradle configuration, use task \"*testfairyDebug*\" or another, depending on your build type.\n\n ![Add new Gradle configuration screenshot][2]\n\n\u003ca name=\"migrate_2x\"\u003e\u003c/a\u003e\nMigrating from 2.x to 3.x\n----\n\nVersion 3.0 deprecated the support for gradle plugins older than 3.4 and Android Studio build tools older than 5.1.1.\n\nTo migrate, simply upgrade those dependencies in your module's build.gradle and gradle-wrapper.properties files.\n\n\n\u003ca name=\"migrate_1x\"\u003e\u003c/a\u003e\nMigrating from 1.x to 2.x\n----\n\nVersion 2.0 deprecated the support for instrumentation. Please use the [TestFairy SDK](https://docs.testfairy.com/Android/Integrating_Android_SDK.html) to record sessions, auto-update versions, and handle crashes. \n\nTo migrate, simply re-integrate the plugin into your module's build.gradle file.\n\n- *iconWatermark* has been removed\n\nChangelog\n----\n3.6 (2021-12-20)\n  - Updated core frameworks.\n\n3.5 (2020-01-20)\n  - Added more heuristics to find output APK file. \n  \n3.4 (2020-01-16)\n  - Added `-PtestfairyTags` CLI parameter.\n  - Removed deprecated Gradle API usage. \n  \n3.3 (2019-12-31)\n  - Added `tags` and `custom` plugin parameters.\n  \n3.2 (2019-12-05)\n  - Added a new task to upload NDK symbols to TestFairy.\n\n3.0 (2019-05-20)\n  - Added support for latest Gradle and Android Plugin (3.4+ and 5.1.1+ respectively)\n  \n2.0 (2017-09-01)\n  - Added support for latest Gradle and Android Plugin\n  - Added support for Android Studio 3\n  - Removed support for instrumentation\n  - Removed dependency for zipaplign and jarsigner\n  - Removed iconWatermark\n  \n1.12 (2015-02-04)\n  - Removed dependency for 'zip' command.\n  - Zipalign signed APK before uploading.\n  - Compatible with JDK 1.6.\n\nDevelopment\n----\n\n* Install IntelliJ IDEA.\n* Install Groovy SDK if IntelliJ fails importing groovy dependencies. (only affects static analysis)\n* Open project and setup latest Groovy SDK and Java SDK (1.8) path.\n* Sync.\n\nTo test the plugin after code change, run:\n\n```bash\nexport TF_API_KEY=${{ secrets.TF_API_KEY }}\n\n./gradlew uploadArchives\ncd example/TestApplication\n./gradlew testfairyDebug\n```\n\nBugs\n----\n\nPlease send bug reports to support@testfairy.com \n\n[1]: https://raw.githubusercontent.com/testfairy/testfairy-gradle-plugin/master/docs/images/preview-open-edit-configurations.png\n[2]: https://raw.githubusercontent.com/testfairy/testfairy-gradle-plugin/master/docs/images/preview-add-gradle-task.png\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestfairy%2Ftestfairy-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftestfairy%2Ftestfairy-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestfairy%2Ftestfairy-gradle-plugin/lists"}