Feature/contentful#234
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new Contentful integration to the TypeScript apps ecosystem, including localized metadata, API client helpers, a webhook trigger, and end-to-end integration tests, plus the required dependency and CI secrets wiring.
Changes:
- Introduce a new
contentfulapp with actions for Entries, Assets, and Content Types, plus an event/webhook trigger. - Add Contentful i18n metadata (English) and register the app in the Actions Catalogue.
- Add
contentful-managementdependency, lockfile updates, and CI env vars for Contentful integration tests.
Reviewed changes
Copilot reviewed 53 out of 55 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| ts/yarn.lock | Locks new dependency graph for Contentful SDK and related transitive deps. |
| ts/package.json | Adds contentful-management dependency. |
| ts/src/ActionsCatalogue/index.ts | Registers the new contentful app in the catalogue. |
| ts/src/i18n/en/index.ts | Adds Contentful app to the English i18n registry. |
| ts/src/i18n/en/apps/Contentful/index.ts | Provides English display strings, connection help, and action/trigger copy for Contentful. |
| ts/src/apps/contentful/index.ts | Defines the Contentful app manifest (REST config, actions/triggers mapping, branding). |
| ts/src/apps/contentful/constants.ts | Adds Contentful constants, logo, connection options, and error helpers. |
| ts/src/apps/contentful/client.ts | Adds Contentful Management API client creation helpers (plain + scoped). |
| ts/src/apps/contentful/actions/index.ts | Exports all Contentful actions for app registration. |
| ts/src/apps/contentful/actions/entries/get-entry.action.ts | Adds “Get Entry” action implementation. |
| ts/src/apps/contentful/actions/entries/get-entry-with-replacement.action.ts | Adds “Get Entry with Replacement” action implementation. |
| ts/src/apps/contentful/actions/entries/create-entry.action.ts | Adds “Create Entry” action implementation. |
| ts/src/apps/contentful/actions/entries/update-entry.action.ts | Adds “Update Entry” action implementation. |
| ts/src/apps/contentful/actions/entries/delete-entry.action.ts | Adds “Delete Entry” action implementation. |
| ts/src/apps/contentful/actions/entries/publish-entry.action.ts | Adds “Publish Entry” action implementation. |
| ts/src/apps/contentful/actions/entries/unpublish-entry.action.ts | Adds “Unpublish Entry” action implementation. |
| ts/src/apps/contentful/actions/entries/archive-entry.action.ts | Adds “Archive/Unarchive Entry” action implementation. |
| ts/src/apps/contentful/actions/entries/search-entries.action.ts | Adds “Search Entries” action implementation. |
| ts/src/apps/contentful/actions/assets/get-asset.action.ts | Adds “Get Asset” action implementation. |
| ts/src/apps/contentful/actions/assets/create-asset.action.ts | Adds “Create Asset” action implementation (URL-based upload + processing + optional publish). |
| ts/src/apps/contentful/actions/assets/update-asset.action.ts | Adds “Update Asset” action implementation. |
| ts/src/apps/contentful/actions/assets/delete-asset.action.ts | Adds “Delete Asset” action implementation. |
| ts/src/apps/contentful/actions/assets/publish-asset.action.ts | Adds “Publish Asset” action implementation. |
| ts/src/apps/contentful/actions/assets/unpublish-asset.action.ts | Adds “Unpublish Asset” action implementation. |
| ts/src/apps/contentful/actions/assets/archive-asset.action.ts | Adds “Archive/Unarchive Asset” action implementation. |
| ts/src/apps/contentful/actions/assets/search-assets.action.ts | Adds “Search Assets” action implementation. |
| ts/src/apps/contentful/actions/content-types/get-content-type.action.ts | Adds “Get Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/create-content-type.action.ts | Adds “Create Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/update-content-type.action.ts | Adds “Update Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/delete-content-type.action.ts | Adds “Delete Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/activate-content-type.action.ts | Adds “Activate/Publish Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/deactivate-content-type.action.ts | Adds “Deactivate/Unpublish Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/add-field.action.ts | Adds “Add Field to Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/update-field.action.ts | Adds “Update Field of Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/delete-field.action.ts | Adds “Delete Field from Content Type” action implementation. |
| ts/src/apps/contentful/actions/content-types/search-content-types.action.ts | Adds “Search Content Types” action implementation. |
| ts/src/apps/contentful/triggers/index.ts | Exports Contentful triggers for app registration. |
| ts/src/apps/contentful/triggers/watch-event.trigger.ts | Adds webhook-based “Watch Event” trigger and registration/deregistration logic. |
| ts/src/apps/contentful/helpers/shared-options.ts | Adds shared option definitions for space/environment/content-type selection. |
| ts/src/apps/contentful/helpers/get-space-allowed-values.ts | Implements allowed-values listing for spaces (spaces endpoint + org fallback). |
| ts/src/apps/contentful/helpers/get-environment-allowed-values.ts | Implements allowed-values listing for environments. |
| ts/src/apps/contentful/helpers/get-content-type-allowed-values.ts | Implements allowed-values listing for content types. |
| ts/src/apps/contentful/helpers/get-entry-allowed-values.ts | Implements allowed-values listing for entries (with locale-based display). |
| ts/src/apps/contentful/helpers/get-asset-allowed-values.ts | Implements allowed-values listing for assets (with locale-based display). |
| ts/src/apps/contentful/helpers/get-field-allowed-values.ts | Implements allowed-values listing for fields within a content type. |
| ts/src/apps/contentful/helpers/get-dynamic-entry-type.ts | Implements dynamic option typing and dynamic response typing for entries based on content type. |
| ts/src/apps/contentful/helpers/contentful-type-mapping.ts | Adds locale handling, field flatten/wrap helpers, and field-type mapping. |
| ts/src/apps/contentful/response-types/index.ts | Exports response type definitions for Contentful entities. |
| ts/src/apps/contentful/response-types/entry.ts | Defines entry response types (single + list + publish). |
| ts/src/apps/contentful/response-types/asset.ts | Defines asset response types (single + list). |
| ts/src/apps/contentful/response-types/content-type.ts | Defines content type + field response types (single + list). |
| ts/src/tests/contentful.test.ts | Adds integration tests for Contentful allowed-values, actions, and trigger example payload. |
| ts/src/tests/slack.test.ts | Adds extra debug logging to Slack allowed-values test. |
| .github/workflows/pull_request.yml | Adds Contentful env vars sourced from TEST_VARIABLES for CI runs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 55 out of 57 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 55 out of 57 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.