13d02685d8
https://linear.app/unleash/issue/2-2435/create-migration-for-a-new-integration-events-table Adds a DB migration that creates the `integration_events` table: - `id`: Auto-incrementing primary key; - `integration_id`: The id of the respective integration (i.e. integration configuration); - `created_at`: Date of insertion; - `state`: Integration event state, as text. Can be anything we'd like, but I'm thinking this will be something like: - Success ✅ - Failed ❌ - SuccessWithErrors ⚠️ - `state_details`: Expands on the previous column with more details, as text. Examples: - OK. Status code: 200 - Status code: 429 - Rate limit reached - No access token provided - `event`: The whole event object, stored as a JSON blob; - `details`: JSON blob with details about the integration execution. Will depend on the integration itself, but for example: - Webhook: Request body - Slack App: Message text and an array with all the channels we're posting to I think this gives us enough flexibility to cover all present and (possibly) future integrations, but I'd like to hear your thoughts. I'm also really torn on what to call this table: - `integration_events`: Consistent with the feature name. Addons are now called integrations, so this would be consistent with the new thing; - `addon_events`: Consistent with the existing `addons` table. |
||
---|---|---|
.. | ||
.yarn/releases | ||
docs | ||
remote-content | ||
src | ||
static | ||
.gitignore | ||
.yarnrc.yml | ||
babel.config.js | ||
clean-generated-docs.js | ||
docusaurus.config.js | ||
global.js | ||
package.json | ||
README.md | ||
sidebars.js | ||
tsconfig.json | ||
vercel.json | ||
yarn.lock |
Website
This website is built using Docusaurus 2, a modern static website generator.
Installation
In a terminal, cd into the website folder of the locally cloned unleash repository and then start the installation.
cd unleash/website
yarn install
Generate OpenAPI docs
yarn generate
Generate the Open API docs that live at Reference documentation > APIs > OpenAPI
Local Development
Before running the docs the first time, you'll need to generate external documentation, as described in the generate OpenAPI docs section.
yarn start
Start a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
Build
yarn build
This command generates static content into the build
directory and can be served using any static contents hosting service.
Deployment
GIT_USER=<Your GitHub username> USE_SSH=true yarn deploy
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages
branch.
Troubleshooting
TypeError: source_default(...).bold is not a function
If you get an error like this, it's probably due to a formatting issue within one of the markdown files. It could be
- unescaped angle brackets (markdown will try to parse
<your-key>
(when it's not quoted) as HTML, which breaks the build) - incorrectly formatted titles or missing pieces of files
- a lot of other stuff.
Component Figure was not imported, exported, or provided by MDXProvider as global scope
TypeError: source_default(...).bold is not a function
[ERROR] Unable to build website for locale en.
This error is very hard to debug, but there is a trick that appears to work (as shared in this discussion on docusaurus' repo):
In node_modules/@docusaurus/core/lib/client/serverEntry.js
, remove all references to chalk
. You can use a regex replace for that, by replacing chalk(\w|\.)+
with the empty string.
Depending on your editor, that regex might need more escapes. For instance, here's a command to run with evil-ex
in Emacs:
%s/chalk\(\w\|\.\)+//g
For macOS sed
, it'd be:
sed -i '' 's/chalk\(\w\|\.\)\+//g' node_modules/@docusaurus/core/lib/client/serverEntry.js
For GNU sed
:
sed -i 's/chalk\(\w\|\.\)\+//g' node_modules/@docusaurus/core/lib/client/serverEntry.js
That might turn your error into something like this:
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/change-requests.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/feature-types.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/frontend-api.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/maintenance.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/notifications.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/personal-access-tokens.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/segments.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/service-accounts.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/telemetry.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/unstable.
Component Figure was not imported, exported, or provided by MDXProvider as global scope
Error: Unexpected: cant find current sidebar in context
[ERROR] Unable to build website for locale en.