Skip to main content

Integration

How to integrate Nimbus (Cirrus) into your web application.

Introduction​

This guide outlines the high level steps and considerations for integrating Nimbus (Cirrus) into your web application. More detailed steps are available in the checklist

Integration Steps​

To integrate Nimbus (Cirrus) with your web application, these are high-level steps, you can find more detailed version in the checklist:

  1. Glean
  • Integrate Glean on your web application.
  1. FML
  • Make Feature Manifest Language (FML) configuration available in your repository, for example:
    about:
    description: Nimbus Feature Manifest for Experimenter Web testing
    channels:
    - developer
    - staging
    - production
    features:
    example-feature:
    description: An example feature.
    variables:
    emoji:
    description: An emoji to show for this treatment.
    type: Option<String>
    default: ❤️
    enabled:
    description: If the feature is enabled.
    type: Boolean
    default: false
    defaults:
    - channel: developer
    value: { "enabled": false }
    - channel: staging
    value: { "enabled": false }
    - channel: production
    value: { "enabled": false }
  1. Wait for Nimbus team to deploy your Cirrus Servers
  • The Nimbus team will give you URLs to use for calling Cirrus in stage and prod.
  1. Call Cirrus Server
  • Pass a unique client id and context when calling the service to receive the features. The client id can be a temporary or stable id depending on your use case. Any stable id must be included in the application's glean data deletion requests. Refer to API docs for more details.
    {
    "client_id": "4a1d71ab-29a2-4c5f-9e1d-9d9df2e6e449",
    "context": {
    "key1": "value1",
    "key2": {
    "key2.1": "value2",
    "key2.2": "value3"
    }
    }
    }
  1. Validation and Testing
  • Validate setup and test the integration thoroughly.
  1. Experiment Analysis
  • Run an A/A experiment and confirm that Cirrus telemetry can be correlated to application telemetry for analysis.
  1. Additional Considerations
  • Provide training resources for experiment owners and reviewers.

Additional Notes​

For any questions or assistance, reach out to the Nimbus team on Slack channel #ask-experimenter.