PiBox.Plugins.Management.Unleash
1.0.73
dotnet add package PiBox.Plugins.Management.Unleash --version 1.0.73
NuGet\Install-Package PiBox.Plugins.Management.Unleash -Version 1.0.73
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PiBox.Plugins.Management.Unleash" Version="1.0.73" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PiBox.Plugins.Management.Unleash --version 1.0.73
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PiBox.Plugins.Management.Unleash, 1.0.73"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PiBox.Plugins.Management.Unleash as a Cake Addin #addin nuget:?package=PiBox.Plugins.Management.Unleash&version=1.0.73 // Install PiBox.Plugins.Management.Unleash as a Cake Tool #tool nuget:?package=PiBox.Plugins.Management.Unleash&version=1.0.73
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PiBox.Plugins.Management.Unleash
PiBox.Plugins.Management.Unleash is a plugin
that allows to use feature flags
to enable CI/CD with control when and how are features enabled
.
Installation
To install the nuget package follow these steps:
dotnet add package PiBox.Plugins.Management.Unleash
or add as package reference to your .csproj
<PackageReference Include="PiBox.Plugins.Management.Unleash" Version="" />
This plugin uses
- https://github.com/microsoft/FeatureManagement-Dotnet (feature flags abstraction)
- https://github.com/Unleash/unleash-client-dotnet (client sdk)
- https://github.com/Unleash/unleash (server)
Configuration
unleash:
appName: "my-fancy-app"
apiUri: "http://localhost:4242/api/"
apiToken: "[create-in-local-instance-web-ui]"
projectId: "default" //in free/opensource mode there is just one project, always the same
instanceTag: "my-fancy-backup2"
environment: "development"
Usage
Feature flag checks
public class ExampleService
{
private readonly IFeatureManager _featureManager;
public ExampleService(IFeatureManager featureManager)
{
_featureManager = featureManager;
}
public void CheckFeatureFlag()
{
var isEnabled= await featureManager.IsEnabledAsync("myFeatureFlag");
}
public void CheckFeatureFlagWithActivatedContextualUserIdFilter()
{
var isEnabled = await featureManager.IsEnabledAsync("hello", new UserIdContext(){UserId = "id1"});
}
}
Controller & Actions
[ApiController, Route("test")]
[FeatureGate("my-feature-flag-for-a-whole-controller")]
public class TestController : ControllerBase
{
[HttpGet]
[FeatureGate("my-feature-flag-for-get-action")]
public IActionResult Index()
{
return View();
}
[HttpPost]
[FeatureGate("my-feature-flag-for-post-action")]
public IActionResult Create()
{
return View();
}
}
MVC Views
@addTagHelper *, Microsoft.FeatureManagement.AspNetCore
<feature name="FeatureA">
<p>This can only be seen if 'FeatureA' is enabled.</p>
</feature>
MVC Filters
using Microsoft.FeatureManagement.FeatureFilters;
IConfiguration Configuration { get; set;}
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options => {
options.Filters.AddForFeature<ThirdPartyActionFilter>(MyFeatureFlags.FeatureA);
});
}
Middleware
app.UseMiddlewareForFeature<ThirdPartyMiddleware>(MyFeatureFlags.FeatureA);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- AspNetCore.HealthChecks.Uris (>= 8.0.0)
- Microsoft.FeatureManagement.AspNetCore (>= 3.1.1)
- PiBox.Hosting.Abstractions (>= 1.0.73)
- Unleash.Client (>= 4.1.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.73 | 67 | 10/22/2024 |
1.0.66 | 81 | 10/15/2024 |
1.0.64 | 81 | 10/14/2024 |
1.0.61 | 82 | 10/1/2024 |
1.0.60 | 86 | 9/27/2024 |
1.0.54 | 124 | 4/30/2024 |
1.0.51 | 133 | 2/27/2024 |
1.0.49 | 108 | 2/27/2024 |
1.0.47 | 123 | 2/21/2024 |
1.0.45 | 114 | 2/20/2024 |
1.0.43 | 105 | 2/13/2024 |
1.0.41 | 103 | 2/13/2024 |
1.0.39 | 110 | 2/8/2024 |
1.0.38 | 86 | 2/8/2024 |
1.0.37 | 101 | 2/8/2024 |
1.0.35 | 104 | 2/2/2024 |
1.0.32 | 107 | 1/30/2024 |
1.0.25 | 178 | 12/27/2023 |
1.0.23 | 134 | 12/19/2023 |
1.0.22 | 102 | 12/19/2023 |
1.0.21 | 107 | 12/19/2023 |
1.0.19 | 114 | 12/11/2023 |
1.0.17 | 152 | 11/23/2023 |
1.0.7 | 114 | 11/23/2023 |
1.0.5 | 127 | 11/23/2023 |
1.0.3 | 116 | 11/23/2023 |
1.0.0 | 102 | 11/21/2023 |
0.9.9 | 108 | 11/21/2023 |
0.9.7 | 111 | 11/21/2023 |