fastlane 2.227.2 → 2.228.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 +94 -94
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -6
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +6 -65
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +2 -2
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/match/lib/match/options.rb +1 -0
- data/sigh/lib/sigh/options.rb +1 -0
- data/sigh/lib/sigh/runner.rb +5 -2
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +2 -3
- metadata +20 -21
- data/fastlane/lib/fastlane/actions/hipchat.rb +0 -200
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 73a9dc083aac92c7e8e2191368f97ccd85cbf0280aeca18f5f3fe7654e2172f2
|
4
|
+
data.tar.gz: 2566fcedb7fb02b16e09078b46f0ce0eae3aa85f0648aa201402b39b599196a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3dd3efd4bec60e096fd37945addda36c63d24feeac634236b7b7ffe01e3c305509fb4c5f1f7128c4b1fd3b75c8dff151152eab929d64c31a5c698f92723244cf
|
7
|
+
data.tar.gz: c9c3e37d9eb3fe450b38c039a72e5600f13b9914cdccebbedf16c07008aae50211495ab01d4326618bd718a038c689733f373e6cf72d2b57522266d8ff973f13
|
data/README.md
CHANGED
@@ -35,87 +35,87 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
35
35
|
<!-- This table is regenerated and resorted on each release -->
|
36
36
|
<table id='team'>
|
37
37
|
<tr>
|
38
|
-
<td id='
|
39
|
-
<a href='https://github.com/
|
40
|
-
<img src='https://github.com/
|
41
|
-
</a>
|
42
|
-
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
43
|
-
</td>
|
44
|
-
<td id='stefan-natchev'>
|
45
|
-
<a href='https://github.com/snatchev'>
|
46
|
-
<img src='https://github.com/snatchev.png' width='140px;'>
|
47
|
-
</a>
|
48
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
49
|
-
</td>
|
50
|
-
<td id='andrew-mcburney'>
|
51
|
-
<a href='https://github.com/armcburney'>
|
52
|
-
<img src='https://github.com/armcburney.png' width='140px;'>
|
53
|
-
</a>
|
54
|
-
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
55
|
-
</td>
|
56
|
-
<td id='aaron-brager'>
|
57
|
-
<a href='https://github.com/getaaron'>
|
58
|
-
<img src='https://github.com/getaaron.png' width='140px;'>
|
38
|
+
<td id='iulian-onofrei'>
|
39
|
+
<a href='https://github.com/revolter'>
|
40
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
59
41
|
</a>
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
42
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
61
43
|
</td>
|
62
|
-
<td id='
|
63
|
-
<a href='https://github.com/
|
64
|
-
<img src='https://github.com/
|
44
|
+
<td id='daniel-jankowski'>
|
45
|
+
<a href='https://github.com/mollyIV'>
|
46
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
65
47
|
</a>
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
48
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
67
49
|
</td>
|
68
|
-
</tr>
|
69
|
-
<tr>
|
70
50
|
<td id='danielle-tomlinson'>
|
71
51
|
<a href='https://github.com/endocrimes'>
|
72
52
|
<img src='https://github.com/endocrimes.png' width='140px;'>
|
73
53
|
</a>
|
74
54
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
75
55
|
</td>
|
76
|
-
<td id='
|
77
|
-
<a href='https://github.com/
|
78
|
-
<img src='https://github.com/
|
56
|
+
<td id='jorge-revuelta-h'>
|
57
|
+
<a href='https://github.com/minuscorp'>
|
58
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
79
59
|
</a>
|
80
|
-
<h4 align='center'>
|
60
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
81
61
|
</td>
|
82
|
-
<td id='
|
83
|
-
<a href='https://github.com/
|
84
|
-
<img src='https://github.com/
|
62
|
+
<td id='olivier-halligon'>
|
63
|
+
<a href='https://github.com/AliSoftware'>
|
64
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
85
65
|
</a>
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
66
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
87
67
|
</td>
|
68
|
+
</tr>
|
69
|
+
<tr>
|
88
70
|
<td id='satoshi-namai'>
|
89
71
|
<a href='https://github.com/ainame'>
|
90
72
|
<img src='https://github.com/ainame.png' width='140px;'>
|
91
73
|
</a>
|
92
74
|
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
93
75
|
</td>
|
94
|
-
<td id='jérôme-lacoste'>
|
95
|
-
<a href='https://github.com/lacostej'>
|
96
|
-
<img src='https://github.com/lacostej.png' width='140px;'>
|
97
|
-
</a>
|
98
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
99
|
-
</td>
|
100
|
-
</tr>
|
101
|
-
<tr>
|
102
76
|
<td id='luka-mirosevic'>
|
103
77
|
<a href='https://github.com/lmirosevic'>
|
104
78
|
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
105
79
|
</a>
|
106
80
|
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
107
81
|
</td>
|
108
|
-
<td id='
|
109
|
-
<a href='https://github.com/
|
110
|
-
<img src='https://github.com/
|
82
|
+
<td id='manu-wallner'>
|
83
|
+
<a href='https://github.com/milch'>
|
84
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
111
85
|
</a>
|
112
|
-
<h4 align='center'><a href='https://twitter.com/
|
86
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
113
87
|
</td>
|
114
|
-
<td id='
|
115
|
-
<a href='https://github.com/
|
116
|
-
<img src='https://github.com/
|
88
|
+
<td id='kohki-miki'>
|
89
|
+
<a href='https://github.com/giginet'>
|
90
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
117
91
|
</a>
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
92
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
93
|
+
</td>
|
94
|
+
<td id='fumiya-nakamura'>
|
95
|
+
<a href='https://github.com/nafu'>
|
96
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
97
|
+
</a>
|
98
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
99
|
+
</td>
|
100
|
+
</tr>
|
101
|
+
<tr>
|
102
|
+
<td id='jérôme-lacoste'>
|
103
|
+
<a href='https://github.com/lacostej'>
|
104
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
105
|
+
</a>
|
106
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
107
|
+
</td>
|
108
|
+
<td id='max-ott'>
|
109
|
+
<a href='https://github.com/max-ott'>
|
110
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
111
|
+
</a>
|
112
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
113
|
+
</td>
|
114
|
+
<td id='jimmy-dee'>
|
115
|
+
<a href='https://github.com/jdee'>
|
116
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
117
|
+
</a>
|
118
|
+
<h4 align='center'>Jimmy Dee</h4>
|
119
119
|
</td>
|
120
120
|
<td id='matthew-ellis'>
|
121
121
|
<a href='https://github.com/matthewellis'>
|
@@ -123,31 +123,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
123
123
|
</a>
|
124
124
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
125
125
|
</td>
|
126
|
-
<td id='
|
127
|
-
<a href='https://github.com/
|
128
|
-
<img src='https://github.com/
|
126
|
+
<td id='helmut-januschka'>
|
127
|
+
<a href='https://github.com/hjanuschka'>
|
128
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
129
129
|
</a>
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
130
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
131
131
|
</td>
|
132
132
|
</tr>
|
133
133
|
<tr>
|
134
|
-
<td id='
|
135
|
-
<a href='https://github.com/
|
136
|
-
<img src='https://github.com/
|
137
|
-
</a>
|
138
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
139
|
-
</td>
|
140
|
-
<td id='josh-holtz'>
|
141
|
-
<a href='https://github.com/joshdholtz'>
|
142
|
-
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
143
|
-
</a>
|
144
|
-
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
145
|
-
</td>
|
146
|
-
<td id='fumiya-nakamura'>
|
147
|
-
<a href='https://github.com/nafu'>
|
148
|
-
<img src='https://github.com/nafu.png' width='140px;'>
|
134
|
+
<td id='stefan-natchev'>
|
135
|
+
<a href='https://github.com/snatchev'>
|
136
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
149
137
|
</a>
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
138
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
151
139
|
</td>
|
152
140
|
<td id='łukasz-grabowski'>
|
153
141
|
<a href='https://github.com/lucgrabowski'>
|
@@ -161,45 +149,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
161
149
|
</a>
|
162
150
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
163
151
|
</td>
|
164
|
-
|
165
|
-
<
|
166
|
-
<
|
167
|
-
<a href='https://github.com/rogerluan'>
|
168
|
-
<img src='https://github.com/rogerluan.png' width='140px;'>
|
152
|
+
<td id='manish-rathi'>
|
153
|
+
<a href='https://github.com/crazymanish'>
|
154
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
169
155
|
</a>
|
170
|
-
<h4 align='center'><a href='https://twitter.com/
|
156
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
157
|
+
</td>
|
158
|
+
<td id='aaron-brager'>
|
159
|
+
<a href='https://github.com/getaaron'>
|
160
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
161
|
+
</a>
|
162
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
171
163
|
</td>
|
164
|
+
</tr>
|
165
|
+
<tr>
|
172
166
|
<td id='felix-krause'>
|
173
167
|
<a href='https://github.com/KrauseFx'>
|
174
168
|
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
175
169
|
</a>
|
176
170
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
177
171
|
</td>
|
178
|
-
<td id='
|
179
|
-
<a href='https://github.com/
|
180
|
-
<img src='https://github.com/
|
172
|
+
<td id='maksym-grebenets'>
|
173
|
+
<a href='https://github.com/mgrebenets'>
|
174
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
181
175
|
</a>
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
176
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
183
177
|
</td>
|
184
|
-
<td id='
|
185
|
-
<a href='https://github.com/
|
186
|
-
<img src='https://github.com/
|
178
|
+
<td id='jan-piotrowski'>
|
179
|
+
<a href='https://github.com/janpio'>
|
180
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
187
181
|
</a>
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
182
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
189
183
|
</td>
|
190
|
-
<td id='
|
191
|
-
<a href='https://github.com/
|
192
|
-
<img src='https://github.com/
|
184
|
+
<td id='josh-holtz'>
|
185
|
+
<a href='https://github.com/joshdholtz'>
|
186
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
193
187
|
</a>
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
188
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
189
|
+
</td>
|
190
|
+
<td id='roger-oba'>
|
191
|
+
<a href='https://github.com/rogerluan'>
|
192
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
193
|
+
</a>
|
194
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
195
195
|
</td>
|
196
196
|
</tr>
|
197
197
|
<tr>
|
198
|
-
<td id='
|
199
|
-
<a href='https://github.com/
|
200
|
-
<img src='https://github.com/
|
198
|
+
<td id='andrew-mcburney'>
|
199
|
+
<a href='https://github.com/armcburney'>
|
200
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
201
201
|
</a>
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
202
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
203
203
|
</td>
|
204
204
|
</table>
|
205
205
|
|
@@ -406,14 +406,16 @@ If you're not using `Fastfile`, you can also use the `force_for_new_devices` opt
|
|
406
406
|
fastlane match adhoc --force_for_new_devices
|
407
407
|
```
|
408
408
|
|
409
|
-
#####
|
409
|
+
##### Managed capabilities
|
410
410
|
|
411
|
-
|
411
|
+
> [!IMPORTANT]
|
412
|
+
> This feature has been deprecated since May 2025, until Apple provides a new solution. We will update this documentation once we have more information on how to handle managed capabilities in the future.
|
412
413
|
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
414
|
+
Managed capabilities — formerly known as "additional entitlements" or "custom entitlements", enabled via "templates" — are additional capabilities that require Apple's review and approval before they can be distributed.
|
415
|
+
|
416
|
+
These capabilities used to be enabled by passing a `template_name` parameter to the _match_ action, which would then generate a provisioning profile with the entitlements specified by the given template. However, this feature was never officially supported by Apple's API (undocumented), and they eventually removed it in May 2025 ([see issue #29498](https://github.com/fastlane/fastlane/issues/29498)). Apple still hasn't provided a replacement for this functionality.
|
417
|
+
|
418
|
+
As a result, the `template_name` parameter was deprecated in the _match_ action, and it will not generate provisioning profiles with custom entitlements.
|
417
419
|
|
418
420
|
### Setup Xcode project
|
419
421
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.
|
2
|
+
VERSION = '2.228.0'.freeze
|
3
3
|
SUMMARY = "The easiest way to build and release mobile apps.".freeze
|
4
4
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
5
5
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
@@ -5063,7 +5063,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
5063
5063
|
- skipCertificateVerification: Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine
|
5064
5064
|
- platform: Set the provisioning profile's platform (i.e. ios, tvos, macos, catalyst)
|
5065
5065
|
- readonly: Only fetch existing profile, don't generate new ones
|
5066
|
-
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
5066
|
+
- templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
5067
5067
|
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
5068
5068
|
- cachedCertificates: A list of cached certificates
|
5069
5069
|
- cachedDevices: A list of cached devices
|
@@ -5975,65 +5975,6 @@ public func hgPush(force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
5975
5975
|
_ = runner.executeCommand(command)
|
5976
5976
|
}
|
5977
5977
|
|
5978
|
-
/**
|
5979
|
-
Send a error/success message to [HipChat](https://www.hipchat.com/)
|
5980
|
-
|
5981
|
-
- parameters:
|
5982
|
-
- message: The message to post on HipChat
|
5983
|
-
- channel: The room or @username
|
5984
|
-
- apiToken: Hipchat API Token
|
5985
|
-
- customColor: Specify a custom color, this overrides the success boolean. Can be one of 'yellow', 'red', 'green', 'purple', 'gray', or 'random'
|
5986
|
-
- success: Was this build successful? (true/false)
|
5987
|
-
- version: Version of the Hipchat API. Must be 1 or 2
|
5988
|
-
- notifyRoom: Should the people in the room be notified? (true/false)
|
5989
|
-
- apiHost: The host of the HipChat-Server API
|
5990
|
-
- messageFormat: Format of the message to post. Must be either 'html' or 'text'
|
5991
|
-
- includeHtmlHeader: Should html formatted messages include a preformatted header? (true/false)
|
5992
|
-
- from: Name the message will appear to be sent from
|
5993
|
-
|
5994
|
-
Send a message to **room** (by default) or a direct message to **@username** with success (green) or failure (red) status.
|
5995
|
-
*/
|
5996
|
-
public func hipchat(message: String = "",
|
5997
|
-
channel: String,
|
5998
|
-
apiToken: String,
|
5999
|
-
customColor: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6000
|
-
success: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
6001
|
-
version: String,
|
6002
|
-
notifyRoom: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6003
|
-
apiHost: String = "api.hipchat.com",
|
6004
|
-
messageFormat: String = "html",
|
6005
|
-
includeHtmlHeader: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
6006
|
-
from: String = "fastlane")
|
6007
|
-
{
|
6008
|
-
let messageArg = RubyCommand.Argument(name: "message", value: message, type: nil)
|
6009
|
-
let channelArg = RubyCommand.Argument(name: "channel", value: channel, type: nil)
|
6010
|
-
let apiTokenArg = RubyCommand.Argument(name: "api_token", value: apiToken, type: nil)
|
6011
|
-
let customColorArg = customColor.asRubyArgument(name: "custom_color", type: nil)
|
6012
|
-
let successArg = success.asRubyArgument(name: "success", type: nil)
|
6013
|
-
let versionArg = RubyCommand.Argument(name: "version", value: version, type: nil)
|
6014
|
-
let notifyRoomArg = notifyRoom.asRubyArgument(name: "notify_room", type: nil)
|
6015
|
-
let apiHostArg = RubyCommand.Argument(name: "api_host", value: apiHost, type: nil)
|
6016
|
-
let messageFormatArg = RubyCommand.Argument(name: "message_format", value: messageFormat, type: nil)
|
6017
|
-
let includeHtmlHeaderArg = includeHtmlHeader.asRubyArgument(name: "include_html_header", type: nil)
|
6018
|
-
let fromArg = RubyCommand.Argument(name: "from", value: from, type: nil)
|
6019
|
-
let array: [RubyCommand.Argument?] = [messageArg,
|
6020
|
-
channelArg,
|
6021
|
-
apiTokenArg,
|
6022
|
-
customColorArg,
|
6023
|
-
successArg,
|
6024
|
-
versionArg,
|
6025
|
-
notifyRoomArg,
|
6026
|
-
apiHostArg,
|
6027
|
-
messageFormatArg,
|
6028
|
-
includeHtmlHeaderArg,
|
6029
|
-
fromArg]
|
6030
|
-
let args: [RubyCommand.Argument] = array
|
6031
|
-
.filter { $0?.value != nil }
|
6032
|
-
.compactMap { $0 }
|
6033
|
-
let command = RubyCommand(commandID: "", methodName: "hipchat", className: nil, args: args)
|
6034
|
-
_ = runner.executeCommand(command)
|
6035
|
-
}
|
6036
|
-
|
6037
5978
|
/**
|
6038
5979
|
Refer to [App Center](https://github.com/Microsoft/fastlane-plugin-appcenter/)
|
6039
5980
|
|
@@ -6817,7 +6758,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
6817
6758
|
- skipDocs: Skip generation of a README.md for the created git repository
|
6818
6759
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
6819
6760
|
- deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
|
6820
|
-
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
6761
|
+
- templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
6821
6762
|
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
6822
6763
|
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
6823
6764
|
- skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
|
@@ -7056,7 +6997,7 @@ public func match(type: String = matchfile.type,
|
|
7056
6997
|
- skipDocs: Skip generation of a README.md for the created git repository
|
7057
6998
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
7058
6999
|
- deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
|
7059
|
-
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
7000
|
+
- templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
7060
7001
|
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
7061
7002
|
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
7062
7003
|
- skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
|
@@ -10126,7 +10067,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
10126
10067
|
- skipCertificateVerification: Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine
|
10127
10068
|
- platform: Set the provisioning profile's platform (i.e. ios, tvos, macos, catalyst)
|
10128
10069
|
- readonly: Only fetch existing profile, don't generate new ones
|
10129
|
-
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
10070
|
+
- templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
10130
10071
|
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
10131
10072
|
- cachedCertificates: A list of cached certificates
|
10132
10073
|
- cachedDevices: A list of cached devices
|
@@ -11386,7 +11327,7 @@ public func swiftlint(mode: String = "lint",
|
|
11386
11327
|
- skipDocs: Skip generation of a README.md for the created git repository
|
11387
11328
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
11388
11329
|
- deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
|
11389
|
-
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
11330
|
+
- templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
11390
11331
|
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
11391
11332
|
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
11392
11333
|
- skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
|
@@ -13887,4 +13828,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
13887
13828
|
|
13888
13829
|
// Please don't remove the lines below
|
13889
13830
|
// They are used to detect outdated files
|
13890
|
-
// FastlaneRunnerAPIVersion [0.9.
|
13831
|
+
// FastlaneRunnerAPIVersion [0.9.189]
|
@@ -146,7 +146,7 @@ public protocol MatchfileProtocol: AnyObject {
|
|
146
146
|
/// Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
|
147
147
|
var deriveCatalystAppIdentifier: Bool { get }
|
148
148
|
|
149
|
-
/// The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
149
|
+
/// **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
150
150
|
var templateName: String? { get }
|
151
151
|
|
152
152
|
/// A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
@@ -232,4 +232,4 @@ public extension MatchfileProtocol {
|
|
232
232
|
|
233
233
|
// Please don't remove the lines below
|
234
234
|
// They are used to detect outdated files
|
235
|
-
// FastlaneRunnerAPIVersion [0.9.
|
235
|
+
// FastlaneRunnerAPIVersion [0.9.133]
|
data/match/lib/match/options.rb
CHANGED
@@ -327,6 +327,7 @@ module Match
|
|
327
327
|
env_name: "MATCH_PROVISIONING_PROFILE_TEMPLATE_NAME",
|
328
328
|
description: "The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. \"Apple Pay Pass Suppression Development\")",
|
329
329
|
optional: true,
|
330
|
+
deprecated: "Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities",
|
330
331
|
default_value: nil),
|
331
332
|
FastlaneCore::ConfigItem.new(key: :profile_name,
|
332
333
|
env_name: "MATCH_PROVISIONING_PROFILE_NAME",
|
data/sigh/lib/sigh/options.rb
CHANGED
@@ -190,6 +190,7 @@ module Sigh
|
|
190
190
|
env_name: "SIGH_PROVISIONING_PROFILE_TEMPLATE_NAME",
|
191
191
|
description: "The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. \"Apple Pay Pass Suppression Development\")",
|
192
192
|
optional: true,
|
193
|
+
deprecated: "Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities",
|
193
194
|
default_value: nil),
|
194
195
|
FastlaneCore::ConfigItem.new(key: :fail_on_name_taken,
|
195
196
|
env_name: "SIGH_FAIL_ON_NAME_TAKEN",
|
data/sigh/lib/sigh/runner.rb
CHANGED
@@ -174,13 +174,16 @@ module Sigh
|
|
174
174
|
|
175
175
|
UI.important("Creating new provisioning profile for '#{Sigh.config[:app_identifier]}' with name '#{name}' for '#{Sigh.config[:platform]}' platform")
|
176
176
|
|
177
|
+
unless Sigh.config[:template_name].nil?
|
178
|
+
UI.important("Template name is set to '#{Sigh.config[:template_name]}', however, this is not supported by the App Store Connect API anymore, since May 2025. The template name will be ignored. For more information: https://docs.fastlane.tools/actions/match/#managed-capabilities")
|
179
|
+
end
|
180
|
+
|
177
181
|
profile = Spaceship::ConnectAPI::Profile.create(
|
178
182
|
name: name,
|
179
183
|
profile_type: profile_type,
|
180
184
|
bundle_id_id: bundle_id.id,
|
181
185
|
certificate_ids: certificates_to_use.map(&:id),
|
182
|
-
device_ids: devices_to_use.map(&:id)
|
183
|
-
template_name: Sigh.config[:template_name]
|
186
|
+
device_ids: devices_to_use.map(&:id)
|
184
187
|
)
|
185
188
|
|
186
189
|
profile
|
@@ -84,7 +84,7 @@ module Spaceship
|
|
84
84
|
return resps.flat_map(&:to_models)
|
85
85
|
end
|
86
86
|
|
87
|
-
def self.create(client: nil, name: nil, profile_type: nil, bundle_id_id: nil, certificate_ids: nil, device_ids: nil
|
87
|
+
def self.create(client: nil, name: nil, profile_type: nil, bundle_id_id: nil, certificate_ids: nil, device_ids: nil)
|
88
88
|
client ||= Spaceship::ConnectAPI
|
89
89
|
resp = client.post_profiles(
|
90
90
|
bundle_id_id: bundle_id_id,
|
@@ -92,8 +92,7 @@ module Spaceship
|
|
92
92
|
devices: device_ids,
|
93
93
|
attributes: {
|
94
94
|
name: name,
|
95
|
-
profileType: profile_type
|
96
|
-
templateName: template_name
|
95
|
+
profileType: profile_type
|
97
96
|
}
|
98
97
|
)
|
99
98
|
return resp.to_models.first
|
metadata
CHANGED
@@ -1,39 +1,39 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.228.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
10
|
-
- Jimmy Dee
|
7
|
+
- Maksym Grebenets
|
8
|
+
- Jérôme Lacoste
|
9
|
+
- Jorge Revuelta H
|
11
10
|
- Andrew McBurney
|
12
|
-
-
|
11
|
+
- Fumiya Nakamura
|
12
|
+
- Satoshi Namai
|
13
|
+
- Jan Piotrowski
|
13
14
|
- Kohki Miki
|
14
|
-
-
|
15
|
-
-
|
16
|
-
- Aaron Brager
|
17
|
-
- Maksym Grebenets
|
15
|
+
- Luka Mirosevic
|
16
|
+
- Joshua Liebowitz
|
18
17
|
- Josh Holtz
|
19
18
|
- Daniel Jankowski
|
20
|
-
-
|
21
|
-
-
|
22
|
-
-
|
23
|
-
-
|
24
|
-
- Jérôme Lacoste
|
19
|
+
- Felix Krause
|
20
|
+
- Danielle Tomlinson
|
21
|
+
- Aaron Brager
|
22
|
+
- Jimmy Dee
|
25
23
|
- Helmut Januschka
|
24
|
+
- Manish Rathi
|
26
25
|
- Manu Wallner
|
27
|
-
- Jan Piotrowski
|
28
|
-
- Fumiya Nakamura
|
29
|
-
- Max Ott
|
30
26
|
- Łukasz Grabowski
|
31
|
-
-
|
27
|
+
- Olivier Halligon
|
28
|
+
- Stefan Natchev
|
29
|
+
- Max Ott
|
32
30
|
- Iulian Onofrei
|
31
|
+
- Matthew Ellis
|
32
|
+
- Roger Oba
|
33
33
|
autorequire:
|
34
34
|
bindir: bin
|
35
35
|
cert_chain: []
|
36
|
-
date: 2025-
|
36
|
+
date: 2025-06-10 00:00:00.000000000 Z
|
37
37
|
dependencies:
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: addressable
|
@@ -928,7 +928,6 @@ files:
|
|
928
928
|
- fastlane/lib/fastlane/actions/hg_commit_version_bump.rb
|
929
929
|
- fastlane/lib/fastlane/actions/hg_ensure_clean_status.rb
|
930
930
|
- fastlane/lib/fastlane/actions/hg_push.rb
|
931
|
-
- fastlane/lib/fastlane/actions/hipchat.rb
|
932
931
|
- fastlane/lib/fastlane/actions/hockey.rb
|
933
932
|
- fastlane/lib/fastlane/actions/ifttt.rb
|
934
933
|
- fastlane/lib/fastlane/actions/import.rb
|
@@ -1,200 +0,0 @@
|
|
1
|
-
module Fastlane
|
2
|
-
module Actions
|
3
|
-
module SharedValues
|
4
|
-
end
|
5
|
-
|
6
|
-
class HipchatAction < Action
|
7
|
-
def self.run(options)
|
8
|
-
require 'net/http'
|
9
|
-
require 'uri'
|
10
|
-
|
11
|
-
api_token = options[:api_token]
|
12
|
-
api_version = options[:version]
|
13
|
-
api_host = options[:api_host]
|
14
|
-
|
15
|
-
message_format = options[:message_format]
|
16
|
-
|
17
|
-
channel = options[:channel]
|
18
|
-
if ['yellow', 'red', 'green', 'purple', 'gray', 'random'].include?(options[:custom_color]) == true
|
19
|
-
color = options[:custom_color]
|
20
|
-
else
|
21
|
-
color = (options[:success] ? 'green' : 'red')
|
22
|
-
end
|
23
|
-
|
24
|
-
from = options[:from]
|
25
|
-
|
26
|
-
message = options[:message]
|
27
|
-
if (message_format == "html") && (options[:include_html_header] == true)
|
28
|
-
message = "<table><tr><td><img src='https://fastlane.tools/assets/img/fastlane_icon.png' width='50' height='50'></td><td>#{message[0..9999]}</td></tr></table>"
|
29
|
-
end
|
30
|
-
|
31
|
-
if api_version.to_i == 1
|
32
|
-
########## running on V1 ##########
|
33
|
-
if user?(channel)
|
34
|
-
UI.user_error!("HipChat private message not working with API V1 please use API V2 instead")
|
35
|
-
else
|
36
|
-
uri = URI.parse("https://#{api_host}/v1/rooms/message")
|
37
|
-
response = Net::HTTP.post_form(uri, { 'from' => from,
|
38
|
-
'auth_token' => api_token,
|
39
|
-
'color' => color,
|
40
|
-
'message_format' => message_format,
|
41
|
-
'room_id' => channel,
|
42
|
-
'message' => message,
|
43
|
-
'notify' => options[:notify_room] ? '1' : '0' })
|
44
|
-
|
45
|
-
check_response_code(response, channel)
|
46
|
-
end
|
47
|
-
else
|
48
|
-
########## running on V2 ##########
|
49
|
-
# Escape channel's name to guarantee it is a valid URL resource.
|
50
|
-
# First of all we verify that the value is not already escaped,
|
51
|
-
# escaping an escaped value will produce a wrong channel name.
|
52
|
-
require 'addressable/uri'
|
53
|
-
escaped_channel = Addressable::URI.encode(channel) == channel ? Addressable::URI.encode(channel) : channel
|
54
|
-
if user?(channel)
|
55
|
-
params = { 'message' => message, 'message_format' => message_format }
|
56
|
-
json_headers = { 'Content-Type' => 'application/json',
|
57
|
-
'Accept' => 'application/json', 'Authorization' => "Bearer #{api_token}" }
|
58
|
-
|
59
|
-
uri = URI.parse("https://#{api_host}/v2/user/#{escaped_channel}/message")
|
60
|
-
http = Net::HTTP.new(uri.host, uri.port)
|
61
|
-
http.use_ssl = true
|
62
|
-
|
63
|
-
response = http.post(uri.path, params.to_json, json_headers)
|
64
|
-
else
|
65
|
-
uri = URI.parse("https://#{api_host}/v2/room/#{escaped_channel}/notification")
|
66
|
-
response = Net::HTTP.post_form(uri, { 'from' => from,
|
67
|
-
'auth_token' => api_token,
|
68
|
-
'color' => color,
|
69
|
-
'message_format' => message_format,
|
70
|
-
'message' => message,
|
71
|
-
'notify' => options[:notify_room] ? 'true' : 'false' })
|
72
|
-
end
|
73
|
-
check_response_code(response, channel)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
def self.user?(channel)
|
78
|
-
channel.to_s.start_with?('@')
|
79
|
-
end
|
80
|
-
|
81
|
-
def self.check_response_code(response, channel)
|
82
|
-
case response.code.to_i
|
83
|
-
when 200, 204
|
84
|
-
true
|
85
|
-
when 404
|
86
|
-
UI.user_error!("Channel `#{channel}` not found")
|
87
|
-
when 401
|
88
|
-
UI.user_error!("Access denied for channel `#{channel}`")
|
89
|
-
else
|
90
|
-
UI.user_error!("Unexpected #{response.code} for `#{channel}` with response: #{response.body}")
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
def self.description
|
95
|
-
"Send a error/success message to [HipChat](https://www.hipchat.com/)"
|
96
|
-
end
|
97
|
-
|
98
|
-
def self.available_options
|
99
|
-
[
|
100
|
-
FastlaneCore::ConfigItem.new(key: :message,
|
101
|
-
env_name: "FL_HIPCHAT_MESSAGE",
|
102
|
-
description: "The message to post on HipChat",
|
103
|
-
default_value: ''),
|
104
|
-
FastlaneCore::ConfigItem.new(key: :channel,
|
105
|
-
env_name: "FL_HIPCHAT_CHANNEL",
|
106
|
-
description: "The room or @username"),
|
107
|
-
FastlaneCore::ConfigItem.new(key: :api_token,
|
108
|
-
env_name: "HIPCHAT_API_TOKEN",
|
109
|
-
sensitive: true,
|
110
|
-
description: "Hipchat API Token",
|
111
|
-
verify_block: proc do |value|
|
112
|
-
unless value.to_s.length > 0
|
113
|
-
UI.error("Please add 'ENV[\"HIPCHAT_API_TOKEN\"] = \"your token\"' to your Fastfile's `before_all` section.")
|
114
|
-
UI.user_error!("No HIPCHAT_API_TOKEN given.")
|
115
|
-
end
|
116
|
-
end),
|
117
|
-
FastlaneCore::ConfigItem.new(key: :custom_color,
|
118
|
-
env_name: "FL_HIPCHAT_CUSTOM_COLOR",
|
119
|
-
description: "Specify a custom color, this overrides the success boolean. Can be one of 'yellow', 'red', 'green', 'purple', 'gray', or 'random'",
|
120
|
-
optional: true),
|
121
|
-
FastlaneCore::ConfigItem.new(key: :success,
|
122
|
-
env_name: "FL_HIPCHAT_SUCCESS",
|
123
|
-
description: "Was this build successful? (true/false)",
|
124
|
-
optional: true,
|
125
|
-
default_value: true,
|
126
|
-
type: Boolean),
|
127
|
-
FastlaneCore::ConfigItem.new(key: :version,
|
128
|
-
env_name: "HIPCHAT_API_VERSION",
|
129
|
-
description: "Version of the Hipchat API. Must be 1 or 2",
|
130
|
-
verify_block: proc do |value|
|
131
|
-
if value.nil? || ![1, 2].include?(value.to_i)
|
132
|
-
UI.error("Please add 'ENV[\"HIPCHAT_API_VERSION\"] = \"1 or 2\"' to your Fastfile's `before_all` section.")
|
133
|
-
UI.user_error!("No HIPCHAT_API_VERSION given.")
|
134
|
-
end
|
135
|
-
end),
|
136
|
-
FastlaneCore::ConfigItem.new(key: :notify_room,
|
137
|
-
env_name: "HIPCHAT_NOTIFY_ROOM",
|
138
|
-
description: "Should the people in the room be notified? (true/false)",
|
139
|
-
default_value: false,
|
140
|
-
optional: true,
|
141
|
-
type: Boolean),
|
142
|
-
FastlaneCore::ConfigItem.new(key: :api_host,
|
143
|
-
env_name: "HIPCHAT_API_HOST",
|
144
|
-
description: "The host of the HipChat-Server API",
|
145
|
-
default_value: "api.hipchat.com",
|
146
|
-
optional: true),
|
147
|
-
FastlaneCore::ConfigItem.new(key: :message_format,
|
148
|
-
env_name: "FL_HIPCHAT_MESSAGE_FORMAT",
|
149
|
-
description: "Format of the message to post. Must be either 'html' or 'text'",
|
150
|
-
default_value: "html",
|
151
|
-
optional: true,
|
152
|
-
verify_block: proc do |value|
|
153
|
-
unless ["html", "text"].include?(value.to_s)
|
154
|
-
UI.error("Please specify the message format as either 'html' or 'text'.")
|
155
|
-
UI.user_error!("Unrecognized message_format.")
|
156
|
-
end
|
157
|
-
end),
|
158
|
-
FastlaneCore::ConfigItem.new(key: :include_html_header,
|
159
|
-
env_name: "FL_HIPCHAT_INCLUDE_HTML_HEADER",
|
160
|
-
description: "Should html formatted messages include a preformatted header? (true/false)",
|
161
|
-
default_value: true,
|
162
|
-
optional: true,
|
163
|
-
type: Boolean),
|
164
|
-
FastlaneCore::ConfigItem.new(key: :from,
|
165
|
-
env_name: "FL_HIPCHAT_FROM",
|
166
|
-
description: "Name the message will appear to be sent from",
|
167
|
-
default_value: "fastlane",
|
168
|
-
optional: true)
|
169
|
-
]
|
170
|
-
end
|
171
|
-
|
172
|
-
def self.author
|
173
|
-
"jingx23"
|
174
|
-
end
|
175
|
-
|
176
|
-
def self.is_supported?(platform)
|
177
|
-
true
|
178
|
-
end
|
179
|
-
|
180
|
-
def self.details
|
181
|
-
"Send a message to **room** (by default) or a direct message to **@username** with success (green) or failure (red) status."
|
182
|
-
end
|
183
|
-
|
184
|
-
def self.example_code
|
185
|
-
[
|
186
|
-
'hipchat(
|
187
|
-
message: "App successfully released!",
|
188
|
-
message_format: "html", # or "text", defaults to "html"
|
189
|
-
channel: "Room or @username",
|
190
|
-
success: true
|
191
|
-
)'
|
192
|
-
]
|
193
|
-
end
|
194
|
-
|
195
|
-
def self.category
|
196
|
-
:notifications
|
197
|
-
end
|
198
|
-
end
|
199
|
-
end
|
200
|
-
end
|