rogerluan / app-store-connect-notifier Goto Github PK
View Code? Open in Web Editor NEWNode.js app that sends App Store Connect notifications to Slack.
License: BSD 2-Clause "Simplified" License
Node.js app that sends App Store Connect notifications to Slack.
License: BSD 2-Clause "Simplified" License
spaceship supports the usage of the App Store connect api key instead of password for usage without a password. This will help with 2fa accounts.
The colors of the attachments of the slack message broke in the latest App Store Connect API changes, because the statuses changed. Now they all display gray colors instead of red/yellow/green/etc
In fetch_app_status.rb
using environment for bundle_identifier
bundle_id = ENV["BUNDLE_IDENTIFIER"]
but , in README.md
has no content.
Use fastlane's supply
to do so.
Hi. It would be nice to track Testflight processing + beta review statuses.
I was trying to look into Spaceship and your code and got a bit lost when trying to figure it out.
Hello,
Tried deploying to Heroku and everything builds successful but the push step fails. pasted the error below
-----> Building on the Heroku-20 stack
-----> Using buildpacks:
1. heroku/nodejs
2. heroku/ruby
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_VERBOSE=false
NODE_ENV=production
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): unspecified
engines.npm (package.json): unspecified (use default)
Resolving node version 14.x...
Downloading and installing node 14.18.1...
Using default npm version: 6.14.15
-----> Installing dependencies
Installing node modules
added 117 packages in 2.357s
-----> Build
-----> Caching build
- node_modules
-----> Pruning devDependencies
removed 92 packages and audited 25 packages in 0.786s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
-----> Build succeeded!
-----> Ruby app detected
-----> Installing bundler 2.2.21
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-20/ruby-2.6.5.tgz -s -o - | tar zxf - ' failed on attempt 1 of 3.
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-20/ruby-2.6.5.tgz -s -o - | tar zxf - ' failed on attempt 2 of 3.
!
! The Ruby version you are trying to install does not exist on this stack.
!
! You are trying to install ruby-2.6.5 on heroku-20.
!
! Ruby ruby-2.6.5 is present on the following stacks:
!
! - heroku-18
!
! Heroku recommends you use the latest supported Ruby version listed here:
! https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
!
! For more information on syntax for declaring a Ruby version see:
! https://devcenter.heroku.com/articles/ruby-versions
!
! Push rejected, failed to compile Ruby app.
! Push failed```
Hi! Tried:
sudo bundle install
npm install
All is correct. But on starting the app with npm start
:
Fetching latest app status...
There was a problem fetching the status of the app!
/Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/connect_api/api_client.rb:226:in `handle_error': A required agreement is missing or has expired. - This request requires an in-effect agreement that has not been signed or has expired. (Spaceship::ProgramLicenseAgreementUpdated)
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/client.rb:922:in `block in send_request'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/client.rb:677:in `with_retry'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/client.rb:918:in `send_request'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/client.rb:762:in `request'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/connect_api/api_client.rb:106:in `block in get'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/connect_api/api_client.rb:162:in `with_asc_retry'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/connect_api/api_client.rb:105:in `get'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/connect_api/testflight/testflight.rb:22:in `get_apps'
from /Users/aturan23/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/forwardable.rb:238:in `get_apps'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/connect_api/models/app.rb:74:in `all'
from /Users/aturan23/apps/app-store-connect-notifier/.vendor/ruby/3.0.0/gems/fastlane-2.199.0/spaceship/lib/spaceship/connect_api/models/app.rb:80:in `find'
from src/fetch_app_status.rb:91:in `block in get_app_version_from'
from src/fetch_app_status.rb:90:in `each'
from src/fetch_app_status.rb:90:in `get_app_version_from'
from src/fetch_app_status.rb:119:in `block in <main>'
from src/fetch_app_status.rb:117:in `each'
from src/fetch_app_status.rb:117:in `<main>'
Week ago all worked fine. But now not
Apple has a phased rollout capability where it will automatically roll an app out to an increasing percentage of its audience whom use automatic app updates. The %'s are static and chosen by Apple, as a developer we can push it to 100% of users at any time during the rollout and we can also pause the rollout at anytime which stops any more users from getting the automatic update.
When Apple changes the % of whom get the rollout, a notification should be sent like:
"App Name has rolled out to 5% of users"
"App Name has finished rollout and is available to 100% of users"
When a developer pushed a release to 100%, a notification should be sent like:
"App Name has been pushed to 100% of users"
When a developer paused a release, a notification should be sent like:
"The rollout of App Name has been paused at 5% of users"
When a developer resumes a release after being paused, a notification should be sent like:
"The rollout of App Name has been resumed. Currently at 5% of users"
https://twitter.com/JamesSherlouk/status/1305287338826911745
This error is popping since September 3rd 2020:
/Users/rogerluan/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.159.0/spaceship/lib/spaceship/client.rb:719:in `parse_response': {"data"=>nil, "messages"=>{"warn"=>nil, "error"=>["Not Found"], "info"=>nil}, "statusCode"=>"ERROR"} (Spaceship::UnexpectedResponse)
from /Users/rogerluan/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.159.0/spaceship/lib/spaceship/tunes/tunes_client.rb:456:in `app_version_data'
from /Users/rogerluan/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.159.0/spaceship/lib/spaceship/tunes/tunes_client.rb:447:in `app_version'
from /Users/rogerluan/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.159.0/spaceship/lib/spaceship/tunes/app_version.rb:291:in `find'
from /Users/rogerluan/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.159.0/spaceship/lib/spaceship/tunes/application.rb:126:in `live_version'
from /Users/rogerluan/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.159.0/spaceship/lib/spaceship/tunes/application.rb:137:in `latest_version'
Preventing the app from running completely.
@rogerluan Would you have any interest in extending this at all to perform similar actions for the Google play store?
Asking before I do a PR, otherwise I'll fork and create a sibling project that just does the google bits
With the introduction of the new App Store Connect APIs in June 2020 (beta), Apple now offers an official set of APIs for us to use. Once fastlane
fully supports those, we should migrate from user & pass credentials to API Token credentials. This also resolves the problem of 2FA sessions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.