phrase 2.6.0 → 2.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)