Soenneker.GitHub.Repositories.Rulesets
11.0.1722
Prefix Reserved
dotnet add package Soenneker.GitHub.Repositories.Rulesets --version 11.0.1722
NuGet\Install-Package Soenneker.GitHub.Repositories.Rulesets -Version 11.0.1722
<PackageReference Include="Soenneker.GitHub.Repositories.Rulesets" Version="11.0.1722" />
<PackageVersion Include="Soenneker.GitHub.Repositories.Rulesets" Version="11.0.1722" />
<PackageReference Include="Soenneker.GitHub.Repositories.Rulesets" />
paket add Soenneker.GitHub.Repositories.Rulesets --version 11.0.1722
#r "nuget: Soenneker.GitHub.Repositories.Rulesets, 11.0.1722"
#:package Soenneker.GitHub.Repositories.Rulesets@11.0.1722
#addin nuget:?package=Soenneker.GitHub.Repositories.Rulesets&version=11.0.1722
#tool nuget:?package=Soenneker.GitHub.Repositories.Rulesets&version=11.0.1722
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 | net11.0 is compatible. |
-
net11.0
- Newtonsoft.Json (>= 13.0.4)
- Soenneker.Extensions.HttpResponseMessage (>= 11.0.2634)
- Soenneker.Extensions.Object (>= 11.0.4427)
- Soenneker.Extensions.Task (>= 11.0.141)
- Soenneker.Extensions.ValueTask (>= 4.0.133)
- Soenneker.GitHub.Client.Http (>= 11.0.1537)
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 |
|---|---|---|
| 11.0.1722 | 98 | 10/30/2026 |
| 11.0.1721 | 83 | 10/29/2026 |
| 11.0.1720 | 51 | 10/29/2026 |
| 11.0.1719 | 52 | 10/29/2026 |
| 11.0.1718 | 241 | 10/27/2026 |
| 11.0.1717 | 97 | 10/27/2026 |
| 11.0.1716 | 72 | 10/27/2026 |
| 11.0.1715 | 48 | 10/27/2026 |
| 11.0.1714 | 80 | 10/27/2026 |
| 11.0.1713 | 43 | 10/27/2026 |
| 11.0.1712 | 70 | 10/26/2026 |
| 11.0.1711 | 87 | 10/26/2026 |
| 11.0.1710 | 84 | 10/26/2026 |
| 11.0.1709 | 87 | 10/26/2026 |
| 11.0.1708 | 198 | 10/26/2026 |
| 4.0.1705 | 159 | 10/25/2026 |
| 4.0.1704 | 512 | 10/15/2026 |
| 4.0.1703 | 94 | 10/15/2026 |
| 4.0.1702 | 102 | 10/15/2026 |
| 4.0.1701 | 131 | 10/15/2026 |
Update dependency Soenneker.GitHub.Client.Http to 11.0.1537 (#2269)