fastlane-plugin-rustore_connect 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dfa9a4b4e531e42522603b43c47185d0f9020fe84c85f34e1715c22d1a02f9bd
4
- data.tar.gz: e5ddc0d1936bd6aa34e3d45b18bcb3a5162f738eeefea439637712710cc31d1e
3
+ metadata.gz: 68ca487fb6a906fa3dfcc2a7d9fc53b7ab1b460e7c7bd218199aa34ef606f630
4
+ data.tar.gz: 8b511b926887c13eaf8fe5e7d05f772b179ef648009569d434df6640d679cf96
5
5
  SHA512:
6
- metadata.gz: 4bc9751dc0e6c6cd98a8fc7b04978bd1a74a6915fbbe8b73806f2d2d28ac51b0345711d0b886d0f241f82b360d5497c86d4f9845683b1d4624e50c3cce305cc7
7
- data.tar.gz: b32e764cf0d15b4dd892cc53bb3ea3aaa460bf3e948c8a8e2eac5f96c22db5491c1291c755619ee993a1d08cb5714a050508837c34103dd599438b74cc093e56
6
+ metadata.gz: d6e997952fb0573444ed0070d5f63517ef5b2c8611eb1dee1e95cc1361dc123d866bea53db44db9ccd81e75b828f6021a8f6cfe9468f7ffa14b6c62a4db23db8
7
+ data.tar.gz: dbdf0c7c2bdaf2831d2d3805d102b76a53f4dd1220404e365159c8eee09723abbdf3e19fffa030b0dbd87e13478869e7bd7198c4429e0f0470405ade23350684
data/README.md CHANGED
@@ -40,6 +40,9 @@ rustore_connect(
40
40
  publish_type: "INSTANTLY",
41
41
  publish_date_time: "2025-09-10T12:00:00+03:00",
42
42
  partial_value: "50",
43
+ developer_contacts_email: "test@mail.ru",
44
+ developer_contacts_website: "https://www.rustore.ru/",
45
+ developer_contacts_vk_community: "https://vk.com/rustore_official",
43
46
  services_type: "Unknown",
44
47
  is_main_apk: true,
45
48
  apk_path: "./app-release.apk",
@@ -69,6 +72,9 @@ rustore_connect(
69
72
  | `publish_type` | Publication type: `MANUAL`, `INSTANTLY`, `DELAYED` | String | `INSTANTLY` | ❌ |
70
73
  | `publish_date_time` | Scheduled publication date (for delayed type) | String | — | ❌ |
71
74
  | `partial_value` | Percentage for partial release | String | — | ❌ |
75
+ | `developer_contacts_email` | Developer contact email (example: `test@mail.ru`) | String | — | ❌ |
76
+ | `developer_contacts_website` | Developer website (example: `https://www.rustore.ru/`) | String | — | ❌ |
77
+ | `developer_contacts_vk_community` | Developer VK community (`https://vk.com/*`) | String | — | ❌ |
72
78
  | `services_type` | Service type: `HMS` or `Unknown` | String | `Unknown` | ❌ |
73
79
  | `is_main_apk` | Is main APK | Boolean | `false` | ❌ |
74
80
  | `apk_path` | Path to APK or AAB | String | — | ✅ |
@@ -76,6 +82,8 @@ rustore_connect(
76
82
  | `draft_strategy` | Strategy if draft exists: `DELETE`, `REUSE`, `FAIL` | String | `FAIL` | ❌ |
77
83
  | `submit_for_review` | Should submit for review automatically | Boolean | `true` | ❌ |
78
84
 
85
+ > **Note:** if any of the `developer_contacts_*` options is set, RuStore requires at least one valid contact method (email, website, or VK community). If none are set, `developerContacts` is not sent at all.
86
+
79
87
  ## Draft Strategies
80
88
 
81
89
  * `DELETE` – Delete existing draft and create a new one
@@ -8,6 +8,13 @@ module Fastlane
8
8
  def self.run(params)
9
9
  token = Helper::RustoreConnectHelper.get_token(params[:key_id], params[:private_key])
10
10
 
11
+ developer_contacts = {
12
+ email: params[:developer_contacts_email],
13
+ website: params[:developer_contacts_website],
14
+ vkCommunity: params[:developer_contacts_vk_community]
15
+ }.compact
16
+ developer_contacts = nil if developer_contacts.empty?
17
+
11
18
  if token.nil?
12
19
  UI.message("Cannot retrieve token, please check your Key ID and private key")
13
20
  else
@@ -38,7 +45,8 @@ module Fastlane
38
45
  params[:seo_tag_ids],
39
46
  params[:publish_type],
40
47
  params[:publish_date_time],
41
- params[:partial_value]
48
+ params[:partial_value],
49
+ developer_contacts
42
50
  )
43
51
 
44
52
  else
@@ -68,7 +76,8 @@ module Fastlane
68
76
  params[:seo_tag_ids],
69
77
  params[:publish_type],
70
78
  params[:publish_date_time],
71
- params[:partial_value]
79
+ params[:partial_value],
80
+ developer_contacts
72
81
  )
73
82
 
74
83
  when RustoreConnectDraftStrategy::REUSE
@@ -226,6 +235,27 @@ module Fastlane
226
235
  type: String,
227
236
  ),
228
237
 
238
+ FastlaneCore::ConfigItem.new(key: :developer_contacts_email,
239
+ env_name: "RUSTORE_CONNECT_DEVELOPER_CONTACTS_EMAIL",
240
+ description: "Developer contact email (example `test@mail.ru`). At least one of email/website/vkCommunity is required by RuStore if developerContacts is sent",
241
+ optional: true,
242
+ type: String,
243
+ ),
244
+
245
+ FastlaneCore::ConfigItem.new(key: :developer_contacts_website,
246
+ env_name: "RUSTORE_CONNECT_DEVELOPER_CONTACTS_WEBSITE",
247
+ description: "Developer contact website (example `https://www.rustore.ru/`)",
248
+ optional: true,
249
+ type: String,
250
+ ),
251
+
252
+ FastlaneCore::ConfigItem.new(key: :developer_contacts_vk_community,
253
+ env_name: "RUSTORE_CONNECT_DEVELOPER_CONTACTS_VK_COMMUNITY",
254
+ description: "Developer VK community in format `https://vk.com/*` (example `https://vk.com/rustore_official`)",
255
+ optional: true,
256
+ type: String,
257
+ ),
258
+
229
259
  FastlaneCore::ConfigItem.new(key: :services_type,
230
260
  env_name: "RUSTORE_CONNECT_SERVICES_TYPE",
231
261
  description: "Type of service used by the app. Possible options: • `HMS` — for APK files with Huawei Mobile Services; • `Unknown` is set by default if the field is empty",
@@ -107,7 +107,8 @@ module Fastlane
107
107
  seo_tag_ids,
108
108
  publish_type,
109
109
  publish_date_time,
110
- partial_value
110
+ partial_value,
111
+ developer_contacts = nil
111
112
  )
112
113
  uri = URI.parse("https://public-api.rustore.ru/public/v1/application/#{package_name}/version")
113
114
 
@@ -131,7 +132,8 @@ module Fastlane
131
132
  seoTagIds: seo_tag_ids,
132
133
  publishType: publish_type,
133
134
  publishDateTime: publish_date_time,
134
- partialValue: partial_value
135
+ partialValue: partial_value,
136
+ developerContacts: developer_contacts
135
137
  }.to_json
136
138
 
137
139
  response = http.request(request)
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module RustoreConnect
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-rustore_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikhail Matsera
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-08 00:00:00.000000000 Z
11
+ date: 2026-07-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: mmatsera@gmail.com
@@ -43,7 +43,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
43
43
  - !ruby/object:Gem::Version
44
44
  version: '0'
45
45
  requirements: []
46
- rubygems_version: 3.4.10
46
+ rubygems_version: 3.4.22
47
47
  signing_key:
48
48
  specification_version: 4
49
49
  summary: Fastlane plugin for publishing Android applications to RuStore.