diff --git a/webhook_schemas/jobs_complete.json b/webhook_schemas/jobs_complete.json index 8351aeae7..969786f21 100644 --- a/webhook_schemas/jobs_complete.json +++ b/webhook_schemas/jobs_complete.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_complete_example.json b/webhook_schemas/jobs_complete_example.json index 604d5eaf8..351e2831b 100644 --- a/webhook_schemas/jobs_complete_example.json +++ b/webhook_schemas/jobs_complete_example.json @@ -24,11 +24,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/jobs_create.json b/webhook_schemas/jobs_create.json index 8351aeae7..969786f21 100644 --- a/webhook_schemas/jobs_create.json +++ b/webhook_schemas/jobs_create.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_create_example.json b/webhook_schemas/jobs_create_example.json index 30c0871e3..0c36b2816 100644 --- a/webhook_schemas/jobs_create_example.json +++ b/webhook_schemas/jobs_create_example.json @@ -24,11 +24,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/jobs_locale_complete.json b/webhook_schemas/jobs_locale_complete.json index 90adc3243..4e55dc213 100644 --- a/webhook_schemas/jobs_locale_complete.json +++ b/webhook_schemas/jobs_locale_complete.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_locale_complete_example.json b/webhook_schemas/jobs_locale_complete_example.json index e8407a386..3cf0beedd 100644 --- a/webhook_schemas/jobs_locale_complete_example.json +++ b/webhook_schemas/jobs_locale_complete_example.json @@ -41,11 +41,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/jobs_locale_reopened.json b/webhook_schemas/jobs_locale_reopened.json index 90adc3243..4e55dc213 100644 --- a/webhook_schemas/jobs_locale_reopened.json +++ b/webhook_schemas/jobs_locale_reopened.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_locale_reopened_example.json b/webhook_schemas/jobs_locale_reopened_example.json index d1368c454..61799f977 100644 --- a/webhook_schemas/jobs_locale_reopened_example.json +++ b/webhook_schemas/jobs_locale_reopened_example.json @@ -41,11 +41,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/jobs_locale_review_complete.json b/webhook_schemas/jobs_locale_review_complete.json index 90adc3243..4e55dc213 100644 --- a/webhook_schemas/jobs_locale_review_complete.json +++ b/webhook_schemas/jobs_locale_review_complete.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_locale_review_complete_example.json b/webhook_schemas/jobs_locale_review_complete_example.json index a89d86bcc..d6840b19f 100644 --- a/webhook_schemas/jobs_locale_review_complete_example.json +++ b/webhook_schemas/jobs_locale_review_complete_example.json @@ -41,11 +41,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/jobs_locale_review_reopen.json b/webhook_schemas/jobs_locale_review_reopen.json index 90adc3243..4e55dc213 100644 --- a/webhook_schemas/jobs_locale_review_reopen.json +++ b/webhook_schemas/jobs_locale_review_reopen.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_locale_review_reopen_example.json b/webhook_schemas/jobs_locale_review_reopen_example.json index 4c053615d..06b54d617 100644 --- a/webhook_schemas/jobs_locale_review_reopen_example.json +++ b/webhook_schemas/jobs_locale_review_reopen_example.json @@ -41,11 +41,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/jobs_reopened.json b/webhook_schemas/jobs_reopened.json index 8351aeae7..969786f21 100644 --- a/webhook_schemas/jobs_reopened.json +++ b/webhook_schemas/jobs_reopened.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_reopened_example.json b/webhook_schemas/jobs_reopened_example.json index c54dfa116..1055418fb 100644 --- a/webhook_schemas/jobs_reopened_example.json +++ b/webhook_schemas/jobs_reopened_example.json @@ -24,11 +24,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/jobs_start.json b/webhook_schemas/jobs_start.json index 8351aeae7..969786f21 100644 --- a/webhook_schemas/jobs_start.json +++ b/webhook_schemas/jobs_start.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_start_example.json b/webhook_schemas/jobs_start_example.json index 7626728c8..8ee234819 100644 --- a/webhook_schemas/jobs_start_example.json +++ b/webhook_schemas/jobs_start_example.json @@ -24,11 +24,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/jobs_update.json b/webhook_schemas/jobs_update.json index 8351aeae7..969786f21 100644 --- a/webhook_schemas/jobs_update.json +++ b/webhook_schemas/jobs_update.json @@ -97,6 +97,28 @@ "null" ] }, + "owner": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name" + ] + }, "briefing": { "type": [ "string", @@ -110,6 +132,13 @@ ], "format": "date-time" }, + "review_due_date": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, "state": { "type": [ "string", @@ -134,6 +163,7 @@ "required": [ "id", "name", + "owner", "briefing", "due_date", "state", diff --git a/webhook_schemas/jobs_update_example.json b/webhook_schemas/jobs_update_example.json index 8b2638682..726f95a48 100644 --- a/webhook_schemas/jobs_update_example.json +++ b/webhook_schemas/jobs_update_example.json @@ -24,11 +24,17 @@ "job": { "id": "ad39faf87fb5af9aa9d9ab44a6c29899", "name": "Translation job for feature 1", + "owner": { + "id": "24b9a53ad72e198ca332fba91bb95f57", + "username": "john.smith", + "name": "John Smith" + }, "briefing": "Please translate everything!", "due_date": "2025-02-07 16:18:13 UTC", + "review_due_date": null, "state": "draft", "ticket_url": "", "created_at": "2025-02-07 16:18:13 UTC", "updated_at": "2025-02-07 16:44:05 UTC" } -} \ No newline at end of file +} diff --git a/webhook_schemas/upload_batches_complete.json b/webhook_schemas/upload_batches_complete.json new file mode 100644 index 000000000..4f3a2c57c --- /dev/null +++ b/webhook_schemas/upload_batches_complete.json @@ -0,0 +1,194 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "event": { + "type": "string" + }, + "message": { + "type": "string" + }, + "sent_at": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "delete_unmentioned_keys": { + "type": "boolean" + }, + "uploads_count": { + "type": "integer" + }, + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "gravatar_uid": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "username", + "name", + "gravatar_uid" + ] + }, + "project": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "main_format": { + "type": [ + "string", + "null" + ] + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "name", + "main_format", + "created_at", + "updated_at" + ] + }, + "uploads": { + "type": "array", + "items": + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "format": { + "type": "string" + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "tag": { + "type": [ + "string", + "null" + ] + }, + "tags": { + "type": [ + "array" + ], + "items": { + "type": "string" + } + }, + "summary": { + "type": [ + "object", + "null" + ], + "properties": { + "locales_created": { + "type": "integer" + }, + "translation_keys_created": { + "type": "integer" + }, + "translation_keys_updated": { + "type": "integer" + }, + "translation_keys_unmentioned": { + "type": "integer" + }, + "translations_created": { + "type": "integer" + }, + "translations_updated": { + "type": "integer" + }, + "tags_created": { + "type": "integer" + }, + "translation_keys_ignored": { + "type": "integer" + } + } + } + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "filename", + "format", + "state", + "tag", + "summary", + "created_at", + "updated_at" + ] + } + }, + "required": [ + "event", + "message", + "status", + "created_at", + "updated_at", + "delete_unmentioned_keys", + "uploads_count", + "user", + "project", + "uploads" + ] +} \ No newline at end of file diff --git a/webhook_schemas/upload_batches_complete_example.json b/webhook_schemas/upload_batches_complete_example.json new file mode 100644 index 000000000..cd2abf1a4 --- /dev/null +++ b/webhook_schemas/upload_batches_complete_example.json @@ -0,0 +1,65 @@ +{ + "event": "upload_batches:complete", + "message": "2 files uploaded by user john_doe in project My Project have been processed.", + "sent_at": "2024-01-15T10:30:00Z", + "status": "done", + "created_at": "2024-01-15T10:25:00Z", + "updated_at": "2024-01-15T10:30:00Z", + "delete_unmentioned_keys": true, + "uploads_count": 2, + "user": { + "id": "abc123", + "username": "john_doe", + "name": "John Doe", + "gravatar_uid": "d4c74594d841139328695756648b6bd6" + }, + "project": { + "id": "proj456", + "name": "My Project", + "main_format": "json", + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-15T10:25:00Z" + }, + "uploads": [ + { + "id": "upload789", + "filename": "en.json", + "format": "json", + "state": "success", + "tag": "v1.0", + "tags": ["v1.0", "production"], + "summary": { + "locales_created": 0, + "translation_keys_created": 5, + "translation_keys_updated": 3, + "translation_keys_unmentioned": 2, + "translations_created": 8, + "translations_updated": 5, + "tags_created": 1, + "translation_keys_ignored": 0 + }, + "created_at": "2024-01-15T10:25:00Z", + "updated_at": "2024-01-15T10:28:00Z" + }, + { + "id": "upload790", + "filename": "de.json", + "format": "json", + "state": "success", + "tag": null, + "tags": [], + "summary": { + "locales_created": 1, + "translation_keys_created": 0, + "translation_keys_updated": 0, + "translation_keys_unmentioned": 0, + "translations_created": 5, + "translations_updated": 3, + "tags_created": 0, + "translation_keys_ignored": 1 + }, + "created_at": "2024-01-15T10:25:30Z", + "updated_at": "2024-01-15T10:30:00Z" + } + ] +} \ No newline at end of file diff --git a/webhook_schemas/uploads_create.json b/webhook_schemas/uploads_create.json index fedf24b4c..46c5d1b99 100644 --- a/webhook_schemas/uploads_create.json +++ b/webhook_schemas/uploads_create.json @@ -155,38 +155,6 @@ "updated_at": { "type": "string", "format": "date-time" - }, - "user": { - "type": [ - "object", - "null" - ], - "properties": { - "id": { - "type": "string" - }, - "username": { - "type": "string" - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "gravatar_uid": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "username", - "name", - "gravatar_uid" - ] } }, "required": [ diff --git a/webhook_schemas/uploads_create_example.json b/webhook_schemas/uploads_create_example.json index 2c0d9032c..d7502e8bf 100644 --- a/webhook_schemas/uploads_create_example.json +++ b/webhook_schemas/uploads_create_example.json @@ -31,12 +31,6 @@ "summary": {}, "tag": null, "tags": [], - "url": "http://www.example.com/accounts/company-account/projects/translation-project/uploads/955ac73e72b75aae4fcaf2548798fe9c?branch=new-feature-1", - "user": { - "id": "24b9a53ad72e198ca332fba91bb95f57", - "username": "john.smith", - "name": "John Smith", - "gravatar_uid": "1bc5edb4799fd8eec67c66122f47eb73" - } + "url": "http://www.example.com/accounts/company-account/projects/translation-project/uploads/955ac73e72b75aae4fcaf2548798fe9c?branch=new-feature-1" } } \ No newline at end of file diff --git a/webhook_schemas/uploads_processing.json b/webhook_schemas/uploads_processing.json index fedf24b4c..46c5d1b99 100644 --- a/webhook_schemas/uploads_processing.json +++ b/webhook_schemas/uploads_processing.json @@ -155,38 +155,6 @@ "updated_at": { "type": "string", "format": "date-time" - }, - "user": { - "type": [ - "object", - "null" - ], - "properties": { - "id": { - "type": "string" - }, - "username": { - "type": "string" - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "gravatar_uid": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "username", - "name", - "gravatar_uid" - ] } }, "required": [ diff --git a/webhook_schemas/uploads_processing_example.json b/webhook_schemas/uploads_processing_example.json index ef54e44e6..dc039e51e 100644 --- a/webhook_schemas/uploads_processing_example.json +++ b/webhook_schemas/uploads_processing_example.json @@ -31,12 +31,6 @@ "summary": {}, "tag": null, "tags": [], - "url": "http://www.example.com/accounts/company-account/projects/translation-project/uploads/955ac73e72b75aae4fcaf2548798fe9c?branch=new-feature-1", - "user": { - "id": "24b9a53ad72e198ca332fba91bb95f57", - "username": "john.smith", - "name": "John Smith", - "gravatar_uid": "1bc5edb4799fd8eec67c66122f47eb73" - } + "url": "http://www.example.com/accounts/company-account/projects/translation-project/uploads/955ac73e72b75aae4fcaf2548798fe9c?branch=new-feature-1" } } \ No newline at end of file