Soenneker.GitHub.Repositories.Rulesets
4.0.1668
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.GitHub.Repositories.Rulesets --version 4.0.1668
NuGet\Install-Package Soenneker.GitHub.Repositories.Rulesets -Version 4.0.1668
<PackageReference Include="Soenneker.GitHub.Repositories.Rulesets" Version="4.0.1668" />
<PackageVersion Include="Soenneker.GitHub.Repositories.Rulesets" Version="4.0.1668" />
<PackageReference Include="Soenneker.GitHub.Repositories.Rulesets" />
paket add Soenneker.GitHub.Repositories.Rulesets --version 4.0.1668
#r "nuget: Soenneker.GitHub.Repositories.Rulesets, 4.0.1668"
#:package Soenneker.GitHub.Repositories.Rulesets@4.0.1668
#addin nuget:?package=Soenneker.GitHub.Repositories.Rulesets&version=4.0.1668
#tool nuget:?package=Soenneker.GitHub.Repositories.Rulesets&version=4.0.1668
Soenneker.GitHub.Repositories.Rulesets
Create, inspect, and remove repository-level GitHub rulesets for branches, tags, or pushes.
Installation
dotnet add package Soenneker.GitHub.Repositories.Rulesets
Configuration
{
"GH": {
"Token": "github-token"
}
}
The token needs repository administration permission to create or delete rulesets.
Registration
services.AddGitHubRepositoriesRulesetsUtilAsSingleton();
Use AddGitHubRepositoriesRulesetsUtilAsScoped() for a scoped consumer.
Create a ruleset
var ruleset = new RepositoryRuleset
{
Name = "Protect main",
Target = TargetEnum.Branch,
Enforcement = EnforcementEnum.Active,
Conditions = new Conditions
{
RefName = new RefNameCondition
{
Include = ["refs/heads/main"]
}
},
Rules =
[
new Rule { Type = "deletion" },
new Rule { Type = "non_fast_forward" }
]
};
await rulesets.Add(
"soenneker",
"example-repository",
ruleset,
cancellationToken);
RepositoryRuleset maps directly to GitHub's ruleset request shape. Rule types and their Parameters must be valid for the selected target.
List or delete rulesets
List<RepositoryRuleset> existing = await rulesets.GetAll(
"soenneker",
"example-repository",
cancellationToken);
await rulesets.Delete(
"soenneker",
"example-repository",
rulesetId,
cancellationToken);
GetAll follows pagination and returns all visible repository rulesets. DeleteAll permanently removes every ruleset returned for the repository; it does not preserve or recreate their policies.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Newtonsoft.Json (>= 13.0.4)
- Soenneker.Extensions.HttpResponseMessage (>= 4.0.2557)
- Soenneker.Extensions.Object (>= 4.0.4390)
- Soenneker.Extensions.Task (>= 4.0.131)
- Soenneker.Extensions.ValueTask (>= 4.0.124)
- Soenneker.GitHub.Client.Http (>= 4.0.1495)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Soenneker.GitHub.Repositories.Rulesets:
| Package | Downloads |
|---|---|
|
Soenneker.GitHub.Repositories.Suite
Registers commonly used Soenneker GitHub repository services through one package |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.1670 | 0 | 10/1/2026 |
| 4.0.1669 | 0 | 10/1/2026 |
| 4.0.1668 | 31 | 10/1/2026 |
| 4.0.1666 | 88 | 9/30/2026 |
| 4.0.1665 | 40 | 9/30/2026 |
| 4.0.1664 | 83 | 9/29/2026 |
| 4.0.1663 | 40 | 9/29/2026 |
| 4.0.1662 | 35 | 9/29/2026 |
| 4.0.1661 | 46 | 9/29/2026 |
| 4.0.1660 | 169 | 9/28/2026 |
| 4.0.1659 | 140 | 9/26/2026 |
| 4.0.1657 | 94 | 9/26/2026 |
| 4.0.1656 | 92 | 9/26/2026 |
| 4.0.1651 | 201 | 9/24/2026 |
| 4.0.1649 | 89 | 9/24/2026 |
| 4.0.1648 | 88 | 9/24/2026 |
| 4.0.1647 | 87 | 9/24/2026 |
| 4.0.1646 | 132 | 9/24/2026 |
| 4.0.1645 | 102 | 9/24/2026 |
| 4.0.1644 | 88 | 9/24/2026 |
Update dependency Soenneker.GitHub.Client.Http to 4.0.1495 (#2200)