SeliseBlocks.ReleaseDriver.OS 4.0.5

dotnet add package SeliseBlocks.ReleaseDriver.OS --version 4.0.5
                    
NuGet\Install-Package SeliseBlocks.ReleaseDriver.OS -Version 4.0.5
                    
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="SeliseBlocks.ReleaseDriver.OS" Version="4.0.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SeliseBlocks.ReleaseDriver.OS" Version="4.0.5" />
                    
Directory.Packages.props
<PackageReference Include="SeliseBlocks.ReleaseDriver.OS" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SeliseBlocks.ReleaseDriver.OS --version 4.0.5
                    
#r "nuget: SeliseBlocks.ReleaseDriver.OS, 4.0.5"
                    
#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.
#:package SeliseBlocks.ReleaseDriver.OS@4.0.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SeliseBlocks.ReleaseDriver.OS&version=4.0.5
                    
Install as a Cake Addin
#tool nuget:?package=SeliseBlocks.ReleaseDriver.OS&version=4.0.5
                    
Install as a Cake Tool

SeliseBlocks.ReleaseDriver.OS

A NuGet package that exposes release and repository management operations for Blocks-based applications.

Installation

dotnet add package SeliseBlocks.ReleaseDriver.OS

Registration

Secrets are loaded from the vault, then the domain services and the driver are registered:

await builder.Services.RegisterBlocksReleaseServicesAsync();

// or, to read from a non-Azure vault (defaults to VaultType.Azure)
await builder.Services.RegisterBlocksReleaseServicesAsync(VaultType.OnPrem);

Usage

Inject IReleaseDriverService and call any of the available methods:

public class MyService
{
    private readonly IReleaseDriverService _release;

    public MyService(IReleaseDriverService release)
    {
        _release = release;
    }
}

Available Operations

Method Description
IsAuthorizeAsync() Checks whether the current user has a valid access token
GetAccessTokenAsync(code) Exchanges an OAuth authorization code for an access token
RemoveAuthorizationAsync() Revokes the current user's OAuth access from the provider
DeleteAuthorizationAsync() Deletes the stored access token for the current user
GetReposListAsync() Retrieves the repository list; archived repositories are excluded
GetRepoDetailsAsync(repoId, branch, pageNumber, pageSize) Retrieves a repository with its paged build history
GetReportsAsync(buildId, type) Retrieves test and analysis reports produced by a build
GetUserAsync() Retrieves the authenticated GitHub user
SearchRepositoriesAsync(search, pageNumber, pageSize) Searches the authenticated user's GitHub repositories
GetBranchesAsync(repo) Retrieves the branches for the specified GitHub repository
GithubBranchExistsAsync(repoId) Checks whether the configured branch exists for the given repository
UpdateRepoDomainAsync(request) Updates the custom deployment domains for the given repositories

Migrating from 4.x

4.x shipped these types under the DeploymentDriver name. 5.0.0 renames them to match the package id. The rename is the only change — every method behaves exactly as it did in 4.x.

4.x 5.0.0
namespace DeploymentDriver namespace ReleaseDriver
IDeploymentDriverService IReleaseDriverService
DeploymentDriverService ReleaseDriverService
RegisterBlocksDeploymentServicesAsync() RegisterBlocksReleaseServicesAsync()
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
4.0.5 555 10/22/2026
4.0.4 461 10/13/2026
4.0.3 704 9/29/2026
4.0.2 811 9/27/2026
4.0.1 1,710 8/13/2026
4.0.0 2,742 7/29/2026

Requires SeliseBlocks.Genesis.OS 4.3.11 or later. The release entity classes (Repo, Build, RepositoryWebhook, DependencyTrackProjects, HostingProvider, Region, MachineConfig, DeploySettings, BuildEventResponse, GithubWebhook, Config, RepoProject) now come from Genesis in Blocks.Genesis.Entities.Release; the copies in the bundled Devops.DomainService assembly are removed, so a host that used them must switch to the Genesis namespace. Stored documents keep the same collections and field names. Reads and writes of Repos, Builds and RepositoryWebhooks go through the Genesis data access resolver (row filter, projection, View column rules, Repo schema validation rules and defaults, and on insert the requester added to Read, Update and Delete UserIds); it is skipped without a signed-in user or when the call targets another tenant's database, and a refusing rule surfaces as DataValidationException. RegisterBlocksReleaseServicesAsync now calls AddBlocksDataAccess(), which is not idempotent: a host that also calls it gets the registrations twice (the last one wins; both use the default options). The Dependency-Track project mapping is kept in the Genesis key-value store under dependency-track-project:{tenantId}, falling back to the old DependencyTrackProjects collection on read, so the host must provide IKeyValueStore (ApplicationConfigurations.ConfigureServices registers it). Built-in notifications are sent for build, deployment, repo secret and GitHub events. Switching a repository between Manual and Auto now saves the GitHub webhook's active state and reports whether the switch succeeded; existing repositories are corrected on their next switch.