From f639ae36d56606c57f3d9feb4a4afffa71aa944f Mon Sep 17 00:00:00 2001 From: Nikolas LeBlanc Date: Mon, 5 Jun 2023 17:14:53 -0400 Subject: [PATCH] Add DevCycle Integration Tile (#1849) * adds a DevCycle tile * Update devcycle/images/IMAGES_README.md Co-authored-by: Rosa Trieu <107086888+rtrieu@users.noreply.github.com> * Update devcycle/images/IMAGES_README.md Co-authored-by: Rosa Trieu <107086888+rtrieu@users.noreply.github.com> * Update devcycle/README.md Co-authored-by: Rosa Trieu <107086888+rtrieu@users.noreply.github.com> * Update devcycle/README.md Co-authored-by: Rosa Trieu <107086888+rtrieu@users.noreply.github.com> * Update .github/CODEOWNERS Co-authored-by: Andrew Zhang * resolve merge conflict on CODEOWNER --------- Co-authored-by: Rosa Trieu <107086888+rtrieu@users.noreply.github.com> Co-authored-by: Andrew Zhang --- .github/CODEOWNERS | 1 + devcycle/CHANGELOG.md | 4 ++ devcycle/README.md | 72 ++++++++++++++++++++++++++++++++ devcycle/images/IMAGES_README.md | 46 ++++++++++++++++++++ devcycle/manifest.json | 31 ++++++++++++++ 5 files changed, 154 insertions(+) create mode 100644 devcycle/CHANGELOG.md create mode 100644 devcycle/README.md create mode 100644 devcycle/images/IMAGES_README.md create mode 100644 devcycle/manifest.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f7c4cbb479..2fabb8bea0 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -44,6 +44,7 @@ /cyral/ @tyrannosaurus-becks product@cyral.com @DataDog/ecosystems-review /data_runner/ @DataDog/apps-sdk @DataDog/ecosystems-review /datazoom/ @DataDog/web-integrations +/devcycle/ @nikolasleblanc /drata/ @jason-drata support@drata.com @DataDog/ecosystems-review /docontrol/ @lielran @DataDog/ecosystems-review /embrace_mobile/ @jpmunz @joage @DataDog/ecosystems-review diff --git a/devcycle/CHANGELOG.md b/devcycle/CHANGELOG.md new file mode 100644 index 0000000000..d01d82da24 --- /dev/null +++ b/devcycle/CHANGELOG.md @@ -0,0 +1,4 @@ +# CHANGELOG - DevCycle + +## 1.0.0 / 2023-05-16 +* [Added] Initial Release diff --git a/devcycle/README.md b/devcycle/README.md new file mode 100644 index 0000000000..f8a9b0e68f --- /dev/null +++ b/devcycle/README.md @@ -0,0 +1,72 @@ +# DevCycle integration + +## Overview + +DevCycle provides the following integrations with Datadog: + +### Feature flag tracking integration + +DevCycle's feature flag tracking integration enriches your RUM data with your feature's variable evaluations to provide visibility into performance monitoring and behavioral changes. Determine which users are shown a specific user experience and if it is negatively affecting the user's performance. + +## Setup + +### Feature flag tracking setup + +Feature flag tracking is available in the RUM Browser SDK. For detailed setup instructions, visit the [Getting started with Feature Flag data in RUM][4] guide. + +1. Update your Browser RUM SDK version 4.25.0 or above. +2. Initialize the RUM SDK and configure the `enableExperimentalFeatures` initialization parameter with `["feature_flags"]`. +3. Initialize DevCycle's SDK and subscribe to the `variableEvaluated` event, calling `addFeatureFlagEvaluation` from within the subscription callback. + +``` +// initialize the dvcClient + +const user = { user_id: "my_user" }; +const dvcOptions = { logLevel: "debug" }; +const dvcClient = initialize("", user, dvcOptions); + +// for all variable evaluations + +dvcClient.subscribe( + "variableEvaluted:*", + (key, variable) => { + datadogRum.addFeatureFlagEvaluation(key, variable.value); + } +) + +// for a particular variable's evaluations + +dvcClient.subscribe( + "variableEvaluted:my-variable-key", + (key, variable) => { + datadogRum.addFeatureFlagEvaluation(key, variable.value); + } +) +``` + +## Data Collected + +### Metrics + +The DevCycle integration does not include any metrics. + +### Events + +The DevCycle integration does not include any events. + +### Service Checks + +The DevCycle integration does not include any service checks. + +## Support + +Need help? Contact [Datadog Support][3]. + +## Further Reading + +Learn more about [DevCycle][1] and the [DataDog RUM integration][2]. + +[1]: https://devcycle.com +[2]: https://docs.devcycle.com/tools-and-integrations/datadog-rum +[3]: https://docs.datadoghq.com/help/ +[4]: https://docs.datadoghq.com/real_user_monitoring/guide/setup-feature-flag-data-collection/ \ No newline at end of file diff --git a/devcycle/images/IMAGES_README.md b/devcycle/images/IMAGES_README.md new file mode 100644 index 0000000000..f119c313ac --- /dev/null +++ b/devcycle/images/IMAGES_README.md @@ -0,0 +1,46 @@ +# Marketplace Media Carousel Guidelines + +## Using the media gallery + +To use the media gallery, you must upload a minimum of one image. The gallery +can hold a maximum of 8 pieces of media total, and one of these pieces of media +can be a video (see guidelines and submission steps below). Images should be +added to your /images directory and referenced in the manifest.json file. + + +## Image and video requirements + +### Images + +``` +File type : .jpg or .png +File size : ~500 KB per image, with a max of 1 MB per image +File dimensions : The aspect ratio must be 16:9 minimum, with these constraints: + + Width: 1440px + Min height: 810px + Max height: 2560px + +File name : Use only letters, numbers, underscores, and hyphens +Color mode : RGB +Color profile : sRGB +Description : 300 characters maximum +``` + +### Video + +To display a video in your media gallery, please send our team the zipped file +or a link to download the video at `marketplace@datadog.com`. In addition, +please upload a thumbnail image for your video as a part of the pull request. +Once approved, we will upload the file to Vimeo and provide you with the +Vimeo ID to add to your `manifest.json` file. Please note that the gallery can +only hold one video. + +``` +File type : MP4 H.264 +File size : Max 1 video; 1 GB maximum size +File dimensions : The aspect ratio must be exactly 16:9, and the resolution must be 1920x1080 or higher +File name : partnerName-appName.mp4 +Run time : Recommendation of 60 seconds or less +Description : 300 characters maximum +``` diff --git a/devcycle/manifest.json b/devcycle/manifest.json new file mode 100644 index 0000000000..fae0c94a25 --- /dev/null +++ b/devcycle/manifest.json @@ -0,0 +1,31 @@ +{ + "manifest_version": "2.0.0", + "app_uuid": "a550d328-e35d-445b-8d13-d12b2c7da5d2", + "app_id": "devcycle", + "display_on_public_website": true, + "tile": { + "overview": "README.md#Overview", + "configuration": "README.md#Setup", + "support": "README.md#Support", + "changelog": "CHANGELOG.md", + "description": "Feature Flags That Work the Way You Code", + "title": "DevCycle", + "media": [], + "classifier_tags": [ + "Category::Configuration & Deployment", + "Category::Notification", + "Offering::Integration", + "Supported OS::Linux", + "Supported OS::Windows", + "Supported OS::macOS" + ] + }, + "assets": {}, + "author": { + "support_email": "support@devcycle.com", + "name": "DevCycle", + "homepage": "https://devcycle.com", + "sales_email": "sales@devcycle.com" + }, + "oauth": {} +}