Giter Club home page Giter Club logo

fastlane-plugin-firebase_management's Introduction

firebase_management fastlane Plugin

fastlane Plugin Badge

THIS REPOSITORY IS NO LONGER MAINTAINED

Getting Started

This project is a fastlane plugin. To get started with fastlane-plugin-firebase_management, add it to your project by running:

fastlane add_plugin firebase_management

About firebase_management

An unofficial tool to access Firebase project settings. It allows you to create new apps and download config files (GoogleInfo.plist for ios and google-services.json for android).

Plugin uses new official Firebase Management API introduced on Firebase Summit 10/2018. It's based on tkohout/fastlane-firebase-plugin, which uses web scraping instead of official API to manage Firebase apps. The plan is that both plugins will live next to each other until official API will contain all desired features and tkohout's plugin won't be needed anymore.

New features like deleting apps or APNs keys/certificates management are promised by guys from Google/Firebase so stay tuned ๐Ÿค™

This very first version was developed using alpha version of the API in a very short time, so it may contain bugs or mistakes. Issues and PRs are very welcome! ๐Ÿค—

Actions

List all projects and apps

firebase_management_list

Add app to a project and download config file

firebase_management_add_app

Add sha to an android app and download config file

firebase_management_upload_sha

Download config file for a client

firebase_management_download_config

Authentication

Plugin works only with service accounts.

User login

You can use your ordinary account in combination with client secret json file created in GCP console.

Service accounts

A service account is a special Google account that belongs to your application or a virtual machine, instead of to an individual end user. Read more here.

All you need for the plugin to work is a json file with service account private key information. The easiest way to get it is...

Go to Firebase Console -> Your project -> Project settings -> Service accounts and tap on button Generate new private key. ๐ŸŽ‰ That's the file you need!

Example

Check out the example Fastfile to see how to use this plugin. Try it by cloning the repo, running fastlane install_plugins and bundle exec fastlane test.

Run tests for this plugin

To run both the tests, and code style validation, run

rake

To automatically fix many of the styling issues, use

rubocop -a

Issues and Feedback

For any other issues and feedback about this plugin, please submit it to this repository.

Troubleshooting

If you have trouble using plugins, check out the Plugins Troubleshooting guide.

Using fastlane Plugins

For more information about how the fastlane plugin system works, check out the Plugins documentation.

About fastlane

fastlane is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out fastlane.tools.

Warning

DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY.

UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.

TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.

THE DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY PROVIDED ABOVE SHALL BE INTERPRETED IN A MANNER THAT, TO THE EXTENT POSSIBLE, MOST CLOSELY APPROXIMATES AN ABSOLUTE DISCLAIMER AND WAIVER OF ALL LIABILITY.

fastlane-plugin-firebase_management's People

Contributors

janmisar avatar nicolaslourenco avatar olejnjak avatar tkohout avatar tmaly1980 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

fastlane-plugin-firebase_management's Issues

Request contains an invalid argument

Having a regression in firebase_management_add_app since today

When trying to call this in Fastfile:

firebase_management_add_app(
      		service_account_json_path: "#{Dir.pwd}/project-config.json",
      		project_id: "project",
      		type: "ios",
      		download_config: true,
      		bundle_id: proj_id
      )

I get

uncaught {
 "error": {
   "code": 400,
   "message": "Request contains an invalid argument.",
   "status": "INVALID_ARGUMENT"
 }
}
exception while handling connection: {
 "error": {
   "code": 400,
   "message": "Request contains an invalid argument.",
   "status": "INVALID_ARGUMENT"
 }
}

This code hasn't changed for years, so, I believe that's something on Google's side. Is there a way to add some verbosity to figure out what is going one?

Upload APNs Authentication Key

Hello, this looks like a great plugin. I am trying to figure out how to use this, or the api class to upload an "APNs Authentication Key". I see that the current method expects a APNS Certificate with a password, but how do I upload the key?

Also, is there a way to detect if the key has already been uploaded so I don't upload unnecessarily?

You must define service_account_json_path or email with client_secret_json_path

when executing this command - bundle exec fastlane test_list
+------------------------+---------+------------------------+
| Used plugins |
+------------------------+---------+------------------------+
| Plugin | Version | Action |
+------------------------+---------+------------------------+
| fastlane-plugin-fireb | 1.1.0 | firebase_add_app |
| ase_management | | firebase_download_con |
| | | fig firebase_list |
+------------------------+---------+------------------------+

undefined method service_account_json_path' for #<CredentialsManager::AppfileConfig:0x007fb3ef1a0c20> undefined method service_account_json_path' for #CredentialsManager::AppfileConfig:0x007fb3ef1d2568
[18:27:43]: Driving the lane 'test_list' ๐Ÿš€
[18:27:43]: --------------------------------------
[18:27:43]: --- Step: firebase_management_list ---
[18:27:43]: --------------------------------------
[18:27:43]: You must define service_account_json_path or email with client_secret_json_path.

+------+------------------------+-------------+
| fastlane summary |
+------+------------------------+-------------+
| Step | Action | Time (in s) |
+------+------------------------+-------------+
| 1 | firebase_management_l | 0 |
| | ist | |
+------+------------------------+-------------+

[18:27:43]: fastlane.tools finished successfully ๐ŸŽ‰

Where i have to add this service_account_json_path ?

Could not retrieve response as fastlane runs in non-interactive mode in jenkins

I am using the below lane to create app and download app in the firebase console. I can abele to create the app from add_app lane in my account. When downloading the app its asking to select the app id in the terminal. So in local we can give the input from terminal. But when running in the jenkins i am getting an issue

Could not retrieve response as fastlane runs in non-interactive mode. IS this possible to download google services file without app id ?? Please give me a suggestions

My Fastfile as below
lane :add_app do
set_env
firebase_management_add_app
end

lane :download_config do
set_env
firebase_management_download_config
end

lane :set_env do
ENV['FIREBASE_SERVICE_ACCOUNT_JSON_PATH'] =
"json path"
ENV['FIREBASE_PROJECT_ID'] = "project id"
ENV['FIREBASE_TYPE'] = ENV['PLATFORM']
ENV['FIREBASE_BUNDLE_ID'] = ENV['PACKAGE_NAME']
ENV['FIREBASE_DISPLAY_NAME'] = ENV['APP_NAME']
end

My android.sh file as below

echo "Add the app to firebase project"
fastlane add_app

echo "Download the google service config file"
fastlane download_config

<platform>_app_list cannot return entire list of apps

The way that the ios_app_list and android_app_list work cannot return the entire list of apps because the API can return a subset of the apps.

To fix this, the nextPageToken should be reviewed and the API should be called again with that token.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.