diff --git a/src/docs/product/integrations/integration-platform/index.mdx b/src/docs/product/integrations/integration-platform/index.mdx index e13a05ba9d029..4745661dc0a19 100644 --- a/src/docs/product/integrations/integration-platform/index.mdx +++ b/src/docs/product/integrations/integration-platform/index.mdx @@ -8,6 +8,14 @@ description: "Learn more about Sentry’s integration platform and how it provid Sentry’s integration platform provides a way for external services to interact with Sentry using [webhooks](/product/integrations/integration-platform/webhooks/), [UI components](/product/integrations/integration-platform/ui-components/), and the [REST API](/api). Integrations using this platform are first-class actors within Sentry. +## Example App + +If you're new to the integration platform, it might help to get started with an example project. To help you out, we've built an [example application](https://github.com/getsentry/integration-platform-example), which you can use as a starting point. It demonstrates the different features and data available for your application: + +![Demo kanban application user interface that was built to show integration platform features.](reference-implementation-frontend.png) + +It's a kanban application that uses many of the features available to Sentry integrations and it provides starter code in both Python and TypeScript. It also includes a step-by-step guide to setting up your first integration, as well as documentation and testing advice. Typically, the app should be safely consuming live Sentry data within minutes. + ## Creating an Integration In [sentry.io](https://sentry.io), navigate to **Settings > Developer Settings**. From here, you can choose to create an [internal](/product/integrations/integration-platform/internal-integration) or [public](/product/integrations/integration-platform/public-integration) integration. Internal integrations can only be used by your organization, whereas public integrations can be published and are available for all Sentry users. diff --git a/src/docs/product/integrations/integration-platform/internal-integration.mdx b/src/docs/product/integrations/integration-platform/internal-integration.mdx index 125b0533148d8..730af0f3f0151 100644 --- a/src/docs/product/integrations/integration-platform/internal-integration.mdx +++ b/src/docs/product/integrations/integration-platform/internal-integration.mdx @@ -4,6 +4,12 @@ sidebar_order: 2 description: "Learn more about Sentry's internal integrations." --- + + +We've built an [example application](https://github.com/getsentry/integration-platform-example) to help you get started with building on Sentry's integration platform. Check it out for useful code snippets for adding these features in Python and TypeScript. See the [docs](/product/integrations/integration-platform/#example-app) for more information. + + + Internal integrations are meant for custom integrations unique to your organization. They can also be as simple as an organization-wide token. Whether you are using just the API or all the integration platform features combined, internal integrations are for use within a single Sentry organization. Internal integrations don't require an OAuth flow. You receive an org-wide auth token immediately after creation: diff --git a/src/docs/product/integrations/integration-platform/public-integration.mdx b/src/docs/product/integrations/integration-platform/public-integration.mdx index 37bbb3e743acb..ec25bbb3f5292 100644 --- a/src/docs/product/integrations/integration-platform/public-integration.mdx +++ b/src/docs/product/integrations/integration-platform/public-integration.mdx @@ -4,6 +4,12 @@ sidebar_order: 1 description: "Learn more about Sentry's public integrations." --- + + +We've built an [example application](https://github.com/getsentry/integration-platform-example) to help you get started with building on Sentry's integration platform. Check it out for useful code snippets for adding these features in Python and TypeScript. See the [docs](/product/integrations/integration-platform/#example-app) for more information. + + + Public integrations are for the "general public" of Sentry users. These start in an unpublished state for development purposes and can be submitted later for approval to publish. For more information, check out the [Publication section](#publication) of this page. The code examples in the sections below demonstrate a potential use case that involves a Flask app receiving new issue webhooks from Sentry, calling the Sentry API for more data about the issue, and pushing it to Pushover as a generator of desktop/mobile notifications. @@ -134,11 +140,13 @@ It's possible to use auth tokens from the browser if you allow the origins of th ## Image Requirements Public integrations require a logo image to be uploaded. The requirements for those are: + - Logo size must be between 256 × 256px and 1024 × 1024px - File format must be PNG - Background must be transparent (unless the logo takes up the entire space) If the integration has a [UI component](/product/integrations/integration-platform/ui-components), you must also upload an icon that follows these requirements: + - Icon size must be between 256 × 256px and 1024 × 1024px - File must be a PNG in RGBA format - All pixels must be black or transparent diff --git a/src/docs/product/integrations/integration-platform/reference-implementation-frontend.png b/src/docs/product/integrations/integration-platform/reference-implementation-frontend.png new file mode 100644 index 0000000000000..e57709ba64441 Binary files /dev/null and b/src/docs/product/integrations/integration-platform/reference-implementation-frontend.png differ diff --git a/src/docs/product/integrations/integration-platform/ui-components/index.mdx b/src/docs/product/integrations/integration-platform/ui-components/index.mdx index 3e3d64ac2bf0e..d2f84329784ab 100644 --- a/src/docs/product/integrations/integration-platform/ui-components/index.mdx +++ b/src/docs/product/integrations/integration-platform/ui-components/index.mdx @@ -6,6 +6,12 @@ redirect_from: description: "Learn more about Sentry's integration platform User Interface (UI) components and how they provide you with the ability to define UI components to render within sentry.io, through a JSON-based schema." --- + + +We've built an [example application](https://github.com/getsentry/integration-platform-example) to help you get started with building on Sentry's integration platform! Check it out for useful code snippets for adding these features in Python and TypeScript. See the [docs](/product/integrations/integration-platform/#example-app) for more information. + + + The Sentry integration platform provides developers with the ability to define components to render within specific parts of [sentry.io](https://sentry.io), through a JSON-based schema. You can define the following components: diff --git a/src/docs/product/integrations/integration-platform/webhooks.mdx b/src/docs/product/integrations/integration-platform/webhooks.mdx index 1a2071b66ab1d..6c5d2b1940750 100644 --- a/src/docs/product/integrations/integration-platform/webhooks.mdx +++ b/src/docs/product/integrations/integration-platform/webhooks.mdx @@ -6,6 +6,12 @@ redirect_from: description: "Learn more about Sentry's integration platform webhooks and how they allow your service to receive requests about specific resources, such as installation, issues, and alerts." --- + + +We've built an [example application](https://github.com/getsentry/integration-platform-example) to help you get started with building on Sentry's integration platform. Check it out for useful code snippets for adding these features in Python and TypeScript. See the [docs](/product/integrations/integration-platform/#example-app) for more information. + + + Webhooks allow your service to receive requests about specific resources, depending on your selection, such as installation, issues, and alerts: ![Sentry integration webhook checkbox](webhook-checkbox.png)