fastlane-plugin-appbox 3.5.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +24 -29
- data/lib/fastlane/plugin/appbox/actions/appbox_action.rb +27 -30
- data/lib/fastlane/plugin/appbox/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3db84f527f2c015f99d005447b3f209bfca6a1c020ca56fed4a099eb13ceff6e
|
|
4
|
+
data.tar.gz: fd340764d6fa68040b93ec7f7b88874850eadc71ae2eb2a67cd0666f620f78f5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f1ee9fbc055c6c129638af19988c734229a1bde2b0466e83d230b115d2bf80318e792153eb49cfa8714280765cdaf45a5a1a095d9a66ee8d70909b59cd81f6ba
|
|
7
|
+
data.tar.gz: 5729b9846272dc136a5d413195c1d44110f56a779e65355e7f44e5edbb39043107fdb662156317bf5dda83f1b800a327a6c8daadc3bd2b8e67c2a3024dff45d7
|
data/README.md
CHANGED
|
@@ -10,17 +10,28 @@
|
|
|
10
10
|
fastlane add_plugin appbox
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
**Step 2** -
|
|
13
|
+
**Step 2** - Install AppBox using one of the following methods:
|
|
14
|
+
|
|
15
|
+
- **Direct Install:**
|
|
16
|
+
```bash
|
|
17
|
+
curl -s https://getappbox.com/install.sh | bash
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
- **Homebrew:**
|
|
21
|
+
```bash
|
|
22
|
+
brew install --cask appbox
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Now, open AppBox and login with your Dropbox account.
|
|
14
26
|
|
|
15
27
|
**Step 3** - Define appbox action in your project Fastfile with emails and message. Here the available params for appbox plugins -
|
|
16
28
|
|
|
17
|
-
- `emails` (
|
|
18
|
-
- `message` (Optional | String) -
|
|
19
|
-
>The {PROJECT_NAME} - For Project Name,
|
|
20
|
-
>{BUILD_VERSION} - For Build Version, and
|
|
21
|
-
>{BUILD_NUMBER} - For Build Number.
|
|
22
|
-
- `appbox_path` (Optional | String) - If you've setup AppBox in the different directory then you need to mention that here. Default is `/Applications/AppBox.app`
|
|
29
|
+
- `emails` (Optional | String) - Comma-separated list of email address that should receive application installation link.
|
|
30
|
+
- `message` (Optional | String) - A personal message shown under "Message from the developer" in the email. Sent verbatim — AppBox 4 no longer substitutes `{PROJECT_NAME}` / `{BUILD_VERSION}` / `{BUILD_NUMBER}` placeholders, so build them yourself from fastlane's own variables (see the examples below).
|
|
23
31
|
- `keep_same_link` (Optional | Bool) - This feature will keep same short URL for all future build/IPA uploaded with same bundle identifier. If this option is enabled, you can also download the previous build with the same URL. Read more [here](https://docs.getappbox.com/Features/keepsamelink/).
|
|
32
|
+
- `slack_webhook_url` (Optional | String) - Slack Incoming Webhook URL to post a notification to a Slack channel.
|
|
33
|
+
- `ms_teams_webhook_url` (Optional | String) - Microsoft Teams Incoming Webhook URL to post a notification to a Teams channel.
|
|
34
|
+
- `webhook_message` (Optional | String) - **Deprecated and ignored since AppBox 4.** The CLI prints a note and generates the notification text from the build itself. Still accepted so existing Fastfiles keep working.
|
|
24
35
|
- `dropbox_folder_name` (Optional | String) - You can change the link by providing a Custom Dropbox Folder Name. By default folder name will be the application bundle identifier. So, AppBox will keep the same link for the IPA file available in the same folder. Read more [here](https://docs.getappbox.com/Features/keepsamelink/).
|
|
25
36
|
|
|
26
37
|
|
|
@@ -50,7 +61,7 @@ platform :ios do
|
|
|
50
61
|
lane :gymbox do
|
|
51
62
|
gym
|
|
52
63
|
appbox(
|
|
53
|
-
emails: 'you@example.com,
|
|
64
|
+
emails: 'you@example.com,someoneelse@example.com',
|
|
54
65
|
)
|
|
55
66
|
end
|
|
56
67
|
end
|
|
@@ -66,7 +77,7 @@ platform :ios do
|
|
|
66
77
|
gym
|
|
67
78
|
appbox(
|
|
68
79
|
emails: 'you@example.com',
|
|
69
|
-
message:
|
|
80
|
+
message: "#{lane_context[SharedValues::IPA_OUTPUT_PATH] ? File.basename(lane_context[SharedValues::IPA_OUTPUT_PATH], '.ipa') : 'Build'} is ready to test.",
|
|
70
81
|
)
|
|
71
82
|
end
|
|
72
83
|
end
|
|
@@ -82,7 +93,7 @@ platform :ios do
|
|
|
82
93
|
gym
|
|
83
94
|
appbox(
|
|
84
95
|
emails: 'you@example.com',
|
|
85
|
-
message:
|
|
96
|
+
message: "#{lane_context[SharedValues::IPA_OUTPUT_PATH] ? File.basename(lane_context[SharedValues::IPA_OUTPUT_PATH], '.ipa') : 'Build'} is ready to test.",
|
|
86
97
|
keep_same_link: true,
|
|
87
98
|
)
|
|
88
99
|
end
|
|
@@ -99,7 +110,7 @@ platform :ios do
|
|
|
99
110
|
gym
|
|
100
111
|
appbox(
|
|
101
112
|
emails: 'you@example.com',
|
|
102
|
-
message:
|
|
113
|
+
message: "#{lane_context[SharedValues::IPA_OUTPUT_PATH] ? File.basename(lane_context[SharedValues::IPA_OUTPUT_PATH], '.ipa') : 'Build'} is ready to test.",
|
|
103
114
|
keep_same_link: true,
|
|
104
115
|
dropbox_folder_name: 'Fastlane-Demo-Keep-Same-Link',
|
|
105
116
|
)
|
|
@@ -107,22 +118,6 @@ platform :ios do
|
|
|
107
118
|
end
|
|
108
119
|
```
|
|
109
120
|
|
|
110
|
-
#### 6. Upload IPA file where AppBox available at some custom path instead of macOS Application Directory.
|
|
111
|
-
|
|
112
|
-
```rb
|
|
113
|
-
default_platform(:ios)
|
|
114
|
-
|
|
115
|
-
platform :ios do
|
|
116
|
-
lane :gymbox do
|
|
117
|
-
gym
|
|
118
|
-
appbox(
|
|
119
|
-
emails: 'you@example.com,'someoneelse@example.com',
|
|
120
|
-
appbox_path:'/Users/vineetchoudhary/Desktop/AppBox3.4.0/AppBox.app',
|
|
121
|
-
)
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
|
-
```
|
|
125
|
-
|
|
126
121
|
#### Note
|
|
127
122
|
When you run this for the first time, a pop-up will appear stating that "Terminal.app" wants to access data from other apps. You must allow this to copy the IPA file to the Appbox temporary directory, enabling Appbox to access and upload it.
|
|
128
123
|

|
|
@@ -133,7 +128,7 @@ When you run this for the first time, a pop-up will appear stating that "Termina
|
|
|
133
128
|
- `APPBOX_MANIFEST_URL` - Manifest file URL for upload application.
|
|
134
129
|
|
|
135
130
|
## 4. About AppBox
|
|
136
|
-
[AppBox](https://getappbox.com) is a tool for iOS developers to build and deploy Development, Ad-Hoc and In-house (Enterprise) applications directly to the devices from your Dropbox account. Also, available on [Github](https://github.com/
|
|
131
|
+
[AppBox](https://getappbox.com) is a tool for iOS developers to build and deploy Development, Ad-Hoc and In-house (Enterprise) applications directly to the devices from your Dropbox account. Also, available on [Github](https://github.com/getappbox/AppBox-iOSAppsWirelessInstallation).
|
|
137
132
|
|
|
138
133
|
## 5. Example
|
|
139
134
|
|
|
@@ -142,6 +137,6 @@ Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plu
|
|
|
142
137
|
## 6. Issues and Feedback
|
|
143
138
|
For any other issues and feedback about this plugin, please submit it to this [repository](https://github.com/getappbox/fastlane-plugin-appbox/issues/new).
|
|
144
139
|
|
|
145
|
-
##
|
|
140
|
+
## 7. Troubleshooting
|
|
146
141
|
If you have trouble using plugins, check out the [Plugins Troubleshooting](https://docs.fastlane.tools/plugins/plugins-troubleshooting/) guide.
|
|
147
142
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require "json"
|
|
2
|
+
require "shellwords"
|
|
2
3
|
require 'fastlane/action'
|
|
3
4
|
require_relative '../helper/appbox_helper'
|
|
4
5
|
|
|
@@ -19,16 +20,18 @@ module Fastlane
|
|
|
19
20
|
UI.message("Dropbox folder name - #{dropbox_folder_name}")
|
|
20
21
|
end
|
|
21
22
|
|
|
22
|
-
#AppBox CLI
|
|
23
|
+
# AppBox CLI
|
|
23
24
|
appboxcli = "appboxcli"
|
|
24
25
|
appboxcli_path = `which #{appboxcli}`.strip
|
|
25
26
|
if appboxcli_path.empty?
|
|
26
|
-
UI.
|
|
27
|
-
exit
|
|
27
|
+
UI.user_error!("AppBox CLI not found. Install it from AppBox Preferences > General, or read more here - https://docs.getappbox.com/CommandLineInterface/")
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
ipa_path = Actions.lane_context[
|
|
31
|
-
|
|
30
|
+
ipa_path = Actions.lane_context[Actions::SharedValues::IPA_OUTPUT_PATH]
|
|
31
|
+
if ipa_path.nil? || ipa_path.to_s.empty?
|
|
32
|
+
UI.user_error!("No IPA found. Run `gym`/`build_app` before `appbox`, or set lane_context[SharedValues::IPA_OUTPUT_PATH] yourself.")
|
|
33
|
+
end
|
|
34
|
+
UI.user_error!("IPA not found at #{ipa_path}") unless File.exist?(ipa_path)
|
|
32
35
|
UI.message("IPA PATH - #{ipa_path}")
|
|
33
36
|
|
|
34
37
|
# Start AppBox
|
|
@@ -36,55 +39,50 @@ module Fastlane
|
|
|
36
39
|
UI.message("Starting AppBox...")
|
|
37
40
|
UI.message("Upload process will start soon. Upload process might take a few minutes. Please don't interrupt the script.")
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
# Built as an argv array and run without a shell, so a value containing a
|
|
43
|
+
# quote or a space cannot break the command.
|
|
44
|
+
args = [appboxcli, "--ipa", ipa_path.to_s]
|
|
40
45
|
|
|
41
|
-
#Add emails param in command
|
|
42
46
|
if params[:emails]
|
|
43
|
-
|
|
47
|
+
args += ["--emails", params[:emails].to_s]
|
|
44
48
|
UI.message("Emails - #{params[:emails]}")
|
|
45
49
|
end
|
|
46
50
|
|
|
47
|
-
#Add message param in command
|
|
48
51
|
if params[:message]
|
|
49
|
-
|
|
52
|
+
args += ["--message", params[:message].to_s]
|
|
50
53
|
UI.message("Message - #{params[:message]}")
|
|
51
54
|
end
|
|
52
55
|
|
|
53
|
-
#Add Keep Same Link param in command
|
|
54
56
|
if params[:keep_same_link] == true
|
|
55
|
-
|
|
57
|
+
args << "--keepsamelink"
|
|
56
58
|
UI.message("Keep Same Link - #{params[:keep_same_link]}")
|
|
57
59
|
end
|
|
58
60
|
|
|
59
|
-
#Add dropbox folder name param in command
|
|
60
61
|
if dropbox_folder_name
|
|
61
|
-
|
|
62
|
+
args += ["--dbfolder", dropbox_folder_name.to_s]
|
|
62
63
|
UI.message("Dropbox Folder Name - #{dropbox_folder_name}")
|
|
63
64
|
end
|
|
64
65
|
|
|
65
|
-
#Add Slack Webhook URL param in command
|
|
66
66
|
if params[:slack_webhook_url]
|
|
67
|
-
|
|
67
|
+
args += ["--slackwebhook", params[:slack_webhook_url].to_s]
|
|
68
68
|
UI.message("Slack Webhook URL - #{params[:slack_webhook_url]}")
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
-
#Add MS Teams Webhook URL param in command
|
|
72
71
|
if params[:ms_teams_webhook_url]
|
|
73
|
-
|
|
72
|
+
args += ["--msteamswebhook", params[:ms_teams_webhook_url].to_s]
|
|
74
73
|
UI.message("MS Teams Webhook URL - #{params[:ms_teams_webhook_url]}")
|
|
75
74
|
end
|
|
76
75
|
|
|
77
|
-
#Add Webhook Message param in command
|
|
78
76
|
if params[:webhook_message]
|
|
79
|
-
|
|
77
|
+
args += ["--webhookmessage", params[:webhook_message].to_s]
|
|
80
78
|
UI.message("Webhook Message - #{params[:webhook_message]}")
|
|
81
79
|
end
|
|
82
80
|
|
|
83
|
-
UI.message("AppBox Command - #{
|
|
84
|
-
|
|
85
|
-
# Execute
|
|
86
|
-
exit_status = system(
|
|
87
|
-
|
|
81
|
+
UI.message("AppBox Command - #{Shellwords.join(args)}")
|
|
82
|
+
|
|
83
|
+
# Execute without a shell.
|
|
84
|
+
exit_status = system(*args)
|
|
85
|
+
|
|
88
86
|
# Print upload status
|
|
89
87
|
if exit_status
|
|
90
88
|
UI.success("Successfully uploaded the IPA file to DropBox. Check below summary for more details.")
|
|
@@ -99,10 +97,9 @@ module Fastlane
|
|
|
99
97
|
FastlaneCore::PrintTable.print_values(config: share_urls_values, hide_keys: [], title: "Summary for AppBox")
|
|
100
98
|
end
|
|
101
99
|
UI.success('AppBox finished successfully')
|
|
102
|
-
else
|
|
100
|
+
else
|
|
103
101
|
UI.error('AppBox finished with errors')
|
|
104
|
-
UI.
|
|
105
|
-
exit
|
|
102
|
+
UI.user_error!('AppBox upload failed. Please feel free to open an issue on the project GitHub page, including a description of what is not working. https://github.com/getappbox/fastlane-plugin-appbox/issues/new')
|
|
106
103
|
end
|
|
107
104
|
end
|
|
108
105
|
|
|
@@ -135,7 +132,7 @@ module Fastlane
|
|
|
135
132
|
|
|
136
133
|
FastlaneCore::ConfigItem.new(key: :message,
|
|
137
134
|
env_name: "FL_APPBOX_MESSAGE",
|
|
138
|
-
description: "
|
|
135
|
+
description: "A personal message shown under \"Message from the developer\" in the email. Sent verbatim; AppBox 4 does not substitute {BUILD_NAME}/{BUILD_VERSION}/{BUILD_NUMBER} placeholders",
|
|
139
136
|
optional: true),
|
|
140
137
|
|
|
141
138
|
FastlaneCore::ConfigItem.new(key: :keep_same_link,
|
|
@@ -162,7 +159,7 @@ module Fastlane
|
|
|
162
159
|
|
|
163
160
|
FastlaneCore::ConfigItem.new(key: :webhook_message,
|
|
164
161
|
env_name: "FL_APPBOX_WEBHOOK_MESSAGE",
|
|
165
|
-
description: "
|
|
162
|
+
description: "Deprecated and ignored since AppBox 4 — the notification text is generated from the build. Accepted so existing Fastfiles keep working",
|
|
166
163
|
optional: true),
|
|
167
164
|
]
|
|
168
165
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane-plugin-appbox
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vineet Choudhary
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-09-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: pry
|
|
@@ -136,7 +136,7 @@ dependencies:
|
|
|
136
136
|
- - ">="
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
138
|
version: 2.111.0
|
|
139
|
-
description:
|
|
139
|
+
description:
|
|
140
140
|
email: vineetchoudhary@live.in
|
|
141
141
|
executables: []
|
|
142
142
|
extensions: []
|
|
@@ -152,7 +152,7 @@ homepage: https://github.com/getappbox/fastlane-plugin-appbox
|
|
|
152
152
|
licenses:
|
|
153
153
|
- MIT
|
|
154
154
|
metadata: {}
|
|
155
|
-
post_install_message:
|
|
155
|
+
post_install_message:
|
|
156
156
|
rdoc_options: []
|
|
157
157
|
require_paths:
|
|
158
158
|
- lib
|
|
@@ -167,8 +167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
167
167
|
- !ruby/object:Gem::Version
|
|
168
168
|
version: '0'
|
|
169
169
|
requirements: []
|
|
170
|
-
rubygems_version: 3.
|
|
171
|
-
signing_key:
|
|
170
|
+
rubygems_version: 3.5.22
|
|
171
|
+
signing_key:
|
|
172
172
|
specification_version: 4
|
|
173
173
|
summary: Deploy Development, Ad-Hoc and In-house (Enterprise) iOS applications directly
|
|
174
174
|
to the devices from your Dropbox account.
|