{"componentChunkName":"component---src-templates-doc-tsx","path":"/product/integrations/heroku/","result":{"data":{"file":{"id":"16c9da66-0405-564a-9afa-0c4030c8f1d2","relativePath":"product/integrations/heroku/index.mdx","sourceInstanceName":"docs","childMarkdownRemark":null,"childMdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Heroku\",\n  \"sidebar_order\": 1,\n  \"redirect_from\": [\"/workflow/integrations/heroku/\", \"/workflow/integrations/legacy-integrations/gitlab/\"]\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Note = makeShortcode(\"Note\");\nvar CodeTabs = makeShortcode(\"CodeTabs\");\nvar CodeBlock = makeShortcode(\"CodeBlock\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Sentry provides a native add-on for Heroku. While this add-on is not required, it will allow you to maintain consolidated billing inside of Heroku, as well as enable easy configuration of your Sentry credentials.\"), mdx(\"p\", null, \"This integration needs to be set up in each project for which you wish to use it. It is maintained and supported by the \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://forum.sentry.io/\"\n  }), \"Sentry community\"), \".\"), mdx(\"h2\", {\n    \"id\": \"install-and-configure\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#install-and-configure\",\n    \"aria-label\": \"install and configure permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Install and Configure\"), mdx(Note, {\n    mdxType: \"Note\"\n  }, mdx(\"markdown\", null, mdx(\"p\", null, \"Sentry owner or manager permissions permissions are required to install this integration.\"))), mdx(\"p\", null, \"Navigate to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Settings > Integrations > Heroku\")), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/09aa630877e77331d81019d3c2e0582a/aa440/heroku.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"34.333333333333336%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAAsSAAALEgHS3X78AAAA/0lEQVQY03VQyU7DMBT0//9JT/RUIaFygBtnQIBaIrI0dePEW2w/L0l4aYQEKh2NfJjnmbeQu9VL9rX/eN8bY5XUSukQQrwAitM0vD2369Vus842N1mecfL6VLcdo0eWUlo+xf+A8jilzx2/v80ft+XDtqwPmkgpwcHcVs1tASBeAaaP4zD9YBwTOVSd1r1WGlOEkJfmhK6YUOdcYLr3YSGWyIk2dXU8USaEQgL4GOYhF4L32lnnAZ+Gspa1v3NJWRyKvKK0sRascX1vYxwWpjhACJ2T2ltjDOOKK9dbOB/nbBZc4NhKKpyKd5x3YviLaZw3xI2KqqlZL5RD83LVbzShjzwLSRQHAAAAAElFTkSuQmCC')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"heroku\",\n    \"title\": \"heroku\",\n    \"src\": \"/static/09aa630877e77331d81019d3c2e0582a/c1b63/heroku.png\",\n    \"srcSet\": [\"/static/09aa630877e77331d81019d3c2e0582a/5a46d/heroku.png 300w\", \"/static/09aa630877e77331d81019d3c2e0582a/0a47e/heroku.png 600w\", \"/static/09aa630877e77331d81019d3c2e0582a/c1b63/heroku.png 1200w\", \"/static/09aa630877e77331d81019d3c2e0582a/aa440/heroku.png 1500w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"h3\", {\n    \"id\": \"register-the-add-on\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#register-the-add-on\",\n    \"aria-label\": \"register the add on permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Register the Add-on\"), mdx(\"p\", null, \"To add Sentry to an existing Heroku app, head over to the \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://elements.heroku.com/addons/sentry\"\n  }), \"Sentry Heroku add-on\"), \" page.\"), mdx(\"p\", null, \"Once done, you\\u2019ll be able to confirm that Sentry\\u2019s credentials are available via your config:\"), mdx(\"div\", {\n    \"className\": \"code-tabs-wrapper\"\n  }, mdx(CodeTabs, {\n    mdxType: \"CodeTabs\"\n  }, mdx(CodeBlock, {\n    language: \"bash\",\n    title: \"\",\n    filename: \"\",\n    mdxType: \"CodeBlock\"\n  }, mdx(\"div\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"bash\"\n  }), mdx(\"pre\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"language-bash\"\n  }), mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-bash\"\n  }), \"heroku config:get SENTRY_DSN\")))))), mdx(Note, {\n    mdxType: \"Note\"\n  }, mdx(\"markdown\", null, mdx(\"p\", null, \"If you\\u2019re not using the add-on, you can still bind the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"SENTRY_DSN\"), \" environment variable which the SDK will automatically pick up.\"))), mdx(\"h3\", {\n    \"id\": \"install-the-sdk\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#install-the-sdk\",\n    \"aria-label\": \"install the sdk permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Install the SDK\"), mdx(\"p\", null, \"Whether you\\u2019re using the add-on or not, you\\u2019ll still need to install the SDK per our standard platform-specific instructions.\"), mdx(\"h3\", {\n    \"id\": \"configure-releases\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#configure-releases\",\n    \"aria-label\": \"configure releases permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Configure Releases\"), mdx(\"p\", null, \"Whether use the add-on or configure Sentry yourself, you\\u2019ll also likely want to grant quick access to your dyno metadata, which will allow Sentry to automatically pick up the git version of your application.\"), mdx(\"p\", null, \"To do this, enable the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"runtime-dyno-metadata\"), \" feature:\"), mdx(\"div\", {\n    \"className\": \"code-tabs-wrapper\"\n  }, mdx(CodeTabs, {\n    mdxType: \"CodeTabs\"\n  }, mdx(CodeBlock, {\n    language: \"bash\",\n    title: \"\",\n    filename: \"\",\n    mdxType: \"CodeBlock\"\n  }, mdx(\"div\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"bash\"\n  }), mdx(\"pre\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"language-bash\"\n  }), mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-bash\"\n  }), \"heroku labs:enable runtime-dyno-metadata -a \", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token operator\"\n  }), \"<\"), \"app name\", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token operator\"\n  }), \">\"))))))), mdx(\"p\", null, \"This exposes the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"HEROKU_SLUG_COMMIT\"), \" environment variable, which most Sentry SDKs will automatically detect and use for configuration.\"), mdx(\"p\", null, \"Next, you\\u2019ll want to add your repository and set up a deploy hook:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Start by connecting your repository to your Sentry organization so we automatically retrieve your commit data. Find your repository integration (GitHub, GitLab, Bitbucket, for example) in \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Settings > Integrations\"), \". From the Configurations tab, click \\\"Configure\\\".\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1154px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/a0b4e6c7355a6b31b65e9b52fe4b55a9/0940f/heroku-configure-repo-integration.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"43.99999999999999%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsSAAALEgHS3X78AAAA2klEQVQoz6WQ24rCMBCG8/7vtRdCWUSoIO4Wq0s3Nmm1hzTJTJI6qRcrdhXE4bua+f85sSzL0nTNi7Jum0Z1ejDGWET3COe96u3igy+Tku0PP9vtd8nl8ShPp7YS575TpPnH6TxB5mGAdFVt1jWjHBj4LWop2lihMulghgXUGrVBG6ePUzB/yLvPhFdt1/TUPkwxhvEPH6JQCsh3mH0B59Z5S2GAoTEwaAC01Jua0uQ5PjitQQoUApUCWhaQYNdLppPckz9FjQ+Rq3iCPTPcQZsRN5lXzDPeMl8AUPELzq2+PEcAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"heroku configure repo integration\",\n    \"title\": \"heroku configure repo integration\",\n    \"src\": \"/static/a0b4e6c7355a6b31b65e9b52fe4b55a9/0940f/heroku-configure-repo-integration.png\",\n    \"srcSet\": [\"/static/a0b4e6c7355a6b31b65e9b52fe4b55a9/5a46d/heroku-configure-repo-integration.png 300w\", \"/static/a0b4e6c7355a6b31b65e9b52fe4b55a9/0a47e/heroku-configure-repo-integration.png 600w\", \"/static/a0b4e6c7355a6b31b65e9b52fe4b55a9/0940f/heroku-configure-repo-integration.png 1154w\"],\n    \"sizes\": \"(max-width: 1154px) 100vw, 1154px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"On the Configure page, click \\\"Add Repository\\\" then select the repository you want to use.\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/cf30ca822f734a3950452c4e264f2387/00e09/heroku-repo-add.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"32%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAAsSAAALEgHS3X78AAAAs0lEQVQY043Py24DIQwFUP7/n7rNtlKVZFGpUvOaTBgGAsPgB2BK1W3T9OosfWVblc2L2W0vo3H2DglrqU+ISGtdbU1xCKtf0ooETMjMucu/Is6l0qTj6bgOFxrOKgHdRmP0nFZAwD7E9AD2sqSPd73f2c9DentVADRqdx3tcLWzi0A/dz2MIEgMNQb2XiGydcG6pZutR8rtH/n+WVrfzJNZ9ORvZplsDJG5yJ896aRKyeULE3FcpVjJgowAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"heroku repo add\",\n    \"title\": \"heroku repo add\",\n    \"src\": \"/static/cf30ca822f734a3950452c4e264f2387/c1b63/heroku-repo-add.png\",\n    \"srcSet\": [\"/static/cf30ca822f734a3950452c4e264f2387/5a46d/heroku-repo-add.png 300w\", \"/static/cf30ca822f734a3950452c4e264f2387/0a47e/heroku-repo-add.png 600w\", \"/static/cf30ca822f734a3950452c4e264f2387/c1b63/heroku-repo-add.png 1200w\", \"/static/cf30ca822f734a3950452c4e264f2387/d61c2/heroku-repo-add.png 1800w\", \"/static/cf30ca822f734a3950452c4e264f2387/00e09/heroku-repo-add.png 1854w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Find the Heroku integration in \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Settings > Integrations\"), \", and click \\\"Add to Project\\\" then select the project you want to use with Heroku.\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1074px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/5d003a59d03d19abbd6f721d9bdefc03/18539/heroku-integration-detail.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"47.333333333333336%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsSAAALEgHS3X78AAAAyUlEQVQoz62QQU4DMQxFc/8rsa2ExJILUFFA0yqdTiaO7Th2QqYg0RZmUQnpLZLI78s/7nnz/vTwMp7GGBJzzllK0TVEtDV73c6Pm+FtFx0gHseQgKZp7kh3V0wt2qOJxKy21mqtDoD2g/d+DFOMMXX5T4iZJCdAfzj2iK9Hx5SHj0NnDhFiImTTqsVuwMwoPJ3mvYcIouddXA9A7LGcEgL0U1a135hatZYShcjI39XcUuZiaKm29lvnSVvG9Ee+A7m63imX/5M/AW61DP9FlJVtAAAAAElFTkSuQmCC')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"heroku integration detail\",\n    \"title\": \"heroku integration detail\",\n    \"src\": \"/static/5d003a59d03d19abbd6f721d9bdefc03/18539/heroku-integration-detail.png\",\n    \"srcSet\": [\"/static/5d003a59d03d19abbd6f721d9bdefc03/5a46d/heroku-integration-detail.png 300w\", \"/static/5d003a59d03d19abbd6f721d9bdefc03/0a47e/heroku-integration-detail.png 600w\", \"/static/5d003a59d03d19abbd6f721d9bdefc03/18539/heroku-integration-detail.png 1074w\"],\n    \"sizes\": \"(max-width: 1074px) 100vw, 1074px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"In the Heroku integration configuration, specify which repository and deploy environment to be associated with your Sentry project.\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/e1bb8a4445ebbc4e33a93303cf985245/82e86/heroku-project-config.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"59.333333333333336%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAABfElEQVQoz5VSPU/DMBT03+YXsLLzB9iQmGBCYgEJli4MVQfaKs0HiZPYiZ+/zSVBVam6cIqs5F3uvfPZzFo3yNF7r0nvtvtDlqdLiNby25vm+ko8PUjtOt6Ng2JSDMMwgg4hCCHHUYW/cNY571OMtFl/v7/yzZq3fdf2qDIo+14456Dvul4p8ieAGBNQBIuP7aHIy7rIC6Kpwoh0y7u+E7AmhWzqJngfT5CWNSVrTFVWQqqGC9JoHJnoZbbP65qDlmJEIxoJ+1ejIoWVMFmTAQt3ZVG2nWxaqbQLITFssiy+MRnNkZxWGnDTNkPwYVmBJZQsK6qyRnVJkVlj4Ryp4IPzNs8KhGGtnSNOMcQw62dxbHpnXDweATPGwLkx09+zWzJk8EKKYDsGM/VIv4IQ4+n5sUEO+92BN+3EzT6POTvrVx/120u13w6Tj3h++MzoaTJawNUZ5118fjzc3319rvhlMXzWFdfapP+DtVzgbnjnl1TPr5ebHn+JAn4Adre3vPT8mpgAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"heroku project config\",\n    \"title\": \"heroku project config\",\n    \"src\": \"/static/e1bb8a4445ebbc4e33a93303cf985245/c1b63/heroku-project-config.png\",\n    \"srcSet\": [\"/static/e1bb8a4445ebbc4e33a93303cf985245/5a46d/heroku-project-config.png 300w\", \"/static/e1bb8a4445ebbc4e33a93303cf985245/0a47e/heroku-project-config.png 600w\", \"/static/e1bb8a4445ebbc4e33a93303cf985245/c1b63/heroku-project-config.png 1200w\", \"/static/e1bb8a4445ebbc4e33a93303cf985245/d61c2/heroku-project-config.png 1800w\", \"/static/e1bb8a4445ebbc4e33a93303cf985245/82e86/heroku-project-config.png 1978w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Navigate to your project\\u2019s Release settings and copy the deploy hook command to your Heroku config.\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/a2e47a794213140bbb1a7f43c763eb2b/64639/heroku-config.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"21.333333333333336%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAAsSAAALEgHS3X78AAAAgElEQVQI12WOgQ7DIAhE/f9fXStiBRVx22mTpckuL5dTQAk5X0Q859t9QvDFL2zG8CdmIx4kRYOqJuJaq4iWUlS0apUiAKXbP3+aW6G1nhIzZ/gzYCPkRb7MrHcAs7ZD693dAwqUGJun1ZcjJYABfHm/hUuc0XAStKox0us4sekXwEXmuFheYrQAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"heroku config\",\n    \"title\": \"heroku config\",\n    \"src\": \"/static/a2e47a794213140bbb1a7f43c763eb2b/c1b63/heroku-config.png\",\n    \"srcSet\": [\"/static/a2e47a794213140bbb1a7f43c763eb2b/5a46d/heroku-config.png 300w\", \"/static/a2e47a794213140bbb1a7f43c763eb2b/0a47e/heroku-config.png 600w\", \"/static/a2e47a794213140bbb1a7f43c763eb2b/c1b63/heroku-config.png 1200w\", \"/static/a2e47a794213140bbb1a7f43c763eb2b/64639/heroku-config.png 1568w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")))), mdx(\"p\", null, \"You\\u2019ll start getting rich commit information and deploy emails with each new release, as well as tracking of which release issues were seen within.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#install-and-configure","title":"Install and Configure","items":[{"url":"#register-the-add-on","title":"Register the Add-on"},{"url":"#install-the-sdk","title":"Install the SDK"},{"url":"#configure-releases","title":"Configure Releases"}]}]},"internal":{"type":"Mdx"}}}},"pageContext":{"excerpt":"Sentry provides a native add-on for Heroku. While this add-on is not required, it will allow you to maintain consolidated billing inside of Heroku, as well as enable easy configuration of your Sentry credentials. This integration needs to be set up in each project for which you wish to use it. It is maintained and supported by the  Sentry community . Install and Configure Sentry owner or manager permissions permissions are required to install this integration. Navigate to  Settings > Integrations > Heroku Register the Add-on To add Sentry to an existing Heroku app, head over to the  Sentry Heroku add-on  page. Once done, you’ll be able to confirm that Sentry’s credentials are available via your config: If you’re not using the add-on, you can still bind the  SENTRY_DSN  environment variable which the SDK will automatically pick up. Install the SDK Whether you’re using the add-on or not, you’ll still need to install the SDK per our standard platform-specific instructions. Configure Releases Whether use the add-on or configure Sentry yourself, you’ll also likely want to grant quick access to your dyno metadata, which will allow Sentry to automatically pick up the git version of your application. To do this, enable the  runtime-dyno-metadata  feature: This exposes the  HEROKU_SLUG_COMMIT  environment variable, which most Sentry SDKs will automatically detect and use for configuration. Next, you’ll want to add your repository and set up a deploy hook: Start by connecting your repository to your Sentry organization so we automatically retrieve your commit data. Find your repository integration (GitHub, GitLab, Bitbucket, for example) in  Settings > Integrations . From the Configurations tab, click \"Configure\". On the Configure page, click \"Add Repository\" then select the repository you want to use. Find the Heroku integration in  Settings > Integrations , and click \"Add to Project\" then select the project you want to use with Heroku. In the Heroku integration configuration, specify which repository and deploy environment to be associated with your Sentry project. Navigate to your project’s Release settings and copy the deploy hook command to your Heroku config. You’ll start getting rich commit information and deploy emails with each new release, as well as tracking of which release issues were seen within.","title":"Heroku","description":null,"draft":null,"noindex":null,"notoc":null,"sidebar_order":1,"redirect_from":["/workflow/integrations/heroku/","/workflow/integrations/legacy-integrations/gitlab/"],"keywords":null,"id":"16c9da66-0405-564a-9afa-0c4030c8f1d2","legacy":false}},"staticQueryHashes":["1218203755","1222113826","1222113826","1766336459","2158593473","2764967025","3345802723","3818502851","3990806462","4015007367","4192517163","4264099332","518019976"]}