Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 1.79 KB

README.md

File metadata and controls

57 lines (39 loc) · 1.79 KB

Official Flipt OpenFeature Provider for Java

Flipt OpenFeature Provider can provide usage for Flipt via OpenFeature Java SDK.

Installation

<dependency>
    <groupId>dev.openfeature.contrib.providers</groupId>
    <artifactId>flipt</artifactId>
    <version>0.1.0</version>
</dependency>

Concepts

  • Boolean evaluation gets feature boolean evaluation / enabled status.
  • Non-boolean evaluation gets feature variant key.

Usage

Flipt OpenFeature Provider uses Flipt's Server Java SDK.

Usage Example

// create a Flipt client and provider
FliptClientBuilder fliptClientBuilder = FliptClient.builder().url(apiUrl);
FliptProviderConfig fliptProviderConfig = FliptProviderConfig.builder()
        .fliptClientBuilder(fliptClientBuilder)
        .build();

// create OpenFeature provider
FeatureProvider fliptProvider = new FliptProvider(fliptProviderConfig);
OpenFeatureAPI.getInstance().setProviderAndWait("sync", fliptProvider);
client = OpenFeatureAPI.getInstance().getClient("sync");

MutableContext evaluationContext = new MutableContext();
evaluationContext.setTargetingKey(FLAG_NAME + "_targeting_key");
featureEnabled = client.getBooleanValue(FLAG_NAME, false, evaluationContext);
variant = client.getStringValue(VARIANT_FLAG_NAME, "", evaluationContext);

See FliptProviderTest.java for more information.

Additional Usage Details

  • Additional evaluation data can be received via flag metadata, such as:
    • variant-attachment - string

Flipt Provider Tests Strategies

Unit test based on WireMock for API mocking.