launchdarkly_api_helper 0.7.0 → 0.8.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 +228 -138
- data/lib/launchdarkly_api_helper/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76248b30b1edaa307a8bb4e1975cccb94c7e28f00535e46de2a199884f97987c
|
4
|
+
data.tar.gz: 3ea7fbdc37be4d4f7de4de14c1e1c0101907383a52fbd64e577da8eb01c68197
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f21e3dd1dcc6acda981da928e169872964650f00f928909fbd7e25e4d44daf04c0b54307f9d87c23f2823a5b9ec8c0ce446ba3208b167ee1d5449ca974daeed
|
7
|
+
data.tar.gz: 54fb63330243f55083d1f02636a696ebf3bb717264745878184ac1e6d8af8fa2b5a65a24d798e6754fccea728dccef97a48e9a204c65cc7e0039b3cbf192375b
|
data/README.md
CHANGED
@@ -8,9 +8,11 @@
|
|
8
8
|
</a>
|
9
9
|
</div>
|
10
10
|
|
11
|
+
<br>
|
12
|
+
|
11
13
|
[LaunchDarklyApiHelper](https://rubygems.org/gems/launchdarkly_api_helper) provides you a way to access your [Launch Darkly](https://apidocs.launchdarkly.com/) account using [API token](https://app.launchdarkly.com/settings/authorization/tokens/new) to view, edit or delete them accordingly.
|
12
14
|
|
13
|
-
|
15
|
+
<br>
|
14
16
|
|
15
17
|
[Launch Darkly API Documentation](https://apidocs.launchdarkly.com/)
|
16
18
|
|
@@ -32,79 +34,54 @@ add `include LaunchdarklyApiHelper` line to access LaunchdarklyApiHelper module
|
|
32
34
|
|
33
35
|
To perform any operations such as add, remove, replace, move, copy, test you should have a working knowledge of [JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902)
|
34
36
|
|
35
|
-
|
36
|
-
parameters:
|
37
|
-
access_token (*required): this token will be used to send all requests to LaunchDarkly (string)
|
38
|
-
project_name: provide project name of your organization (NOTE: for most, it should be `default` unless you have made some explicit changes)
|
39
|
-
log_file: all logs will be written to file 'launchdarkly.log' by default if no file name specified (string)
|
37
|
+
<br>
|
40
38
|
|
41
|
-
|
42
|
-
def ld_access_token(access_token, project_name = 'default', log_file = 'launchdarkly.log')
|
43
|
-
# code ...
|
44
|
-
end
|
45
|
-
```
|
39
|
+
Projects allow you to manage multiple different software projects under one LaunchDarkly account. Each project has its own unique set of environments and feature flags. To learn more, read [Projects](https://docs.launchdarkly.com/home/organize/projects)
|
46
40
|
|
47
|
-
[
|
41
|
+

|
48
42
|
|
49
|
-
|
50
|
-
GET REQUEST
|
51
|
-
https://app.launchdarkly.com/api/v2/flags/default/developer_flag_for_regression
|
43
|
+

|
52
44
|
|
53
|
-
|
54
|
-
By default, this returns the configurations for all environments
|
55
|
-
You can filter environments with the env query parameter. For example, setting env=staging restricts the returned configurations to just the staging environment
|
56
|
-
https://app.launchdarkly.com/api/v2/flags/default/developer_flag_for_regression?env=staging
|
45
|
+
<br>
|
57
46
|
|
58
|
-
|
59
|
-
env (*required): name of the environment for which you want to get the details (string)
|
60
|
-
flag (*required): name of the feature flag for which you want to get the details (string)
|
47
|
+
### [Set Access Token](https://apidocs.launchdarkly.com/tag/Access-tokens)
|
61
48
|
|
62
|
-
|
63
|
-
def ld_fetch_flag_details(env, flag)
|
64
|
-
# code ...
|
65
|
-
end
|
49
|
+

|
66
50
|
|
67
|
-
|
68
|
-
|
69
|
-
|
51
|
+
**_parameters for `ld_access_token` method_**
|
52
|
+
- **access_token (*required)**: this token will be used to send all requests to LaunchDarkly (string)
|
53
|
+
- **project_name**: provide project name of your organization (NOTE: for most, it should be `default` unless you have made some explicit changes)
|
54
|
+
- **log_file**: all logs will be written to file 'launchdarkly.log' by default if no file name specified (string)
|
70
55
|
|
71
56
|
```ruby
|
72
|
-
|
73
|
-
|
74
|
-
parameters:
|
75
|
-
env (*required): name of the environment for which you want to get the details (string)
|
76
|
-
flag (*required): name of the feature flag for which you want to get the details (string)
|
77
|
-
|
78
|
-
# this method will return the status of the flag, whether it is on or off viz set to true or false
|
79
|
-
def ld_fetch_flag_toggle_status(env, flag)
|
57
|
+
# set your LD API token and log file to capture logs
|
58
|
+
def ld_access_token(access_token, project_name = 'default', log_file = 'launchdarkly.log')
|
80
59
|
# code ...
|
81
60
|
end
|
82
|
-
|
83
|
-
@return parameter: (response of feature flag toggle status)
|
84
|
-
response = "https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}"
|
85
|
-
response['environments'][env]['on'] (boolean)
|
86
61
|
```
|
87
62
|
|
88
|
-
|
89
|
-
|
90
|
-
https://apidocs.launchdarkly.com/tag/Feature-flags/#operation/postFeatureFlag
|
63
|
+
<br>
|
64
|
+
|
65
|
+
### [Create a feature flag](https://apidocs.launchdarkly.com/tag/Feature-flags/#operation/postFeatureFlag)
|
91
66
|
|
92
|
-
|
93
|
-
https://app.launchdarkly.com/api/v2/flags/default
|
67
|
+
Sample: `https://app.launchdarkly.com/api/v2/flags/<project_name>`
|
94
68
|
|
95
|
-
|
69
|
+
Example: `https://app.launchdarkly.com/api/v2/flags/default`
|
70
|
+
|
71
|
+
Here, `default` is our Project name - eg. AmitSinghBisht
|
96
72
|
|
97
73
|
parameters:
|
98
|
-
key (*required): A unique key used to reference the feature flag in your code (string)
|
99
|
-
name (*required): A human-friendly name for the feature flag (string)
|
100
|
-
description: Description of the feature flag. Defaults to an empty string (string)
|
101
|
-
tags: Tags for the feature flag. Defaults to an empty array (Array of strings)
|
102
|
-
variations: An array of possible variations for the flag. The variation values must be unique. If omitted, two boolean variations of true and false will be used (Array of objects)
|
103
74
|
|
104
|
-
|
105
|
-
|
106
|
-
|
75
|
+
- **key (*required)**: A unique key used to reference the feature flag in your code (string)
|
76
|
+
- **name (*required)**: A human-friendly name for the feature flag (string)
|
77
|
+
- **description**: Description of the feature flag. Defaults to an empty string (string)
|
78
|
+
- **tags**: Tags for the feature flag. Defaults to an empty array (Array of strings)
|
79
|
+
- **variations**: An array of possible variations for the flag. The variation values must be unique. If omitted, two boolean variations of true and false will be used (Array of objects)
|
80
|
+
- **defaults**
|
81
|
+
- **onVariation** (*required): The index, from the array of variations for this flag, of the variation to serve by default when targeting is on (integer)
|
82
|
+
- **offVariation** (*required): The index, from the array of variations for this flag, of the variation to serve by default when targeting is off (integer)
|
107
83
|
|
84
|
+
```ruby
|
108
85
|
{
|
109
86
|
"key": "developer_flag_for_regression",
|
110
87
|
"name": "developer_flag_for_regression",
|
@@ -125,70 +102,150 @@ defaults
|
|
125
102
|
"offVariation": 0
|
126
103
|
}
|
127
104
|
}
|
105
|
+
```
|
128
106
|
|
129
|
-
Above code will create a key
|
107
|
+
Above code will create a key `developer_flag_for_regression` with name as `developer_flag_for_regression` and description as `developer_flag_for_regression is created via regression api on 18_10_2022`
|
130
108
|
|
131
|
-
Variations are provided while creating key, by default variation is a boolean value (true and false). once flag with a specific variation is created, its type cannot be modified later, hence choose your variation type smartly (Boolean, String, Number, JSON) In above example we are creating a flag with JSON type and its two values are 'age': 10 and 'age': 20
|
109
|
+
Variations are provided while creating key, by default variation is a boolean value (true and false). **once flag with a specific variation is created, its type cannot be modified later, hence choose your variation type smartly (Boolean, String, Number, JSON)** In above example we are creating a flag with JSON type and its two values are 'age': 10 and 'age': 20
|
132
110
|
|
133
111
|
Also, variation has by default two values, and you must also define two variations while creating your own custom feature flag
|
134
112
|
|
135
113
|
Default will specify which variation to serve when flag is on or off. In above example when flag is turned on, '1' variation is served [Note: 0 and 1 are index position], so variations at first index ie variations[1] will be served when flag is turned on ie 'age': 20
|
136
114
|
|
115
|
+
**_parameters for `ld_create_flag` method_**
|
116
|
+
- **key (*required)**: A unique key used to reference the feature flag in your code (string)
|
117
|
+
- **name**: A human-friendly name for the feature flag (string)
|
118
|
+
- **description**: Description of the feature flag. Defaults to an empty string (string)
|
119
|
+
- **tags**: Tags for the feature flag. Defaults to an empty array (Array of strings)
|
120
|
+
|
121
|
+
```ruby
|
137
122
|
# this method will create a new feature flag, NOTE: feature falg are created at global level and environment resides inside feature flag
|
138
123
|
def ld_create_flag(key, name = key, description = key, tags = ['created_via_regression_api'])
|
139
124
|
# code ...
|
140
125
|
end
|
141
126
|
```
|
142
127
|
|
143
|
-
|
144
|
-
Update feature flag
|
145
|
-
https://apidocs.launchdarkly.com/tag/Feature-flags#operation/patchFeatureFlag
|
128
|
+
**_@return parameter_**: (response of feature flag details)
|
146
129
|
|
147
|
-
|
148
|
-
https://app.launchdarkly.com/api/v2/flags/default/developer_flag_for_regression
|
130
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}` (string)
|
149
131
|
|
150
|
-
|
151
|
-
You can update any parameter of feature flag using this method
|
132
|
+
<br>
|
152
133
|
|
153
|
-
|
154
|
-
env (*required): name of the environment for which you want to get the details (string)
|
155
|
-
flag (*required): name of the feature flag for which you want to get the details (string)
|
156
|
-
flag_value: status of the feature flag that you want to set either on (true) or off (false) (boolean)
|
134
|
+
### [Get feature flag](https://apidocs.launchdarkly.com/tag/Feature-flags#operation/getFeatureFlag)
|
157
135
|
|
158
|
-
|
159
|
-
|
136
|
+
Sample: `https://app.launchdarkly.com/api/v2/flags/<project_name>/<feature_flag_name>`
|
137
|
+
|
138
|
+
Example: `https://app.launchdarkly.com/api/v2/flags/default/developer_flag_for_regression`
|
139
|
+
|
140
|
+
<br>
|
141
|
+
|
142
|
+
**1. GET FEATURE FLAG DETAILS**
|
143
|
+
|
144
|
+
Here, `developer_flag_for_regression` is the feature flag name and `default` is our Project name - eg. AmitSinghBisht
|
145
|
+
|
146
|
+
By default, this returns the configurations for all environments
|
147
|
+
|
148
|
+
You can filter environments with the env query parameter. For example, setting env=staging restricts the returned configurations to just the staging environment
|
149
|
+
`https://app.launchdarkly.com/api/v2/flags/default/developer_flag_for_regression?env=staging`
|
150
|
+
|
151
|
+
**_parameters for `ld_fetch_flag_details` method_**
|
152
|
+
- **env** (*required): name of the environment for which you want to get the details (string)
|
153
|
+
- **flag** (*required): name of the feature flag for which you want to get the details (string)
|
154
|
+
|
155
|
+
```ruby
|
156
|
+
# this method will give you entire details about a flag for that particular environment
|
157
|
+
def ld_fetch_flag_details(env, flag)
|
160
158
|
# code ...
|
161
159
|
end
|
162
|
-
|
163
|
-
@return parameter: (response of feature flag toggle status)
|
164
|
-
response = "https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}"
|
165
|
-
response['environments'][env]['on'] (boolean)
|
166
160
|
```
|
167
161
|
|
162
|
+
**_@return parameter_**: (response of feature flag details)
|
163
|
+
|
164
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}` (string)
|
165
|
+
|
166
|
+
<br>
|
167
|
+
|
168
|
+
**2. GET FEATURE FLAG TOGGLE STATUS DETAILS**
|
169
|
+
|
170
|
+
**_parameters for `ld_fetch_flag_details` method_**
|
171
|
+
- **env** (*required): name of the environment for which you want to get the details (string)
|
172
|
+
- **flag** (*required): name of the feature flag for which you want to get the details (string)
|
173
|
+
|
168
174
|
```ruby
|
169
|
-
|
170
|
-
|
175
|
+
# this method will return the status of the flag, whether it is on or off viz set to true or false
|
176
|
+
def ld_fetch_flag_toggle_status(env, flag)
|
177
|
+
# code ...
|
178
|
+
end
|
179
|
+
```
|
171
180
|
|
172
|
-
|
173
|
-
|
174
|
-
|
181
|
+
**_@return parameter_**: (response of feature flag toggle status viz. response_on)
|
182
|
+
|
183
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}`
|
184
|
+
- response_on = `response['environments'][env]['on']` (boolean)
|
175
185
|
|
186
|
+
<br>
|
187
|
+
|
188
|
+
**3. GET FEW IMPORTANT PARAMETERS FROM FEATURE FLAG**
|
189
|
+
|
190
|
+
**_parameters for `ld_fetch_flag_details` method_**
|
191
|
+
- **env** (*required): name of the environment for which you want to get the details (string)
|
192
|
+
- **flag** (*required): name of the feature flag for which you want to get the details (string)
|
193
|
+
|
194
|
+
```ruby
|
176
195
|
# this method will get important parameters from the response
|
177
196
|
def flag_variation_served(env, flag)
|
178
197
|
# code ...
|
179
198
|
end
|
180
|
-
|
181
|
-
@returns: [fetch_flag_toggle_status_response, feature_flag_variation_index_response, feature_flag_variation_value_response, feature_flag_variation_name_response]
|
182
|
-
@return parameter:
|
183
|
-
response = "https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}"
|
184
|
-
fetch_flag_toggle_status_response: response['environments'][env]['on'] (boolean)
|
185
|
-
feature_flag_variation_index_response: response (integer)
|
186
|
-
feature_flag_variation_value_response: response['variations'][feature_flag_variation_index_response]['value'] (string)
|
187
|
-
feature_flag_variation_name_response: response['variations'][feature_flag_variation_index_response]['name'] (string)
|
188
199
|
```
|
189
200
|
|
201
|
+
**@returns**: [fetch_flag_toggle_status_response, feature_flag_variation_index_response, feature_flag_variation_value_response, feature_flag_variation_name_response]
|
202
|
+
|
203
|
+
**_@return parameter_**:
|
204
|
+
|
205
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}`
|
206
|
+
- fetch_flag_toggle_status_response: `response['environments'][#{env}]['on']` (boolean)
|
207
|
+
- feature_flag_variation_index_response: `response` (integer)
|
208
|
+
- feature_flag_variation_value_response: `response['variations'][#{feature_flag_variation_index_response}]['value']` (string)
|
209
|
+
- feature_flag_variation_name_response: `response['variations'][#{feature_flag_variation_index_response}]['name']` (string)
|
210
|
+
|
211
|
+
<br>
|
212
|
+
|
213
|
+
### [Update feature flag](https://apidocs.launchdarkly.com/tag/Feature-flags#operation/patchFeatureFlag)
|
214
|
+
|
215
|
+
Sample: `https://app.launchdarkly.com/api/v2/flags/<project_name>/<feature_flag_name>`
|
216
|
+
|
217
|
+
Example: `https://app.launchdarkly.com/api/v2/flags/default/developer_flag_for_regression`
|
218
|
+
|
219
|
+
<br>
|
220
|
+
|
221
|
+
**1. UPDATE FEATURE FLAG TOGGLE STATUS**
|
222
|
+
|
223
|
+
Here, `developer_flag_for_regression` is the flag key and `default` is our Project name - eg. AmitSinghBisht
|
224
|
+
|
225
|
+
You can update any parameter of feature flag using this method
|
226
|
+
|
227
|
+
**_parameters for `ld_toggle_specific_environment` method_**
|
228
|
+
- **env** (*required): name of the environment for which you want to get the details (string)
|
229
|
+
- **flag** (*required): name of the feature flag for which you want to get the details (string)
|
230
|
+
- **flag_value**: status of the feature flag that you want to set either on (true) or off (false) (boolean)
|
231
|
+
|
190
232
|
```ruby
|
233
|
+
# this method will be used to toggle status of feature flag either on / off for a particular environment
|
234
|
+
def ld_toggle_specific_environment(env, flag, flag_value = true)
|
235
|
+
# code ...
|
236
|
+
end
|
237
|
+
```
|
238
|
+
|
239
|
+
**_@return parameter_**: (response of feature flag toggle status viz. response_on)
|
240
|
+
|
241
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}`
|
242
|
+
- response_on = `response['environments'][env]['on']` (boolean)
|
243
|
+
|
244
|
+
<br>
|
191
245
|
|
246
|
+
**2. UPDATE FEATURE FLAG VALUES INSIDE CLAUSES INSIDE RULES**
|
247
|
+
|
248
|
+
```ruby
|
192
249
|
"rules": [
|
193
250
|
{ # rules/0
|
194
251
|
"variation": 0,
|
@@ -222,96 +279,129 @@ feature_flag_variation_name_response: response['variations'][feature_flag_variat
|
|
222
279
|
]
|
223
280
|
}
|
224
281
|
]
|
282
|
+
```
|
225
283
|
|
226
|
-
|
227
|
-
env (*required): name of the environment for which you want to get the details (string)
|
228
|
-
flag (*required): name of the feature flag for which you want to get the details (string)
|
229
|
-
clause_name (*required): name of clause that you want to search for in response
|
284
|
+
<br>
|
230
285
|
|
286
|
+
**2.a. TO UPDATE FEATURE FLAG - FIRST, GET THE INDEX OF RULES AND CLAUSE INSIDE WHICH VALUE RESIDES**
|
287
|
+
|
288
|
+
**_parameters for `ld_rules_clauses_index` method_**:
|
289
|
+
- **env** (*required): name of the environment for which you want to get the details (string)
|
290
|
+
- **flag** (*required): name of the feature flag for which you want to get the details (string)
|
291
|
+
- **clause_name** (*required): name of clause that you want to search for in response (string)
|
292
|
+
|
293
|
+
```ruby
|
231
294
|
# this method will return the index of rules and clauses by searching for clause_name in response
|
232
295
|
def ld_rules_clauses_index(env, flag, clause_name)
|
233
296
|
# code ...
|
234
297
|
end
|
235
|
-
|
236
|
-
@returns: [rule_at_index, clause_at_index]
|
237
|
-
@return parameter:
|
238
|
-
response = "https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}" ['environments'][env]['rules']
|
239
|
-
rule_at_index = response[rule_index] (integer) # index at which rule is found
|
240
|
-
clause_at_index = response[rule_index]['clauses'][clause_index] (integer) # index at which clause is found
|
241
298
|
```
|
242
299
|
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
300
|
+
**@returns**: [rule_at_index, clause_at_index]
|
301
|
+
|
302
|
+
**_@return parameter_**:
|
303
|
+
|
304
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}`
|
305
|
+
- response_rules = `response['environments'][#{env}]['rules']`
|
306
|
+
- rule_at_index = `response_rules[rule_index]` (integer) # index at which rule is found
|
307
|
+
- clause_at_index = `response_rules[rule_index]['clauses'][clause_index]` (integer) # index at which clause is found
|
248
308
|
|
309
|
+
<br>
|
310
|
+
|
311
|
+
**2.b. GET VALUES INSIDE A CLAUSE BY ITERATING THROUGH REQUIRED INDEX OF RULES AND CLAUSES**
|
312
|
+
|
313
|
+
**_parameters for `ld_get_values_from_clauses` method_**:
|
314
|
+
- **env** (*required): name of the environment for which you want to get the details (string)
|
315
|
+
- **flag** (*required): name of the feature flag for which you want to get the details (string)
|
316
|
+
- **clause_name** (*required): name of clause that you want to search for in response (string)
|
317
|
+
|
318
|
+
```ruby
|
249
319
|
# this method will return values inside a particular clause by searching for clause_name in response
|
250
320
|
def ld_get_values_from_clauses(env, flag, clause_name)
|
251
321
|
# code ...
|
252
322
|
end
|
253
|
-
|
254
|
-
@return parameter: values_for_clause_name
|
255
|
-
response = "https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}" ['environments'][env]['rules']
|
256
|
-
values_for_clause_name = response[rule_at_index]['clauses'][clause_at_index]['values'] (string)
|
257
323
|
```
|
258
324
|
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
325
|
+
**@return parameter**: values_for_clause_name
|
326
|
+
|
327
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}`
|
328
|
+
- response_rules = `response['environments'][#{env}]['rules']`
|
329
|
+
- values_for_clause_name = `response_rules[rule_at_index]['clauses'][clause_at_index]['values']` (string)
|
330
|
+
|
331
|
+
<br>
|
265
332
|
|
333
|
+
**2.c. ADD VALUES TO A PARTICULAR CLAUSE**
|
334
|
+
|
335
|
+
**_parameters for `ld_add_values_to_clause` method_**:
|
336
|
+
- **env** (*required): name of the environment for which you want to get the details (string)
|
337
|
+
- **flag** (*required): name of the feature flag for which you want to get the details (string)
|
338
|
+
- **clause_name** (*required): name of clause that you want to search for in response (string)
|
339
|
+
- **clause_value** (*required): value that you want to add to a particular clause (NOTE: it will be appended at zeroth 0th index) (string or number or json or object)
|
340
|
+
|
341
|
+
```ruby
|
266
342
|
# this method will help you to add a value to a particular clause by searching for clause_name in response
|
267
343
|
def ld_add_values_to_clause(env, flag, clause_name, clause_value)
|
268
344
|
# code ...
|
269
345
|
end
|
270
|
-
|
271
|
-
@return parameter: (response of feature flag details)
|
272
|
-
response = "https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}"
|
273
|
-
response[rule_at_index]['clauses'][clause_at_index]['values'] (string)
|
274
346
|
```
|
275
347
|
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
348
|
+
**@return parameter**: (response of feature flag details viz. updated_clause_value)
|
349
|
+
|
350
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}`
|
351
|
+
- response_rules = `response['environments'][#{env}]['rules']`
|
352
|
+
- updated_clause_value = `response_rules[rule_at_index]['clauses'][clause_at_index]['values']` (string)
|
353
|
+
|
354
|
+
<br>
|
282
355
|
|
356
|
+
**2.d. DELETE VALUES TO A PARTICULAR CLAUSE**
|
357
|
+
|
358
|
+
**_parameters for `ld_remove_values_from_clause` method_**:
|
359
|
+
- **env** (*required): name of the environment for which you want to get the details (string)
|
360
|
+
- **flag** (*required): name of the feature flag for which you want to get the details (string)
|
361
|
+
- **clause_name** (*required): name of clause that you want to search for in response (string)
|
362
|
+
- **clause_value** (*required): value that you want to add to a particular clause (NOTE: it will be appended at zeroth 0th index) (string or number or json or object)
|
363
|
+
|
364
|
+
|
365
|
+
```ruby
|
283
366
|
# this method will help you to remove a value to a particular clause by searching for clause_name in response
|
284
367
|
def ld_remove_values_from_clause(env, flag, clause_name, clause_value)
|
285
368
|
# code ...
|
286
369
|
end
|
287
|
-
|
288
|
-
@return parameter: (response of feature flag details)
|
289
|
-
response = "https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}"
|
290
|
-
response[rule_at_index]['clauses'][clause_at_index]['values'] (string)
|
291
370
|
```
|
371
|
+
**@return parameter**: (response of feature flag details viz. updated_clause_value)
|
292
372
|
|
293
|
-
|
294
|
-
|
295
|
-
|
373
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}`
|
374
|
+
- response_rules = `response['environments'][#{env}]['rules']`
|
375
|
+
- updated_clause_value = `response_rules[rule_at_index]['clauses'][clause_at_index]['values']` (string)
|
296
376
|
|
297
|
-
|
298
|
-
https://app.launchdarkly.com/api/v2/flags/default/developer_flag_for_regression
|
377
|
+
<br>
|
299
378
|
|
300
|
-
|
301
|
-
You can delete any feature flag using this method
|
379
|
+
### [Delete feature flag](https://apidocs.launchdarkly.com/tag/Feature-flags#operation/deleteFeatureFlag)
|
302
380
|
|
303
|
-
|
304
|
-
|
381
|
+
Sample: `https://app.launchdarkly.com/api/v2/flags/<project_name>/<feature_flag_name>`
|
382
|
+
|
383
|
+
Example: `https://app.launchdarkly.com/api/v2/flags/default/developer_flag_for_regression`
|
305
384
|
|
385
|
+
Here, `developer_flag_for_regression` is the flag key and default is our Project name - eg. AmitSinghBisht
|
386
|
+
|
387
|
+
You can delete any feature flag using this method
|
388
|
+
|
389
|
+
**_parameters for `ld_delete_flag` method_**:
|
390
|
+
- **flag** (*required): name of the feature flag you want to delete (NOTE: env resided inside flag which means flag is parent, so deleting a feature flag will delete it from all environment) (string)
|
391
|
+
|
392
|
+
```ruby
|
306
393
|
# this method will delete a feature flag in launchdarkly (NOTE: env resided inside flag which means flag is parent, so deleting a feature flag will delete it from all environment)
|
307
394
|
def ld_delete_flag(flag)
|
308
395
|
# code ...
|
309
396
|
end
|
310
|
-
|
311
|
-
@return parameter: (response of feature flag details)
|
312
|
-
response = "https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}" (string)
|
313
397
|
```
|
314
398
|
|
399
|
+
**@return parameter**: (response of feature flag details)
|
400
|
+
|
401
|
+
- response = `https://app.launchdarkly.com/api/v2/flags/default/#{flag}?env=#{env}` (string)
|
402
|
+
|
403
|
+
<br>
|
404
|
+
|
315
405
|
## Development
|
316
406
|
|
317
407
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: launchdarkly_api_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- amit-singh-bisht
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: LaunchDarklyApiHelper provides you a way to access your Launch Darkly
|
14
|
-
account using API token to view, edit or delete them accordingly. https://
|
14
|
+
account using API token to view, edit or delete them accordingly. https://bit.ly/ld_doc
|
15
15
|
email:
|
16
16
|
- bishtamitsingh98@gmail.com
|
17
17
|
executables: []
|
@@ -35,7 +35,7 @@ metadata:
|
|
35
35
|
homepage_uri: https://github.com/amit-singh-bisht/launchdarkly_api_helper_ruby
|
36
36
|
source_code_uri: https://github.com/amit-singh-bisht/launchdarkly_api_helper_ruby
|
37
37
|
changelog_uri: https://github.com/amit-singh-bisht/launchdarkly_api_helper_ruby/blob/master/README.md
|
38
|
-
post_install_message:
|
38
|
+
post_install_message:
|
39
39
|
rdoc_options: []
|
40
40
|
require_paths:
|
41
41
|
- lib
|
@@ -50,9 +50,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
50
50
|
- !ruby/object:Gem::Version
|
51
51
|
version: '0'
|
52
52
|
requirements: []
|
53
|
-
|
54
|
-
|
53
|
+
rubyforge_project:
|
54
|
+
rubygems_version: 2.7.3
|
55
|
+
signing_key:
|
55
56
|
specification_version: 4
|
56
57
|
summary: LaunchDarklyApiHelper provides you a way to access your Launch Darkly account
|
57
|
-
using API token to view, edit or delete them accordingly. https://
|
58
|
+
using API token to view, edit or delete them accordingly. https://bit.ly/ld_doc
|
58
59
|
test_files: []
|