phrase 2.6.0 → 2.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -22
  3. data/docs/BlacklistedKeyCreateParameters.md +1 -1
  4. data/docs/BlacklistedKeyUpdateParameters.md +1 -1
  5. data/docs/BlacklistedKeysApi.md +20 -20
  6. data/docs/DistributionCreateParameters.md +2 -0
  7. data/docs/DistributionUpdateParameters.md +2 -0
  8. data/docs/GlossariesApi.md +20 -20
  9. data/docs/GlossaryTermTranslationsApi.md +12 -12
  10. data/docs/GlossaryTermsApi.md +20 -20
  11. data/docs/Invitation.md +3 -3
  12. data/docs/JobComment.md +29 -0
  13. data/docs/JobCommentCreateParameters.md +17 -0
  14. data/docs/JobCommentUpdateParameters.md +17 -0
  15. data/docs/JobCommentsApi.md +343 -0
  16. data/docs/JobCreateParameters.md +3 -1
  17. data/docs/JobsApi.md +130 -0
  18. data/docs/KeyCreateParameters.md +2 -0
  19. data/docs/Locale.md +2 -0
  20. data/docs/LocaleCreateParameters.md +2 -0
  21. data/docs/LocaleDetails.md +2 -0
  22. data/docs/LocaleUpdateParameters.md +2 -0
  23. data/docs/Member.md +1 -1
  24. data/docs/ScreenshotsApi.md +12 -6
  25. data/docs/StyleguideCreateParameters.md +1 -1
  26. data/docs/StyleguideUpdateParameters.md +1 -1
  27. data/docs/{Team1.md → TeamShort.md} +2 -2
  28. data/docs/VersionsHistoryApi.md +1 -1
  29. data/lib/phrase/api/blacklisted_keys_api.rb +20 -20
  30. data/lib/phrase/api/glossaries_api.rb +20 -20
  31. data/lib/phrase/api/glossary_term_translations_api.rb +12 -12
  32. data/lib/phrase/api/glossary_terms_api.rb +20 -20
  33. data/lib/phrase/api/job_comments_api.rb +411 -0
  34. data/lib/phrase/api/jobs_api.rb +146 -0
  35. data/lib/phrase/api/screenshots_api.rb +17 -11
  36. data/lib/phrase/api/versions_history_api.rb +2 -2
  37. data/lib/phrase/models/blacklisted_key_create_parameters.rb +1 -1
  38. data/lib/phrase/models/blacklisted_key_update_parameters.rb +1 -1
  39. data/lib/phrase/models/distribution_create_parameters.rb +11 -1
  40. data/lib/phrase/models/distribution_update_parameters.rb +11 -1
  41. data/lib/phrase/models/invitation.rb +13 -13
  42. data/lib/phrase/models/job_comment.rb +250 -0
  43. data/lib/phrase/models/job_comment_create_parameters.rb +195 -0
  44. data/lib/phrase/models/job_comment_update_parameters.rb +195 -0
  45. data/lib/phrase/models/job_create_parameters.rb +14 -4
  46. data/lib/phrase/models/key_create_parameters.rb +11 -1
  47. data/lib/phrase/models/locale.rb +10 -1
  48. data/lib/phrase/models/locale_create_parameters.rb +11 -1
  49. data/lib/phrase/models/locale_details.rb +10 -1
  50. data/lib/phrase/models/locale_update_parameters.rb +11 -1
  51. data/lib/phrase/models/member.rb +1 -1
  52. data/lib/phrase/models/{team1.rb → team_short.rb} +3 -3
  53. data/lib/phrase/version.rb +1 -1
  54. data/lib/phrase.rb +5 -1
  55. data/spec/api/blacklisted_keys_api_spec.rb +10 -10
  56. data/spec/api/glossaries_api_spec.rb +10 -10
  57. data/spec/api/glossary_term_translations_api_spec.rb +6 -6
  58. data/spec/api/glossary_terms_api_spec.rb +10 -10
  59. data/spec/api/job_comments_api_spec.rb +101 -0
  60. data/spec/api/jobs_api_spec.rb +30 -0
  61. data/spec/api/screenshots_api_spec.rb +4 -1
  62. data/spec/api/versions_history_api_spec.rb +1 -1
  63. data/spec/models/distribution_create_parameters_spec.rb +6 -0
  64. data/spec/models/distribution_update_parameters_spec.rb +6 -0
  65. data/spec/models/invitation_spec.rb +6 -6
  66. data/spec/models/job_comment_create_parameters_spec.rb +29 -0
  67. data/spec/models/job_comment_spec.rb +65 -0
  68. data/spec/models/job_comment_update_parameters_spec.rb +29 -0
  69. data/spec/models/job_create_parameters_spec.rb +6 -0
  70. data/spec/models/key_create_parameters_spec.rb +6 -0
  71. data/spec/models/locale_create_parameters_spec.rb +6 -0
  72. data/spec/models/locale_details_spec.rb +6 -0
  73. data/spec/models/locale_spec.rb +6 -0
  74. data/spec/models/locale_update_parameters_spec.rb +6 -0
  75. data/spec/models/{team1_spec.rb → team_short_spec.rb} +6 -6
  76. metadata +218 -202
data/docs/Invitation.md CHANGED
@@ -10,14 +10,14 @@ Name | Type | Description | Notes
10
10
  **state** | **String** | | [optional]
11
11
  **projects** | [**Array<ProjectShort>**](ProjectShort.md) | | [optional]
12
12
  **locales** | [**Array<LocalePreview>**](LocalePreview.md) | | [optional]
13
+ **teams** | [**Array<TeamShort>**](TeamShort.md) | | [optional]
13
14
  **default_locale_codes** | **Array<String>** | | [optional]
14
15
  **permissions** | [**Object**](.md) | | [optional]
15
16
  **locale_ids** | **Array<String>** | | [optional]
16
17
  **created_at** | **DateTime** | | [optional]
17
18
  **updated_at** | **DateTime** | | [optional]
18
19
  **accepted_at** | **DateTime** | | [optional]
19
- **spaces** | [**Array<MemberSpaces>**](MemberSpaces.md) | | [optional]
20
- **teams** | [**Array<Items>**](Items.md) | | [optional]
20
+ **spaces** | [**Array<Space>**](Space.md) | | [optional]
21
21
  **project_role** | [**Array<MemberProjectDetailProjectRoles>**](MemberProjectDetailProjectRoles.md) | | [optional]
22
22
 
23
23
  ## Code Sample
@@ -31,6 +31,7 @@ instance = Phrase::Invitation.new(id: null,
31
31
  state: null,
32
32
  projects: null,
33
33
  locales: null,
34
+ teams: null,
34
35
  default_locale_codes: null,
35
36
  permissions: null,
36
37
  locale_ids: null,
@@ -38,7 +39,6 @@ instance = Phrase::Invitation.new(id: null,
38
39
  updated_at: null,
39
40
  accepted_at: null,
40
41
  spaces: null,
41
- teams: null,
42
42
  project_role: null)
43
43
  ```
44
44
 
@@ -0,0 +1,29 @@
1
+ # Phrase::JobComment
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **id** | **String** | | [optional]
8
+ **message** | **String** | | [optional]
9
+ **job_id** | **String** | | [optional]
10
+ **user** | [**UserPreview**](UserPreview.md) | | [optional]
11
+ **created_at** | **DateTime** | | [optional]
12
+ **updated_at** | **DateTime** | | [optional]
13
+ **mentioned_users** | [**Array<UserPreview>**](UserPreview.md) | | [optional]
14
+
15
+ ## Code Sample
16
+
17
+ ```ruby
18
+ require 'Phrase'
19
+
20
+ instance = Phrase::JobComment.new(id: null,
21
+ message: null,
22
+ job_id: null,
23
+ user: null,
24
+ created_at: null,
25
+ updated_at: null,
26
+ mentioned_users: null)
27
+ ```
28
+
29
+
@@ -0,0 +1,17 @@
1
+ # Phrase::JobCommentCreateParameters
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **message** | **String** | Job comment message | [optional]
8
+
9
+ ## Code Sample
10
+
11
+ ```ruby
12
+ require 'Phrase'
13
+
14
+ instance = Phrase::JobCommentCreateParameters.new(message: Some message...)
15
+ ```
16
+
17
+
@@ -0,0 +1,17 @@
1
+ # Phrase::JobCommentUpdateParameters
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **message** | **String** | Comment message | [optional]
8
+
9
+ ## Code Sample
10
+
11
+ ```ruby
12
+ require 'Phrase'
13
+
14
+ instance = Phrase::JobCommentUpdateParameters.new(message: Some message...)
15
+ ```
16
+
17
+
@@ -0,0 +1,343 @@
1
+ # Phrase::JobCommentsApi
2
+
3
+ All URIs are relative to *https://api.phrase.com/v2*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**job_comment_create**](JobCommentsApi.md#job_comment_create) | **POST** /projects/{project_id}/jobs/{job_id}/comments | Create a job comment
8
+ [**job_comment_delete**](JobCommentsApi.md#job_comment_delete) | **DELETE** /projects/{project_id}/jobs/{job_id}/comments/{id} | Delete a job comment
9
+ [**job_comment_show**](JobCommentsApi.md#job_comment_show) | **GET** /projects/{project_id}/jobs/{job_id}/comments/{id} | Get a single job comment
10
+ [**job_comment_update**](JobCommentsApi.md#job_comment_update) | **PATCH** /projects/{project_id}/jobs/{job_id}/comments/{id} | Update a job comment
11
+ [**job_comments_list**](JobCommentsApi.md#job_comments_list) | **GET** /projects/{project_id}/jobs/{job_id}/comments | List job comments
12
+
13
+
14
+
15
+ ## job_comment_create
16
+
17
+ > JobComment job_comment_create(project_id, job_id, job_comment_create_parameters, opts)
18
+
19
+ Create a job comment
20
+
21
+ Create a new comment for a job.
22
+
23
+ ### Example
24
+
25
+ ```ruby
26
+ # load the gem
27
+ require 'phrase'
28
+ # setup authorization
29
+ Phrase.configure do |config|
30
+ # Configure HTTP basic authorization: Basic
31
+ config.username = 'YOUR USERNAME'
32
+ config.password = 'YOUR PASSWORD'
33
+
34
+ # Configure API key authorization: Token
35
+ config.api_key['Authorization'] = 'YOUR API KEY'
36
+ config.api_key_prefix['Authorization'] = 'token'
37
+ end
38
+
39
+ api_instance = Phrase::JobCommentsApi.new
40
+ project_id = 'project_id_example' # String | Project ID
41
+ job_id = 'job_id_example' # String | Job ID
42
+ job_comment_create_parameters = Phrase::JobCommentCreateParameters.new # JobCommentCreateParameters |
43
+ opts = {
44
+ x_phrase_app_otp: 'x_phrase_app_otp_example' # String | Two-Factor-Authentication token (optional)
45
+ }
46
+
47
+ begin
48
+ #Create a job comment
49
+ result = api_instance.job_comment_create(project_id, job_id, job_comment_create_parameters, opts)
50
+ pp result
51
+ rescue Phrase::ApiError => e
52
+ puts "Exception when calling JobCommentsApi->job_comment_create: #{e}"
53
+ end
54
+ ```
55
+
56
+ ### Parameters
57
+
58
+
59
+ Name | Type | Description | Notes
60
+ ------------- | ------------- | ------------- | -------------
61
+ **project_id** | **String**| Project ID |
62
+ **job_id** | **String**| Job ID |
63
+ **job_comment_create_parameters** | [**JobCommentCreateParameters**](JobCommentCreateParameters.md)| |
64
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
65
+
66
+ ### Return type
67
+
68
+ Response<([**JobComment**](JobComment.md))>
69
+
70
+ ### Authorization
71
+
72
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
73
+
74
+ ### HTTP request headers
75
+
76
+ - **Content-Type**: application/json
77
+ - **Accept**: application/json
78
+
79
+
80
+ ## job_comment_delete
81
+
82
+ > job_comment_delete(project_id, job_id, id, opts)
83
+
84
+ Delete a job comment
85
+
86
+ Delete an existing job comment.
87
+
88
+ ### Example
89
+
90
+ ```ruby
91
+ # load the gem
92
+ require 'phrase'
93
+ # setup authorization
94
+ Phrase.configure do |config|
95
+ # Configure HTTP basic authorization: Basic
96
+ config.username = 'YOUR USERNAME'
97
+ config.password = 'YOUR PASSWORD'
98
+
99
+ # Configure API key authorization: Token
100
+ config.api_key['Authorization'] = 'YOUR API KEY'
101
+ config.api_key_prefix['Authorization'] = 'token'
102
+ end
103
+
104
+ api_instance = Phrase::JobCommentsApi.new
105
+ project_id = 'project_id_example' # String | Project ID
106
+ job_id = 'job_id_example' # String | Job ID
107
+ id = 'id_example' # String | ID
108
+ opts = {
109
+ x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
110
+ branch: 'my-feature-branch' # String | specify the branch to use
111
+ }
112
+
113
+ begin
114
+ #Delete a job comment
115
+ api_instance.job_comment_delete(project_id, job_id, id, opts)
116
+ rescue Phrase::ApiError => e
117
+ puts "Exception when calling JobCommentsApi->job_comment_delete: #{e}"
118
+ end
119
+ ```
120
+
121
+ ### Parameters
122
+
123
+
124
+ Name | Type | Description | Notes
125
+ ------------- | ------------- | ------------- | -------------
126
+ **project_id** | **String**| Project ID |
127
+ **job_id** | **String**| Job ID |
128
+ **id** | **String**| ID |
129
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
130
+ **branch** | **String**| specify the branch to use | [optional]
131
+
132
+ ### Return type
133
+
134
+ Response<(nil (empty response body))>
135
+
136
+ ### Authorization
137
+
138
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
139
+
140
+ ### HTTP request headers
141
+
142
+ - **Content-Type**: Not defined
143
+ - **Accept**: Not defined
144
+
145
+
146
+ ## job_comment_show
147
+
148
+ > Object job_comment_show(project_id, job_id, id, opts)
149
+
150
+ Get a single job comment
151
+
152
+ Get details on a single job comment.
153
+
154
+ ### Example
155
+
156
+ ```ruby
157
+ # load the gem
158
+ require 'phrase'
159
+ # setup authorization
160
+ Phrase.configure do |config|
161
+ # Configure HTTP basic authorization: Basic
162
+ config.username = 'YOUR USERNAME'
163
+ config.password = 'YOUR PASSWORD'
164
+
165
+ # Configure API key authorization: Token
166
+ config.api_key['Authorization'] = 'YOUR API KEY'
167
+ config.api_key_prefix['Authorization'] = 'token'
168
+ end
169
+
170
+ api_instance = Phrase::JobCommentsApi.new
171
+ project_id = 'project_id_example' # String | Project ID
172
+ job_id = 'job_id_example' # String | Job ID
173
+ id = 'id_example' # String | ID
174
+ opts = {
175
+ x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
176
+ branch: 'my-feature-branch' # String | specify the branch to use
177
+ }
178
+
179
+ begin
180
+ #Get a single job comment
181
+ result = api_instance.job_comment_show(project_id, job_id, id, opts)
182
+ pp result
183
+ rescue Phrase::ApiError => e
184
+ puts "Exception when calling JobCommentsApi->job_comment_show: #{e}"
185
+ end
186
+ ```
187
+
188
+ ### Parameters
189
+
190
+
191
+ Name | Type | Description | Notes
192
+ ------------- | ------------- | ------------- | -------------
193
+ **project_id** | **String**| Project ID |
194
+ **job_id** | **String**| Job ID |
195
+ **id** | **String**| ID |
196
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
197
+ **branch** | **String**| specify the branch to use | [optional]
198
+
199
+ ### Return type
200
+
201
+ Response<(**Object**)>
202
+
203
+ ### Authorization
204
+
205
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
206
+
207
+ ### HTTP request headers
208
+
209
+ - **Content-Type**: Not defined
210
+ - **Accept**: application/json
211
+
212
+
213
+ ## job_comment_update
214
+
215
+ > Object job_comment_update(project_id, key_id, id, job_comment_update_parameters, opts)
216
+
217
+ Update a job comment
218
+
219
+ Update an existing job comment.
220
+
221
+ ### Example
222
+
223
+ ```ruby
224
+ # load the gem
225
+ require 'phrase'
226
+ # setup authorization
227
+ Phrase.configure do |config|
228
+ # Configure HTTP basic authorization: Basic
229
+ config.username = 'YOUR USERNAME'
230
+ config.password = 'YOUR PASSWORD'
231
+
232
+ # Configure API key authorization: Token
233
+ config.api_key['Authorization'] = 'YOUR API KEY'
234
+ config.api_key_prefix['Authorization'] = 'token'
235
+ end
236
+
237
+ api_instance = Phrase::JobCommentsApi.new
238
+ project_id = 'project_id_example' # String | Project ID
239
+ key_id = 'key_id_example' # String | Translation Key ID
240
+ id = 'id_example' # String | ID
241
+ job_comment_update_parameters = Phrase::JobCommentUpdateParameters.new # JobCommentUpdateParameters |
242
+ opts = {
243
+ x_phrase_app_otp: 'x_phrase_app_otp_example' # String | Two-Factor-Authentication token (optional)
244
+ }
245
+
246
+ begin
247
+ #Update a job comment
248
+ result = api_instance.job_comment_update(project_id, key_id, id, job_comment_update_parameters, opts)
249
+ pp result
250
+ rescue Phrase::ApiError => e
251
+ puts "Exception when calling JobCommentsApi->job_comment_update: #{e}"
252
+ end
253
+ ```
254
+
255
+ ### Parameters
256
+
257
+
258
+ Name | Type | Description | Notes
259
+ ------------- | ------------- | ------------- | -------------
260
+ **project_id** | **String**| Project ID |
261
+ **key_id** | **String**| Translation Key ID |
262
+ **id** | **String**| ID |
263
+ **job_comment_update_parameters** | [**JobCommentUpdateParameters**](JobCommentUpdateParameters.md)| |
264
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
265
+
266
+ ### Return type
267
+
268
+ Response<(**Object**)>
269
+
270
+ ### Authorization
271
+
272
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
273
+
274
+ ### HTTP request headers
275
+
276
+ - **Content-Type**: application/json
277
+ - **Accept**: application/json
278
+
279
+
280
+ ## job_comments_list
281
+
282
+ > Array&lt;Object&gt; job_comments_list(project_id, job_id, opts)
283
+
284
+ List job comments
285
+
286
+ List all comments for a job.
287
+
288
+ ### Example
289
+
290
+ ```ruby
291
+ # load the gem
292
+ require 'phrase'
293
+ # setup authorization
294
+ Phrase.configure do |config|
295
+ # Configure HTTP basic authorization: Basic
296
+ config.username = 'YOUR USERNAME'
297
+ config.password = 'YOUR PASSWORD'
298
+
299
+ # Configure API key authorization: Token
300
+ config.api_key['Authorization'] = 'YOUR API KEY'
301
+ config.api_key_prefix['Authorization'] = 'token'
302
+ end
303
+
304
+ api_instance = Phrase::JobCommentsApi.new
305
+ project_id = 'project_id_example' # String | Project ID
306
+ job_id = 'job_id_example' # String | Job ID
307
+ opts = {
308
+ x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
309
+ branch: 'my-feature-branch' # String | specify the branch to use
310
+ }
311
+
312
+ begin
313
+ #List job comments
314
+ result = api_instance.job_comments_list(project_id, job_id, opts)
315
+ pp result
316
+ rescue Phrase::ApiError => e
317
+ puts "Exception when calling JobCommentsApi->job_comments_list: #{e}"
318
+ end
319
+ ```
320
+
321
+ ### Parameters
322
+
323
+
324
+ Name | Type | Description | Notes
325
+ ------------- | ------------- | ------------- | -------------
326
+ **project_id** | **String**| Project ID |
327
+ **job_id** | **String**| Job ID |
328
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
329
+ **branch** | **String**| specify the branch to use | [optional]
330
+
331
+ ### Return type
332
+
333
+ Response<(**Array&lt;Object&gt;**)>
334
+
335
+ ### Authorization
336
+
337
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
338
+
339
+ ### HTTP request headers
340
+
341
+ - **Content-Type**: Not defined
342
+ - **Accept**: application/json
343
+
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
12
12
  **ticket_url** | **String** | URL to a ticket for this job (e.g. Jira, Trello) | [optional]
13
13
  **tags** | **Array&lt;String&gt;** | tags of keys that should be included within the job | [optional]
14
14
  **translation_key_ids** | **Array&lt;String&gt;** | ids of keys that should be included within the job | [optional]
15
+ **job_template_id** | **String** | id of a job template you would like to model the created job after. Any manually added parameters will take preference over template attributes. | [optional]
15
16
 
16
17
  ## Code Sample
17
18
 
@@ -25,7 +26,8 @@ instance = Phrase::JobCreateParameters.new(branch: my-feature-branch,
25
26
  due_date: null,
26
27
  ticket_url: https://example.atlassian.net/browse/FOO,
27
28
  tags: [&quot;myUploadTag&quot;],
28
- translation_key_ids: [&quot;abcd1234cdef1234abcd1234cdef1234&quot;])
29
+ translation_key_ids: [&quot;abcd1234cdef1234abcd1234cdef1234&quot;],
30
+ job_template_id: abcd1234cdef1234abcd1234cdef1234)
29
31
  ```
30
32
 
31
33
 
data/docs/JobsApi.md CHANGED
@@ -9,9 +9,11 @@ Method | HTTP request | Description
9
9
  [**job_delete**](JobsApi.md#job_delete) | **DELETE** /projects/{project_id}/jobs/{id} | Delete a job
10
10
  [**job_keys_create**](JobsApi.md#job_keys_create) | **POST** /projects/{project_id}/jobs/{id}/keys | Add keys to job
11
11
  [**job_keys_delete**](JobsApi.md#job_keys_delete) | **DELETE** /projects/{project_id}/jobs/{id}/keys | Remove keys from job
12
+ [**job_lock**](JobsApi.md#job_lock) | **POST** /projects/{project_id}/jobs/{id}/lock | Lock a job
12
13
  [**job_reopen**](JobsApi.md#job_reopen) | **POST** /projects/{project_id}/jobs/{id}/reopen | Reopen a job
13
14
  [**job_show**](JobsApi.md#job_show) | **GET** /projects/{project_id}/jobs/{id} | Get a single job
14
15
  [**job_start**](JobsApi.md#job_start) | **POST** /projects/{project_id}/jobs/{id}/start | Start a job
16
+ [**job_unlock**](JobsApi.md#job_unlock) | **POST** /projects/{project_id}/jobs/{id}/unlock | Unlock a job
15
17
  [**job_update**](JobsApi.md#job_update) | **PATCH** /projects/{project_id}/jobs/{id} | Update a job
16
18
  [**jobs_by_account**](JobsApi.md#jobs_by_account) | **GET** /accounts/{account_id}/jobs | List account jobs
17
19
  [**jobs_list**](JobsApi.md#jobs_list) | **GET** /projects/{project_id}/jobs | List jobs
@@ -341,6 +343,70 @@ Response<(nil (empty response body))>
341
343
  - **Accept**: Not defined
342
344
 
343
345
 
346
+ ## job_lock
347
+
348
+ > job_lock(project_id, id, opts)
349
+
350
+ Lock a job
351
+
352
+ If you are the job owner, you may lock a job using this API request.
353
+
354
+ ### Example
355
+
356
+ ```ruby
357
+ # load the gem
358
+ require 'phrase'
359
+ # setup authorization
360
+ Phrase.configure do |config|
361
+ # Configure HTTP basic authorization: Basic
362
+ config.username = 'YOUR USERNAME'
363
+ config.password = 'YOUR PASSWORD'
364
+
365
+ # Configure API key authorization: Token
366
+ config.api_key['Authorization'] = 'YOUR API KEY'
367
+ config.api_key_prefix['Authorization'] = 'token'
368
+ end
369
+
370
+ api_instance = Phrase::JobsApi.new
371
+ project_id = 'project_id_example' # String | Project ID
372
+ id = 'id_example' # String | ID
373
+ opts = {
374
+ x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
375
+ branch: 'my-feature-branch' # String | specify the branch to use
376
+ }
377
+
378
+ begin
379
+ #Lock a job
380
+ api_instance.job_lock(project_id, id, opts)
381
+ rescue Phrase::ApiError => e
382
+ puts "Exception when calling JobsApi->job_lock: #{e}"
383
+ end
384
+ ```
385
+
386
+ ### Parameters
387
+
388
+
389
+ Name | Type | Description | Notes
390
+ ------------- | ------------- | ------------- | -------------
391
+ **project_id** | **String**| Project ID |
392
+ **id** | **String**| ID |
393
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
394
+ **branch** | **String**| specify the branch to use | [optional]
395
+
396
+ ### Return type
397
+
398
+ Response<(nil (empty response body))>
399
+
400
+ ### Authorization
401
+
402
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
403
+
404
+ ### HTTP request headers
405
+
406
+ - **Content-Type**: Not defined
407
+ - **Accept**: Not defined
408
+
409
+
344
410
  ## job_reopen
345
411
 
346
412
  > JobDetails job_reopen(project_id, id, job_reopen_parameters, opts)
@@ -536,6 +602,70 @@ Response<([**JobDetails**](JobDetails.md))>
536
602
  - **Accept**: application/json
537
603
 
538
604
 
605
+ ## job_unlock
606
+
607
+ > job_unlock(project_id, id, opts)
608
+
609
+ Unlock a job
610
+
611
+ If you are the job owner, you may unlock a locked job using this API request.
612
+
613
+ ### Example
614
+
615
+ ```ruby
616
+ # load the gem
617
+ require 'phrase'
618
+ # setup authorization
619
+ Phrase.configure do |config|
620
+ # Configure HTTP basic authorization: Basic
621
+ config.username = 'YOUR USERNAME'
622
+ config.password = 'YOUR PASSWORD'
623
+
624
+ # Configure API key authorization: Token
625
+ config.api_key['Authorization'] = 'YOUR API KEY'
626
+ config.api_key_prefix['Authorization'] = 'token'
627
+ end
628
+
629
+ api_instance = Phrase::JobsApi.new
630
+ project_id = 'project_id_example' # String | Project ID
631
+ id = 'id_example' # String | ID
632
+ opts = {
633
+ x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
634
+ branch: 'my-feature-branch' # String | specify the branch to use
635
+ }
636
+
637
+ begin
638
+ #Unlock a job
639
+ api_instance.job_unlock(project_id, id, opts)
640
+ rescue Phrase::ApiError => e
641
+ puts "Exception when calling JobsApi->job_unlock: #{e}"
642
+ end
643
+ ```
644
+
645
+ ### Parameters
646
+
647
+
648
+ Name | Type | Description | Notes
649
+ ------------- | ------------- | ------------- | -------------
650
+ **project_id** | **String**| Project ID |
651
+ **id** | **String**| ID |
652
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
653
+ **branch** | **String**| specify the branch to use | [optional]
654
+
655
+ ### Return type
656
+
657
+ Response<(nil (empty response body))>
658
+
659
+ ### Authorization
660
+
661
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
662
+
663
+ ### HTTP request headers
664
+
665
+ - **Content-Type**: Not defined
666
+ - **Accept**: Not defined
667
+
668
+
539
669
  ## job_update
540
670
 
541
671
  > JobDetails job_update(project_id, id, job_update_parameters, opts)
@@ -15,6 +15,7 @@ Name | Type | Description | Notes
15
15
  **screenshot** | **File** | Screenshot/image for the key. This parameter is deprecated. Please use the Screenshots endpoint instead. | [optional]
16
16
  **remove_screenshot** | **Boolean** | Indicates whether the screenshot will be deleted. This parameter is deprecated. Please use the Screenshots endpoint instead. | [optional]
17
17
  **unformatted** | **Boolean** | Indicates whether the key should be exported as \&quot;unformatted\&quot;. Supported by Android XML and other formats. | [optional]
18
+ **default_translation_content** | **String** | Creates a translation in the default locale with the specified content | [optional]
18
19
  **xml_space_preserve** | **Boolean** | Indicates whether the key should be exported with \&quot;xml:space&#x3D;preserve\&quot;. Supported by several XML-based formats. | [optional]
19
20
  **original_file** | **String** | Original file attribute. Used in some formats, e.g. XLIFF. | [optional]
20
21
  **localized_format_string** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. | [optional]
@@ -36,6 +37,7 @@ instance = Phrase::KeyCreateParameters.new(branch: my-feature-branch,
36
37
  screenshot: null,
37
38
  remove_screenshot: null,
38
39
  unformatted: null,
40
+ default_translation_content: Default translation content,
39
41
  xml_space_preserve: null,
40
42
  original_file: null,
41
43
  localized_format_string: null,
data/docs/Locale.md CHANGED
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
12
12
  **rtl** | **Boolean** | | [optional]
13
13
  **plural_forms** | **Array&lt;String&gt;** | | [optional]
14
14
  **source_locale** | [**LocalePreview**](LocalePreview.md) | | [optional]
15
+ **fallback_locale** | [**LocalePreview**](LocalePreview.md) | | [optional]
15
16
  **created_at** | **DateTime** | | [optional]
16
17
  **updated_at** | **DateTime** | | [optional]
17
18
 
@@ -28,6 +29,7 @@ instance = Phrase::Locale.new(id: null,
28
29
  rtl: null,
29
30
  plural_forms: null,
30
31
  source_locale: null,
32
+ fallback_locale: null,
31
33
  created_at: null,
32
34
  updated_at: null)
33
35
  ```
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
11
11
  **main** | **Boolean** | Indicates whether locale is a main locale. Main locales are part of the &lt;a href&#x3D;\&quot;https://help.phrase.com/help/verification-and-proofreading\&quot; target&#x3D;\&quot;_blank\&quot;&gt;Verification System&lt;/a&gt; feature. | [optional]
12
12
  **rtl** | **Boolean** | Indicates whether locale is a RTL (Right-to-Left) locale. | [optional]
13
13
  **source_locale_id** | **String** | Source locale. Can be the name or public id of the locale. Preferred is the public id. | [optional]
14
+ **fallback_locale_id** | **String** | Fallback locale for empty translations. Can be a locale name or id. | [optional]
14
15
  **unverify_new_translations** | **Boolean** | Indicates that new translations for this locale should be marked as unverified. Part of the &lt;a href&#x3D;\&quot;https://help.phrase.com/help/verification-and-proofreading\&quot; target&#x3D;\&quot;_blank\&quot;&gt;Advanced Workflows&lt;/a&gt; feature. | [optional]
15
16
  **unverify_updated_translations** | **Boolean** | Indicates that updated translations for this locale should be marked as unverified. Part of the &lt;a href&#x3D;\&quot;https://help.phrase.com/help/verification-and-proofreading\&quot; target&#x3D;\&quot;_blank\&quot;&gt;Advanced Workflows&lt;/a&gt; feature. | [optional]
16
17
  **autotranslate** | **Boolean** | If set, translations for this locale will be fetched automatically, right after creation. | [optional]
@@ -27,6 +28,7 @@ instance = Phrase::LocaleCreateParameters.new(branch: my-feature-branch,
27
28
  main: null,
28
29
  rtl: null,
29
30
  source_locale_id: abcd1234abcd1234abcd1234abcd1234,
31
+ fallback_locale_id: abcd1234abcd1234abcd1234abcd1234,
30
32
  unverify_new_translations: null,
31
33
  unverify_updated_translations: null,
32
34
  autotranslate: null)
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
12
12
  **rtl** | **Boolean** | | [optional]
13
13
  **plural_forms** | **Array&lt;String&gt;** | | [optional]
14
14
  **source_locale** | [**LocalePreview**](LocalePreview.md) | | [optional]
15
+ **fallback_locale** | [**LocalePreview**](LocalePreview.md) | | [optional]
15
16
  **created_at** | **DateTime** | | [optional]
16
17
  **updated_at** | **DateTime** | | [optional]
17
18
  **statistics** | [**LocaleStatistics**](LocaleStatistics.md) | | [optional]
@@ -29,6 +30,7 @@ instance = Phrase::LocaleDetails.new(id: null,
29
30
  rtl: null,
30
31
  plural_forms: null,
31
32
  source_locale: null,
33
+ fallback_locale: null,
32
34
  created_at: null,
33
35
  updated_at: null,
34
36
  statistics: null)