Skip to content

Latest commit

 

History

History

flipt

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

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.1</version>
</dependency>

Concepts

  • Boolean evaluation gets feature boolean evaluation / enabled status.
  • Object evaluation gets variant attachment.
  • Other evaluations 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.