Nutstone.GitHub.Service.Provider 1.1.11

dotnet add package Nutstone.GitHub.Service.Provider --version 1.1.11
                    
NuGet\Install-Package Nutstone.GitHub.Service.Provider -Version 1.1.11
                    
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="Nutstone.GitHub.Service.Provider" Version="1.1.11" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nutstone.GitHub.Service.Provider" Version="1.1.11" />
                    
Directory.Packages.props
<PackageReference Include="Nutstone.GitHub.Service.Provider" />
                    
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 Nutstone.GitHub.Service.Provider --version 1.1.11
                    
#r "nuget: Nutstone.GitHub.Service.Provider, 1.1.11"
                    
#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.
#addin nuget:?package=Nutstone.GitHub.Service.Provider&version=1.1.11
                    
Install as a Cake Addin
#tool nuget:?package=Nutstone.GitHub.Service.Provider&version=1.1.11
                    
Install as a Cake Tool

GitHub.Service.Provider

Provides a library of methods to interact with local and remote git repositories. It uses the GTIHUB http api for remote repositories and LIB2GITSHARP for local repositories

It supports win-x64 and ubuntu 2.X

written in c# .net 8.0 (C) David Nuttall

Authentication

To access GITHUB methods it expects a GITHUB PAT token to be supplied (which is normally held in a local USER environmentvariable which , by default, is called 'GitToken'). OAuth is not currently supported

Usage

Virtualually all methods require a GitRequest object to be passed in as a parameter an example of which is :-

    gitRequest = GitRequest.Create()
                           .WithRepositoryName("remote repository name") // used for both remote and local repo names
                           .WithTokenFromEnvironmentVariable() // uses 'GitToken' en var by default 
                           .WithUser(testOwner) // or WithOrganisation 
                           .WithLocalRepositoryPath("root path to the local repository");
    
    var repoList = await GetRepositoryListAsync(gitRequest, (err, httpError) => {//do something}, (m) => {//verbose msg handler});                        

The library supports dependency injection and a static ServiceProvider method is supplied for registration.

      var serviceCollection = new ServiceCollection()
                                      .RegisterGitHub() // register github
                                      .yourregistrations

Class VisualStudioService (IVisualStudioService)

Manipuates visual studio csproj files c# only

Category Visual Studio

Method Description
GetInstalledTools Returns a DotNetToolLocalCollection. A collection of dot net tools installed in the local user store
InstallDotnetTool Installs the given packid as a dot net tool to the local user store
GetTools Gets a DotNetToolCollection. of nuget dotnet tools with an optional Filter
GetProject Returns VisualStudioProjectCollection. A collection of visual studio projects
GetProjectGroupByName Gets the type associated with a group name
GetAvailableGroups Gets a list of labels associated with a projectgroup
UninstallDotNetTool Uninstalls the given package from the dot net tool local tool store
GetProjectsFromDocument Returns VisualStudioProjectCollection. A collection of visual studio projects from a .csproj

GetInstalledTools

Returns a DotNetToolLocalCollection. A collection of dot net tools installed in the local user store

Returns DotNetToolLocalCollection

var DotNetToolLocalCollectionResult = GetInstalledTools(msgHandler);

** Parameters **

msgHandler

Type: [Action<IEnumerable`1>] Default: Not Applicable


InstallDotnetTool

Installs the given packid as a dot net tool to the local user store

Returns Int32

var Int32Result = InstallDotnetTool(packageId, msgHandler);

** Parameters **

packageId

Type: [String] Default: Not Applicable

msgHandler

Type: [Action<IEnumerable`1>] Default: Not Applicable


GetTools

Gets a DotNetToolCollection. of nuget dotnet tools with an optional Filter

Returns DotNetToolCollection

var DotNetToolCollectionResult = GetTools(filter);

** Parameters **

filter

Type: [String?] Default:


GetProject

Returns VisualStudioProjectCollection. A collection of visual studio projects

Returns VisualStudioProjectCollection

var VisualStudioProjectCollectionResult = GetProject(projectPath);

** Parameters **

projectPath

Type: [String] Default: Not Applicable


GetProjectGroupByName

Gets the type associated with a group name

Returns Type

var TypeResult = GetProjectGroupByName(name);

** Parameters **

name

Type: [String] Default: Not Applicable


GetAvailableGroups

Gets a list of labels associated with a projectgroup

Returns IEnumerable`1

var IEnumerable`1Result = GetAvailableGroups();

** Parameters **


UninstallDotNetTool

Uninstalls the given package from the dot net tool local tool store

Returns Int32

var Int32Result = UninstallDotNetTool(packageId, msgHandler);

** Parameters **

packageId

Type: [String] Default: Not Applicable

msgHandler

Type: [Action<IEnumerable`1>] Default: Not Applicable


GetProjectsFromDocument

Returns VisualStudioProjectCollection. A collection of visual studio projects from a .csproj

Returns VisualStudioProjectCollection

var VisualStudioProjectCollectionResult = GetProjectsFromDocument(document, projectPath);

** Parameters **

document

Type: [XDocument] Default: Not Applicable

projectPath

Type: [String] Default: Not Applicable


Class GitClient (IGitClient)

Single entry point to GitHub and Local Git operations

Category GitHub

Method Description
GetRepositoryList Returns a list of Repositories GitRepositoryListCollection
GetRepositoryListAsync Returns a list of Repositories GitRepositoryListCollection
GetGitRepositoryInfoAsync Returns a GitRepositoryInfo object of the specified repository
GetGitRepositoryInfo Returns a GitRepositoryInfo object of the specified repository
CreatePullRequestAsync Creates a remote repository Pull request and returns GitPullResponse object of the result
CreatePullRequest Creates a remote repository Pull request and returns GitPullResponse object of the result
GetPullRequestsAsync Returns a collection GitPullRequestCollection of pull requests for the given repository
GetPullRequests Returns a collection GitPullRequestCollection of pull requests for the given repository
AuthorisePullRequestAsync Authorises a remote pull request using the given GitAuthorisePullRequest and returns a GitAuthorisePullResponse
AuthorisePullRequest Authorises a remote pull request using the given GitAuthorisePullRequest and returns a GitAuthorisePullResponse
MergePullRequestAsync Merges pull request changes (that has been authorised) into the target origin branch and returns a GitMergeResponse
MergePullRequest Merges pull request changes (that has been authorised) into the target origin branch and returns a GitMergeResponse
CreateReleaseAsync Creates a github release using the given GitRelease and returns a GitReleaseResponse object
CreateRelease Creates a github release using the given GitRelease and returns a GitReleaseResponse object
AddAssetToReleaseAsync Adds a asset to an existing release using the given release id and returns a GitAssetResponse
AddAssetToRelease Adds a asset to an existing release using the given release id and returns a GitAssetResponse
GetReleaseCollectionAsync Returns a GitReleaseCollection if releases for the specified remote repository
GetLatestReleaseAsync Returns a GitReleaseItem object of the latest release of the specified remote repository
GetReleaseCollection Returns a GitReleaseCollection if releases for the specified remote repository
GetLatestRelease Returns a GitReleaseItem object of the latest release of the specified remote repository
DeleteReleaseAsync Permanently deletes a release from a remote repository
DeleteRelease Permanently deletes a release from a remote repository
DowloadReleaseAsync Downloads the content of a release locally using the given GitDownloadReleaseRequest object and returns a GitDownloadReleaseResponse object
DowloadRelease Downloads the content of a release locally using the given GitDownloadReleaseRequest object and returns a GitDownloadReleaseResponse object
TestConnectionAsync Tests the given GitRequest to ensure it is a valid connection
TestConnection Tests the given GitRequest to ensure it is a valid connection
GetWorkFlowsAsync Returns a GitWorkFlowCollection object of current defined workflows (Actions) of the specified remote repository
GetWorkFlows Returns a GitWorkFlowCollection object of current defined workflows (Actions) of the specified remote repository
GetRepositoryInfoAsync Returns a GitRepositoryInfo object of the specified remote repository
GetWorkFlowYamlAsync Returns a GitFileContent object of the specified workflow path
GetWorkFlowYaml Returns a GitFileContent object of the specified workflow path
GetGitWorkFlowByNameAsync Returns a GitWorkFlow object from the given workflow name
GetGitWorkFlowByName Returns a GitWorkFlow object from the given workflow name
GetRepositoryInfo Returns a GitRepositoryInfo object of the specified remote repository
RunWorkFlowAsync Runs the specified workflow/action using the given GitWorkFlowRequest and returns a GitWorkFlowResponse object
RunWorkFlow Runs the specified workflow/action using the given GitWorkFlowRequest and returns a GitWorkFlowResponse object
GetWorkFlowRunLogsAsBytesAsync Returns a Workflow log as a byte[] stream
GetWorkFlowRunLogsAsBytes Returns a Workflow log as a byte[] stream
GetWorkFlowRunLogsAsync Downloads the logs from a workflow using the given GitWorkFlowResponse object and to the directory speficied in the targetDirectory parameter
GetWorkFlowRunLogs Downloads the logs from a workflow using the given GitWorkFlowResponse object and to the directory speficied in the targetDirectory parameter
GetWorkFlowRunsAsync Returns a GitWorkFlowRunsResponseCollection object collection using the given workflowId id
PollWorkFlowAsync Returns a GitWorkFlowResponse object of the current state of a workflow using the given workFlowId
GetWorkFlowRuns Returns a GitWorkFlowRunsResponseCollection object collection of workflow runs
PollWorkFlow Returns a GitWorkFlowResponse object of the current state of a workflow using the given workFlowId
CreateRespositoryAsync Creates a remote repository using the given GitRepositoryRequest object and returns a GitRepositoryResponse response object
CreateRespository Creates a remote repository using the given GitRepositoryRequest object and returns a GitRepositoryResponse response object
DeleteRepositoryAsync Deletes a Remote repository using the GitRequest object and returns a GitDeleteRepositoryResponse object
DeleteRepository Deletes a Remote repository using the GitRequest object and returns a GitDeleteRepositoryResponse object
MergeRemoteAsync Merges a remote branch into a remote origin using the given GitMergeRemoteRequest object and returns a GitMergeRemoteResponse object
MergeRemote Merges a remote branch into a remote origin using the given GitMergeRemoteRequest object and returns a GitMergeRemoteResponse object
ConfigureBranchProtectionAsync Configures a remote repository branch protection using the given GitBranchProtectionRequest object and returns a GitBranchProtectionResult object
ConfigureBranchProtection Configures a remote repository branch protection using the given GitBranchProtectionRequest object and returns a GitBranchProtectionResult object
GetPullRequestAsync Returns a GitPullRequestDetail object for the given pull request pull number
GetPullRequest Returns a GitPullRequestDetail object for the given pull request pull number
GetWorkFlowJobsAsync Returns a YamlJobsCollection object collection of the given workflow name
GetWorkFlowJobs Returns a YamlJobsCollection object collection of the given workflow name
GetUserInformationAsync Returns a GitUserInformation object containing information about the user who owns the repository
GetUserInformation Returns a GitUserInformation object containing information about the user who owns the repository

Category Local Git

Method Description
Clone Clones a remote repository
CreateBranch Creates a new branch
Pull Pulls latest from remote and returns [MergeStatus]
CreateTag Creates a tag
GetCommitsAsync Returns a list of commits GitCommitCollection
GetCommits Returns a list of commits GitCommitCollection
GetLatestCommitAsync Returns the last commit
GetLatestCommit Returns the last commit
IsLocalRepoLatestCommitAsync Compares the local last connit with the remote
CheckoutBranch Checks out a branch. If the branch does not exist - it is created
IsLocalRepoLatestCommit Compares the local last connit with the remote
GetRepo If the specified local repository specified in GitRequest does not exist it is cloned. If it exists the current branch is checked
AddFileToLocalRepo Add's the specified file to the local repository
GetLocalSemanticTags Returns a SemanticVersionCollection object of the specified local git repository (A list of tags)
Commit Commits current changes to the local git repository
CommitWithTag Commits current changes to the local git repository and adds a Tag to that commit with the given tag name
CommitWithNextSemanticTag Commits current changes spcified in GitRequest to the local git repository with the next version of the semantic tag. Essentially incrementing the current tag value
Push Pushed any commited changes to the remote repository
GetLocalBranches Returns a LocalBranchCollection collection of all local and remote branches
DeleteLocalBranch Deletes a local branch
GetTags Returns a GitTagCollection object of all tags defined in the repository
GetCurrentBranch Returns a [String] representing the current branch of a local repository
GetOriginBranch Returns a [string] that represents the current origin branch of the given local repository
DeleteLocalRepository Deletes a local repository using the given GitRequest object and returns a GitDeleteRepositoryResponse object
HaveUncommitedChanges Returns a [bool] indicating whether there are outstanding changes for the given local repository
UndoChanges Removes any uncommited chages for a local repository
RemoteBranchExists Returns a [bool] indicating if the remote branch specified exists
RemoveTag Removes the given tag locally and remotely
IsGitRepo Returns a [bool] indication as to whether the supplied source path is a local git repository

GetRepositoryList

Returns a list of Repositories GitRepositoryListCollection

Returns GitRepositoryListCollection

var GitRepositoryListCollectionResult = GetRepositoryList(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetRepositoryListAsync

Returns a list of Repositories GitRepositoryListCollection

Returns GitRepositoryListCollection

var GitRepositoryListCollectionResult = await GetRepositoryListAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetGitRepositoryInfoAsync

Returns a GitRepositoryInfo object of the specified repository

Returns GitRepositoryInfo

var GitRepositoryInfoResult = await GetGitRepositoryInfoAsync(request, errorResponse, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetGitRepositoryInfo

Returns a GitRepositoryInfo object of the specified repository

Returns GitRepositoryInfo

var GitRepositoryInfoResult = GetGitRepositoryInfo(request, errorResponse, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CreatePullRequestAsync

Creates a remote repository Pull request and returns GitPullResponse object of the result

Returns GitPullResponse

var GitPullResponseResult = await CreatePullRequestAsync(gitRequest, gitPullRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitPullRequest

Type: GitPullRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CreatePullRequest

Creates a remote repository Pull request and returns GitPullResponse object of the result

Returns GitPullResponse

var GitPullResponseResult = CreatePullRequest(gitRequest, gitPullRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitPullRequest

Type: GitPullRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetPullRequestsAsync

Returns a collection GitPullRequestCollection of pull requests for the given repository

Returns GitPullRequestCollection

var GitPullRequestCollectionResult = await GetPullRequestsAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetPullRequests

Returns a collection GitPullRequestCollection of pull requests for the given repository

Returns GitPullRequestCollection

var GitPullRequestCollectionResult = GetPullRequests(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


AuthorisePullRequestAsync

Authorises a remote pull request using the given GitAuthorisePullRequest and returns a GitAuthorisePullResponse

Returns GitAuthorisePullResponse

var GitAuthorisePullResponseResult = await AuthorisePullRequestAsync(gitRequest, gitAuthorisePullRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitAuthorisePullRequest

Type: GitAuthorisePullRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


AuthorisePullRequest

Authorises a remote pull request using the given GitAuthorisePullRequest and returns a GitAuthorisePullResponse

Returns GitAuthorisePullResponse

var GitAuthorisePullResponseResult = AuthorisePullRequest(gitRequest, gitAuthorisePullRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitAuthorisePullRequest

Type: GitAuthorisePullRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


MergePullRequestAsync

Merges pull request changes (that has been authorised) into the target origin branch and returns a GitMergeResponse

Returns GitMergeResponse

var GitMergeResponseResult = await MergePullRequestAsync(gitRequest, comment, pullRequestNumber, errorResponse, msgHandler, deleteBranchOnSuccess);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

comment

Type: [String] Default: Not Applicable

pullRequestNumber

Type: [Int64] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:

deleteBranchOnSuccess

Type: [Boolean] Default: True


MergePullRequest

Merges pull request changes (that has been authorised) into the target origin branch and returns a GitMergeResponse

Returns GitMergeResponse

var GitMergeResponseResult = MergePullRequest(gitRequest, comment, pullRequestNumber, errorResponse, msgHandler, deleteBranchOnSuccess);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

comment

Type: [String] Default: Not Applicable

pullRequestNumber

Type: [Int32] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:

deleteBranchOnSuccess

Type: [Boolean] Default: True


CreateReleaseAsync

Creates a github release using the given GitRelease and returns a GitReleaseResponse object

Returns GitReleaseResponse

var GitReleaseResponseResult = await CreateReleaseAsync(gitRequest, release, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

release

Type: GitRelease Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CreateRelease

Creates a github release using the given GitRelease and returns a GitReleaseResponse object

Returns GitReleaseResponse

var GitReleaseResponseResult = CreateRelease(gitRequest, release, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

release

Type: GitRelease Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


AddAssetToReleaseAsync

Adds a asset to an existing release using the given release id and returns a GitAssetResponse

Returns List`1

var List`1Result = await AddAssetToReleaseAsync(gitRequest, assets, releaseId, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

assets

Type: [List<String>] Default: Not Applicable

releaseId

Type: [Int32] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


AddAssetToRelease

Adds a asset to an existing release using the given release id and returns a GitAssetResponse

Returns List`1

var List`1Result = AddAssetToRelease(gitRequest, assets, releaseId, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

assets

Type: [List<String>] Default: Not Applicable

releaseId

Type: [Int32] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetReleaseCollectionAsync

Returns a GitReleaseCollection if releases for the specified remote repository

Returns GitReleaseCollection

var GitReleaseCollectionResult = await GetReleaseCollectionAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetLatestReleaseAsync

Returns a GitReleaseItem object of the latest release of the specified remote repository

Returns GitReleaseItem

var GitReleaseItemResult = await GetLatestReleaseAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetReleaseCollection

Returns a GitReleaseCollection if releases for the specified remote repository

Returns GitReleaseCollection

var GitReleaseCollectionResult = GetReleaseCollection(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetLatestRelease

Returns a GitReleaseItem object of the latest release of the specified remote repository

Returns GitReleaseItem

var GitReleaseItemResult = GetLatestRelease(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


DeleteReleaseAsync

Permanently deletes a release from a remote repository

Returns Boolean

var BooleanResult = await DeleteReleaseAsync(gitRequest, releaseId);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

releaseId

Type: [Int32] Default: Not Applicable


DeleteRelease

Permanently deletes a release from a remote repository

Returns Boolean

var BooleanResult = DeleteRelease(gitRequest, releaseId);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

releaseId

Type: [Int32] Default: Not Applicable


DowloadReleaseAsync

Downloads the content of a release locally using the given GitDownloadReleaseRequest object and returns a GitDownloadReleaseResponse object

Returns GitDownloadReleaseResponse

var GitDownloadReleaseResponseResult = await DowloadReleaseAsync(gitRequest, downloadRelease, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

downloadRelease

Type: GitDownloadReleaseRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


DowloadRelease

Downloads the content of a release locally using the given GitDownloadReleaseRequest object and returns a GitDownloadReleaseResponse object

Returns GitDownloadReleaseResponse

var GitDownloadReleaseResponseResult = DowloadRelease(gitRequest, downloadRelease, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

downloadRelease

Type: GitDownloadReleaseRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


TestConnectionAsync

Tests the given GitRequest to ensure it is a valid connection

Returns Boolean

var BooleanResult = await TestConnectionAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


TestConnection

Tests the given GitRequest to ensure it is a valid connection

Returns Boolean

var BooleanResult = TestConnection(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowsAsync

Returns a GitWorkFlowCollection object of current defined workflows (Actions) of the specified remote repository

Returns GitWorkFlowCollection

var GitWorkFlowCollectionResult = await GetWorkFlowsAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlows

Returns a GitWorkFlowCollection object of current defined workflows (Actions) of the specified remote repository

Returns GitWorkFlowCollection

var GitWorkFlowCollectionResult = GetWorkFlows(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetRepositoryInfoAsync

Returns a GitRepositoryInfo object of the specified remote repository

Returns GitRepositoryInfo

var GitRepositoryInfoResult = await GetRepositoryInfoAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowYamlAsync

Returns a GitFileContent object of the specified workflow path

Returns GitFileContent

var GitFileContentResult = await GetWorkFlowYamlAsync(gitRequest, workFlowYamlPath, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workFlowYamlPath

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowYaml

Returns a GitFileContent object of the specified workflow path

Returns GitFileContent

var GitFileContentResult = GetWorkFlowYaml(gitRequest, workFlowYamlPath, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workFlowYamlPath

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetGitWorkFlowByNameAsync

Returns a GitWorkFlow object from the given workflow name

Returns GitWorkFlow

var GitWorkFlowResult = await GetGitWorkFlowByNameAsync(gitRequest, workFlowName, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workFlowName

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetGitWorkFlowByName

Returns a GitWorkFlow object from the given workflow name

Returns GitWorkFlow

var GitWorkFlowResult = GetGitWorkFlowByName(gitRequest, workFlowName, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workFlowName

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetRepositoryInfo

Returns a GitRepositoryInfo object of the specified remote repository

Returns GitRepositoryInfo

var GitRepositoryInfoResult = GetRepositoryInfo(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


RunWorkFlowAsync

Runs the specified workflow/action using the given GitWorkFlowRequest and returns a GitWorkFlowResponse object

Returns GitWorkFlowResponse

var GitWorkFlowResponseResult = await RunWorkFlowAsync(gitRequest, gitWorkFlowRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitWorkFlowRequest

Type: GitWorkFlowRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


RunWorkFlow

Runs the specified workflow/action using the given GitWorkFlowRequest and returns a GitWorkFlowResponse object

Returns GitWorkFlowResponse

var GitWorkFlowResponseResult = RunWorkFlow(gitRequest, gitWorkFlowRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitWorkFlowRequest

Type: GitWorkFlowRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowRunLogsAsBytesAsync

Returns a Workflow log as a byte[] stream

Returns Byte[]

var Byte[]Result = await GetWorkFlowRunLogsAsBytesAsync(gitRequest, runId, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

runId

Type: [Int64] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowRunLogsAsBytes

Returns a Workflow log as a byte[] stream

Returns Byte[]

var Byte[]Result = GetWorkFlowRunLogsAsBytes(gitRequest, runId, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

runId

Type: [Int64] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowRunLogsAsync

Downloads the logs from a workflow using the given GitWorkFlowResponse object and to the directory speficied in the targetDirectory parameter

Returns String

var StringResult = await GetWorkFlowRunLogsAsync(gitRequest, workflowResponse, targetDirectory, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workflowResponse

Type: GitWorkFlowResponse Default: Not Applicable

targetDirectory

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowRunLogs

Downloads the logs from a workflow using the given GitWorkFlowResponse object and to the directory speficied in the targetDirectory parameter

Returns String

var StringResult = GetWorkFlowRunLogs(gitRequest, workflowResponse, targetDirectory, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workflowResponse

Type: GitWorkFlowResponse Default: Not Applicable

targetDirectory

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowRunsAsync

Returns a GitWorkFlowRunsResponseCollection object collection using the given workflowId id

Returns GitWorkFlowRunsResponseCollection

var GitWorkFlowRunsResponseCollectionResult = await GetWorkFlowRunsAsync(gitRequest, workflowId, dispatched, count, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workflowId

Type: [Int64] Default: Not Applicable

dispatched

Type: [Nullable<DateTime>?] Default: Not Applicable

count

Type: [Int32] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


PollWorkFlowAsync

Returns a GitWorkFlowResponse object of the current state of a workflow using the given workFlowId

Returns GitWorkFlowResponse

var GitWorkFlowResponseResult = await PollWorkFlowAsync(gitRequest, workFlowId, gitWorkFlowRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workFlowId

Type: [Int64] Default: Not Applicable

gitWorkFlowRequest

Type: GitWorkFlowRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowRuns

Returns a GitWorkFlowRunsResponseCollection object collection of workflow runs

Returns GitWorkFlowRunsResponseCollection

var GitWorkFlowRunsResponseCollectionResult = GetWorkFlowRuns(gitRequest, workflowId, dispatched, count, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workflowId

Type: [Int64] Default: Not Applicable

dispatched

Type: [Nullable<DateTime>?] Default: Not Applicable

count

Type: [Int32] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


PollWorkFlow

Returns a GitWorkFlowResponse object of the current state of a workflow using the given workFlowId

Returns GitWorkFlowResponse

var GitWorkFlowResponseResult = PollWorkFlow(gitRequest, workFlowId, gitWorkFlowRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workFlowId

Type: [Int64] Default: Not Applicable

gitWorkFlowRequest

Type: GitWorkFlowRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CreateRespositoryAsync

Creates a remote repository using the given GitRepositoryRequest object and returns a GitRepositoryResponse response object

Returns GitRepositoryResponse

var GitRepositoryResponseResult = await CreateRespositoryAsync(gitRequest, gitRepositoryRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitRepositoryRequest

Type: GitRepositoryRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CreateRespository

Creates a remote repository using the given GitRepositoryRequest object and returns a GitRepositoryResponse response object

Returns GitRepositoryResponse

var GitRepositoryResponseResult = CreateRespository(gitRequest, gitRepositoryRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitRepositoryRequest

Type: GitRepositoryRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


DeleteRepositoryAsync

Deletes a Remote repository using the GitRequest object and returns a GitDeleteRepositoryResponse object

Returns GitDeleteRepositoryResponse

var GitDeleteRepositoryResponseResult = await DeleteRepositoryAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


DeleteRepository

Deletes a Remote repository using the GitRequest object and returns a GitDeleteRepositoryResponse object

Returns GitDeleteRepositoryResponse

var GitDeleteRepositoryResponseResult = DeleteRepository(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


MergeRemoteAsync

Merges a remote branch into a remote origin using the given GitMergeRemoteRequest object and returns a GitMergeRemoteResponse object

Returns GitMergeRemoteResponse

var GitMergeRemoteResponseResult = await MergeRemoteAsync(gitRequest, gitMergeRemoteRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitMergeRemoteRequest

Type: GitMergeRemoteRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


MergeRemote

Merges a remote branch into a remote origin using the given GitMergeRemoteRequest object and returns a GitMergeRemoteResponse object

Returns GitMergeRemoteResponse

var GitMergeRemoteResponseResult = MergeRemote(gitRequest, gitMergeRemoteRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitMergeRemoteRequest

Type: GitMergeRemoteRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


ConfigureBranchProtectionAsync

Configures a remote repository branch protection using the given GitBranchProtectionRequest object and returns a GitBranchProtectionResult object

Returns GitBranchProtectionResult

var GitBranchProtectionResultResult = await ConfigureBranchProtectionAsync(gitRequest, gitBranchProtectionRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitBranchProtectionRequest

Type: GitBranchProtectionRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


ConfigureBranchProtection

Configures a remote repository branch protection using the given GitBranchProtectionRequest object and returns a GitBranchProtectionResult object

Returns GitBranchProtectionResult

var GitBranchProtectionResultResult = ConfigureBranchProtection(gitRequest, gitBranchProtectionRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

gitBranchProtectionRequest

Type: GitBranchProtectionRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetPullRequestAsync

Returns a GitPullRequestDetail object for the given pull request pull number

Returns GitPullRequestDetail

var GitPullRequestDetailResult = await GetPullRequestAsync(gitRequest, pullNumber, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

pullNumber

Type: [Int64] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetPullRequest

Returns a GitPullRequestDetail object for the given pull request pull number

Returns GitPullRequestDetail

var GitPullRequestDetailResult = GetPullRequest(gitRequest, pullNumber, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

pullNumber

Type: [Int64] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowJobsAsync

Returns a YamlJobsCollection object collection of the given workflow name

Returns YamlJobsCollection

var YamlJobsCollectionResult = await GetWorkFlowJobsAsync(gitRequest, workFlowName, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workFlowName

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetWorkFlowJobs

Returns a YamlJobsCollection object collection of the given workflow name

Returns YamlJobsCollection

var YamlJobsCollectionResult = GetWorkFlowJobs(gitRequest, workFlowName, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

workFlowName

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetUserInformationAsync

Returns a GitUserInformation object containing information about the user who owns the repository

Returns GitUserInformation

var GitUserInformationResult = await GetUserInformationAsync(gitRequest, orgOrUser, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

orgOrUser

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetUserInformation

Returns a GitUserInformation object containing information about the user who owns the repository

Returns GitUserInformation

var GitUserInformationResult = GetUserInformation(gitRequest, orgOrUser, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

orgOrUser

Type: [String] Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


Clone

Clones a remote repository

Returns Boolean

var BooleanResult = Clone(request, progressHandler, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

progressHandler

Type: [Action<CloneProgress>] Default: Not Applicable

errorHandler

Type: [Action<Exception>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CreateBranch

Creates a new branch

Returns Boolean

var BooleanResult = CreateBranch(request, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


Pull

Pulls latest from remote and returns [MergeStatus]

Returns MergeStatus

var MergeStatusResult = Pull(request, errorHAndler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorHAndler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CreateTag

Creates a tag

Returns Boolean

var BooleanResult = CreateTag(request, tagName, releaseNote, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

tagName

Type: [String] Default: Not Applicable

releaseNote

Type: [String] Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetCommitsAsync

Returns a list of commits GitCommitCollection

Returns GitCommitCollection

var GitCommitCollectionResult = await GetCommitsAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetCommits

Returns a list of commits GitCommitCollection

Returns GitCommitCollection

var GitCommitCollectionResult = GetCommits(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetLatestCommitAsync

Returns the last commit

Returns String

var StringResult = await GetLatestCommitAsync(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetLatestCommit

Returns the last commit

Returns String

var StringResult = GetLatestCommit(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


IsLocalRepoLatestCommitAsync

Compares the local last connit with the remote

Returns Boolean

var BooleanResult = await IsLocalRepoLatestCommitAsync(request, errorResponse, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CheckoutBranch

Checks out a branch. If the branch does not exist - it is created

Returns Boolean

var BooleanResult = CheckoutBranch(gitRequest, errorHandler, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


IsLocalRepoLatestCommit

Compares the local last connit with the remote

Returns Boolean

var BooleanResult = IsLocalRepoLatestCommit(request, errorResponse, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetRepo

If the specified local repository specified in GitRequest does not exist it is cloned. If it exists the current branch is checked

Returns Boolean

var BooleanResult = GetRepo(gitRequest, errorHandler, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


AddFileToLocalRepo

Add's the specified file to the local repository

Returns Boolean

var BooleanResult = AddFileToLocalRepo(gitRequest, filePath);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

filePath

Type: [String] Default: Not Applicable


GetLocalSemanticTags

Returns a SemanticVersionCollection object of the specified local git repository (A list of tags)

Returns SemanticVersionCollection

var SemanticVersionCollectionResult = GetLocalSemanticTags(request, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

msgHandler

Type: [Action<String>?] Default: Not Applicable


Commit

Commits current changes to the local git repository

Returns Boolean

var BooleanResult = Commit(gitRequest, commitMessage, errorHandler, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

commitMessage

Type: [String] Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CommitWithTag

Commits current changes to the local git repository and adds a Tag to that commit with the given tag name

Returns Boolean

var BooleanResult = CommitWithTag(gitRequest, tag, commitMessage, errorHandler, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

tag

Type: [String] Default: Not Applicable

commitMessage

Type: [String] Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


CommitWithNextSemanticTag

Commits current changes spcified in GitRequest to the local git repository with the next version of the semantic tag. Essentially incrementing the current tag value

Returns Boolean

var BooleanResult = CommitWithNextSemanticTag(gitRequest, commitMessage, errorHandler, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

commitMessage

Type: [String] Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


Push

Pushed any commited changes to the remote repository

Returns Boolean

var BooleanResult = Push(request, pushProgressHandler, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

pushProgressHandler

Type: [Action<PushProgress>?] Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetLocalBranches

Returns a LocalBranchCollection collection of all local and remote branches

Returns LocalBranchCollection

var LocalBranchCollectionResult = GetLocalBranches(request, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

msgHandler

Type: [Action<String>?] Default: Not Applicable


DeleteLocalBranch

Deletes a local branch

Returns Boolean

var BooleanResult = DeleteLocalBranch(gitRequest, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetTags

Returns a GitTagCollection object of all tags defined in the repository

Returns GitTagCollection

var GitTagCollectionResult = GetTags(gitRequest, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

msgHandler

Type: [Action<String>?] Default: Not Applicable


GetCurrentBranch

Returns a [String] representing the current branch of a local repository

Returns String

var StringResult = GetCurrentBranch(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


GetOriginBranch

Returns a [string] that represents the current origin branch of the given local repository

Returns String

var StringResult = GetOriginBranch(request, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


DeleteLocalRepository

Deletes a local repository using the given GitRequest object and returns a GitDeleteRepositoryResponse object

Returns GitDeleteRepositoryResponse

var GitDeleteRepositoryResponseResult = DeleteLocalRepository(gitRequest, errorResponse, msgHandler);

** Parameters **

gitRequest

Type: GitRequest Default: Not Applicable

errorResponse

Type: [Action<String, HttpResponseMessage>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


HaveUncommitedChanges

Returns a [bool] indicating whether there are outstanding changes for the given local repository

Returns Boolean

var BooleanResult = HaveUncommitedChanges(request, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


UndoChanges

Removes any uncommited chages for a local repository

Returns Boolean

var BooleanResult = UndoChanges(request, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


RemoteBranchExists

Returns a [bool] indicating if the remote branch specified exists

Returns Boolean

var BooleanResult = RemoteBranchExists(request, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

errorHandler

Type: [Action<String>] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default:


RemoveTag

Removes the given tag locally and remotely

Returns Boolean

var BooleanResult = RemoveTag(request, tagName, errorHandler, msgHandler);

** Parameters **

request

Type: GitRequest Default: Not Applicable

tagName

Type: [String] Default: Not Applicable

errorHandler

Type: [Action<String>?] Default: Not Applicable

msgHandler

Type: [Action<String>?] Default: Not Applicable


IsGitRepo

Returns a [bool] indication as to whether the supplied source path is a local git repository

Returns Boolean

var BooleanResult = IsGitRepo(sourcePath);

** Parameters **

sourcePath

Type: [String] Default: Not Applicable


Models

DotNetToolCollection

public class DotNetToolCollection
{ 
 
    public Int64 Count { get; set; }
 
    public List<DotNetTool> Tools { get; set; }
}

DotNetTool

public class DotNetTool
{ 
 
    public String PackageId { get; set; }
 
    public String Name { get; set; }
 
    public String Version { get; set; }
 
    public String Description { get; set; }
}

DotNetToolLocalCollection

public class DotNetToolLocalCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public DotNetToolLocal Item { get; set; }
}

DotNetToolLocal

public class DotNetToolLocal
{ 
 
    public String PackageId { get; set; }
 
    public String Version { get; set; }
 
    public String ToolName { get; set; }
 
    public String Manifest { get; set; }
}

DotNetToolProjectCollection

public class DotNetToolProjectCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public DotNetToolProjectItem Item { get; set; }
}

DotNetToolProjectItem

public class DotNetToolProjectItem
{ 
 
    public String Name { get; set; }
 
    public String TargetType { get; set; }
 
    public String TargetTypeValue { get; set; }
 
    public String Command { get; set; }
}

VisualStudioControlGroup

public class VisualStudioControlGroup
{ 
 
    public XElement ProjectType { get; set; }
 
    public XElement Organisation { get; set; }
 
    public XElement User { get; set; }
 
    public XElement Repository { get; set; }
 
    public XElement RepositoryTokenVariable { get; set; }
 
    public XElement WorkFlow { get; set; }
 
    public XElement WorkFlowRepository { get; set; }
 
    public XElement ProjectPath { get; set; }
 
    public XElement DotNetTools { get; set; }
}

VisualStudioNugetGroup

public class VisualStudioNugetGroup
{ 
 
    public XElement PackageId { get; set; }
 
    public XElement Version { get; set; }
 
    public XElement Authors { get; set; }
 
    public XElement Description { get; set; }
 
    public XElement PackageTags { get; set; }
 
    public XElement Project { get; set; }
 
    public XElement PackageReadmeFile { get; set; }
 
    public XElement PackAsTool { get; set; }
 
    public XElement ToolCommandName { get; set; }
}

VisualStudioPowerShellGroup

public class VisualStudioPowerShellGroup
{ 
 
    public XElement Project { get; set; }
}

VisualStudioProjectCollection

public class VisualStudioProjectCollection
{ 
 
    public XDocument Document { get; set; }
 
    public String ProjectPath { get; set; }
 
    public DotNetToolProjectCollection ProjectTools { get; set; }
 
    public  Comparer { get; }
 
    public Int32 Count { get; }
 
    public  Keys { get; }
 
    public  Values { get; }
 
    public IProjectGroupWithLabel Item { get; set; }
}

VisualStudioReleaseGroup

public class VisualStudioReleaseGroup
{ 
 
    public XElement Name { get; set; }
 
    public XElement Description { get; set; }
 
    public XElement ReleaseRepository { get; set; }
 
    public XElement ReleaseName { get; set; }
 
    public XElement AssetPath { get; set; }
}

GitRequest

public class GitRequest
{ 
 
    public String? Organisation { get; set; }
 
    public String? CredentialUser { get; set; }
 
    public String? CredentialPassword { get; set; }
 
    public String? User { get; set; }
 
    public String? Token { get; set; }
 
    public String? RepositoryName { get; set; }
 
    public String? RepositoryFileName { get; set; }
 
    public String? LocalRepositoryPath { get; set; }
 
    public String? Branch { get; set; }
 
    public String? UserEmail { get; set; }
 
    public String? DefaultBranch { get; set; }
 
    public String RepositoryPath { get; }
}

CloneProgress

public class CloneProgress
{ 
 
    public String Path { get; set; }
 
    public Int32 CompletedSteps { get; set; }
 
    public Int32 TotalSteps { get; set; }
 
    public Int32 PercentComplete { get; set; }
}

GitAssetResponse

public class GitAssetResponse
{ 
 
    public Int32 Id { get; set; }
 
    public String? Name { get; set; }
 
    public String? Label { get; set; }
 
    public String? State { get; set; }
}

GitAuthorisePullRequest

public class GitAuthorisePullRequest
{ 
 
    public String Approve { get; }
 
    public String? Comment { get; set; }
 
    public Int32 PullRequestNumber { get; set; }
}

GitBranchProtectionRequest

public class GitBranchProtectionRequest
{ 
 
    public GitRequiredPullRequestReviews RequiredPullRequestReviews { get; set; }
 
    public Nullable<Boolean>? EnforceAdmins { get; set; }
 
    public GitRequiredStatusChecks RequiredStatusChecks { get; set; }
 
    public GitRestrictions Restrictions { get; set; }
 
    public String Branch { get; set; }
}

GitBranchProtectionResult

public class GitBranchProtectionResult
{ 
 
    public Boolean IsSuccess { get; set; }
}

GitCommitCollection

public class GitCommitCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public GitCommit Item { get; set; }
}

GitDeleteRepositoryResponse

public class GitDeleteRepositoryResponse
{ 
 
    public Boolean IsSuccess { get; set; }
 
    public String Message { get; set; }
}

GitDownloadReleaseRequest

public class GitDownloadReleaseRequest
{ 
 
    public ReleaseType ReleaseType { get; set; }
 
    public String? TargetPath { get; set; }
 
    public Boolean ExtractZip { get; set; }
 
    public Int32 ReleaseId { get; set; }
 
    public String? Tag { get; set; }
}

GitDownloadReleaseResponse

public class GitDownloadReleaseResponse
{ 
 
    public Boolean Success { get; set; }
 
    public DownloadedFileCollection? Files { get; set; }
}

GitFileContent

public class GitFileContent
{ 
 
    public String Name { get; set; }
 
    public String Path { get; set; }
 
    public String Sha { get; set; }
 
    public Int32 Size { get; set; }
 
    public String Url { get; set; }
 
    public String HtmlUrl { get; set; }
 
    public String GitUrl { get; set; }
 
    public String DownloadUrl { get; set; }
 
    public String Type { get; set; }
 
    public String Content { get; set; }
 
    public String Encoding { get; set; }
}

GitLocalTag

public class GitLocalTag
{ 
 
    public String? TagName { get; set; }
 
    public String? Commiter { get; set; }
 
    public DateTimeOffset Commited { get; set; }
 
    public String? Title { get; set; }
 
    public Int64 VersionAsInt { get; set; }
}

GitMergeRemoteRequest

public class GitMergeRemoteRequest
{ 
 
    public String Comment { get; set; }
 
    public String DestinationBranch { get; set; }
 
    public String SourceBranch { get; set; }
 
    public Boolean DeleteBranchOnSuccessFullMerge { get; set; }
}

GitMergeRemoteResponse

public class GitMergeRemoteResponse
{ 
 
    public Boolean IsSuccess { get; set; }
}

GitMergeRequest

public class GitMergeRequest
{ 
 
    public String? Comment { get; set; }
 
    public String MergeMethod { get; }
}

GitMergeResponse

public class GitMergeResponse
{ 
 
    public String? CommitRef { get; set; }
 
    public Boolean Merged { get; set; }
 
    public String? Message { get; set; }
}

GitPollWorkflowResponse

public class GitPollWorkflowResponse
{ 
 
    public Int64 Id { get; set; }
 
    public String Status { get; set; }
 
    public String Conclusion { get; set; }
}

GitPullRequest

public class GitPullRequest
{ 
 
    public String? Title { get; set; }
 
    public String? Description { get; set; }
 
    public String? Branch { get; set; }
 
    public String? OriginBranch { get; set; }
 
    public List<String> Reviewers { get; set; }
 
    public List<String> TeamReviewers { get; set; }
}

GitPullRequestCollection

public class GitPullRequestCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public GitPullResponse Item { get; set; }
}

GitPullRequestDetail

public class GitPullRequestDetail
{ 
 
    public Int64 Id { get; set; }
 
    public Int32 Number { get; set; }
 
    public String? StateString { get; set; }
 
    public String? Title { get; set; }
 
    public PullUser? User { get; set; }
 
    public GitRequestedReviewersCollection? RequestedReviewers { get; set; }
 
    public Boolean IsMerged { get; set; }
 
    public Boolean IsMergeable { get; set; }
 
    public String MergableStateString { get; set; }
 
    public Boolean CanMerge { get; }
 
    public List<String> Reviewers { get; }
 
    public Boolean IsBlocked { get; }
 
    public MergeState MergeState { get; }
}

GitPullRequestReviewersRequest

public class GitPullRequestReviewersRequest
{ 
 
    public List<String> Reviewers { get; set; }
 
    public List<String> TeamReviewers { get; set; }
 
    public Int64 PullRequestNumber { get; set; }
}

GitPullResponse

public class GitPullResponse
{ 
 
    public Int64 Id { get; set; }
 
    public Int32 Number { get; set; }
 
    public String? StateString { get; set; }
 
    public String? Title { get; set; }
 
    public PullUser? User { get; set; }
 
    public PullBranches SourceBranch { get; set; }
 
    public PullBranches TargetBranch { get; set; }
 
    public GitReviewResponseCollection Reviews { get; set; }
 
    public PullRequestState State { get; }
}

GitRelease

public class GitRelease
{ 
 
    public String? Tag { get; set; }
 
    public String? ReleaseName { get; set; }
 
    public String? Description { get; set; }
 
    public Boolean Draft { get; set; }
 
    public Boolean PreRelease { get; set; }
 
    public String IsLatestString { get; set; }
 
    public Boolean RemoveDefaultFiles { get; set; }
 
    public List<String> Assets { get; set; }
 
    public String? AssetDirectory { get; set; }
 
    public String? AssetZipName { get; set; }
}

GitReleaseCollection

public class GitReleaseCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public GitReleaseItem Item { get; set; }
}

GitReleaseItem

public class GitReleaseItem
{ 
 
    public String? Url { get; set; }
 
    public String? TarBall { get; set; }
 
    public String? ZipBall { get; set; }
 
    public Int32 Id { get; set; }
 
    public String? Tag { get; set; }
 
    public String? Name { get; set; }
 
    public String? Description { get; set; }
 
    public Boolean Draft { get; set; }
 
    public Boolean PreRelease { get; set; }
 
    public DateTime Created { get; set; }
 
    public DateTime Published { get; set; }
 
    public List<GitReleaseAsset> Assets { get; set; }
}

GitReleaseDownloadAssetReponse

public class GitReleaseDownloadAssetReponse
{ 
 
    public Boolean Success { get; set; }
}

GitReleaseResponse

public class GitReleaseResponse
{ 
 
    public String? Url { get; set; }
 
    public Int32 Id { get; set; }
 
    public String? UploadUrl { get; set; }
}

GitRepositoryFileContent

public class GitRepositoryFileContent
{ 
 
    public String? Name { get; set; }
 
    public String? Path { get; set; }
 
    public String? Sha { get; set; }
 
    public Int64 Size { get; set; }
 
    public String? Content { get; set; }
}

GitRepositoryFileListCollection

public class GitRepositoryFileListCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public GitRepositoryInfo Item { get; set; }
}

GitRepositoryInfo

public class GitRepositoryInfo
{ 
 
    public String? Name { get; set; }
 
    public String? Path { get; set; }
 
    public String? Sha { get; set; }
 
    public Int64 Size { get; set; }
 
    public String? Url { get; set; }
 
    public String? GitUrl { get; set; }
 
    public String? DefaultBranch { get; set; }
}

GitRepositoryListCollection

public class GitRepositoryListCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public GitRepositoryList Item { get; set; }
}

GitRepositoryList

public class GitRepositoryList
{ 
 
    public Int64 Id { get; set; }
 
    public String? Name { get; set; }
 
    public String? NodeId { get; set; }
 
    public String? Url { get; set; }
}

GitRepositoryRequest

public class GitRepositoryRequest
{ 
 
    public String Name { get; set; }
 
    public Boolean Private { get; set; }
 
    public String Description { get; set; }
 
    public Boolean AutoInit { get; }
 
    public Int32 BranchReviewers { get; set; }
 
    public List<String> Users { get; set; }
 
    public List<String> Teams { get; set; }
}

GitRepositoryResponse

public class GitRepositoryResponse
{ 
 
    public Boolean IsSuccess { get; set; }
 
    public String Message { get; set; }
 
    public Int64 Id { get; set; }
 
    public String Name { get; set; }
 
    public Boolean Private { get; set; }
 
    public String DefaultBranch { get; set; }
 
    public String? Path { get; set; }
 
    public String? Sha { get; set; }
 
    public Int64 Size { get; set; }
 
    public String? Url { get; set; }
 
    public String? GitUrl { get; set; }
}

GitReviewResponseCollection

public class GitReviewResponseCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public GitReviewResponse Item { get; set; }
}

GitReviewResponse

public class GitReviewResponse
{ 
 
    public Int64 Id { get; set; }
 
    public GitReviewUser User { get; set; }
 
    public String Body { get; set; }
 
    public String State { get; set; }
 
    public DateTime SubmittedAt { get; set; }
 
    public String CommitId { get; set; }
}

GitTagCollection

public class GitTagCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public GitTag Item { get; set; }
}

GitTag

public class GitTag
{ 
 
    public String? TagName { get; set; }
 
    public String? Author { get; set; }
 
    public DateTimeOffset DateCreated { get; set; }
 
    public String? Title { get; set; }
 
    public SemanticVersion? SemanticTag { get; set; }
}

GitUserInformation

public class GitUserInformation
{ 
 
    public Int64 Id { get; set; }
 
    public String TypeAsString { get; set; }
 
    public Int32 PublicRepositoryCount { get; set; }
 
    public Int32 PrivateRepositoryCount { get; set; }
 
    public Int32 CollaboratorsCount { get; set; }
 
    public Int32 FollowersCount { get; set; }
 
    public RepositoryOwnerType OwnerType { get; }
}

GitWorkFlowCollectionResult

public class GitWorkFlowCollectionResult
{ 
 
    public Int32 Count { get; set; }
 
    public List<GitWorkFlow> WorkFlows { get; set; }
}

GitWorkFlowCollection

public class GitWorkFlowCollection
{ 
 
    public Int32 Capacity { get; set; }
 
    public Int32 Count { get; }
 
    public GitWorkFlow Item { get; set; }
}

GitWorkFlowRequest

public class GitWorkFlowRequest
{ 
 
    public String Branch { get; set; }
 
    public  Variables { get; set; }
 
    public Boolean Wait { get; set; }
 
    public List<WorkFlowVariable> WorkFlowVariables { get; set; }
 
    public String WorkFlowName { get; set; }
 
    public Int64 WorkFlowId { get; set; }
}

GitWorkFlowResponse

public class GitWorkFlowResponse
{ 
 
    public Boolean IsSuccess { get; set; }
 
    public String Message { get; set; }
 
    public Int64 RunId { get; set; }
 
    public WorkFlowState State { get; set; }
 
    public WorkFlowState Conclusion { get; set; }
 
    public String StateString { get; set; }
 
    public String WorkFlowName { get; set; }
 
    public String ConclusionString { get; set; }
 
    public WorkFlowRunResponse RawResponse { get; set; }
}

GitWorkFlowRunsResponseCollection

public class GitWorkFlowRunsResponseCollection
{ 
 
    public Int32 Count { get; set; }
 
    public List<GitWorkFlowRunsResponse> WorkFlowRuns { get; set; }
}

GitWorkFlowRunsResponse

public class GitWorkFlowRunsResponse
{ 
 
    public Int64 Id { get; set; }
 
    public String Status { get; set; }
 
    public String Conclusion { get; set; }
 
    public DateTimeOffset CreatedAt { get; set; }
}
Product 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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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
1.1.11 140 5/22/2025
1.1.10 140 5/21/2025
1.1.9 139 5/20/2025
1.1.8 138 5/19/2025
1.1.7 94 5/18/2025
1.1.6 100 5/18/2025
1.1.5 97 5/18/2025
1.1.4 197 5/16/2025
1.1.3 186 5/12/2025
1.1.2 131 5/11/2025
1.1.1 134 5/11/2025
1.1.0 72 5/10/2025
1.0.99 159 5/7/2025
1.0.98 140 5/7/2025
1.0.97 144 5/7/2025
1.0.96 142 5/5/2025
1.0.95 143 5/5/2025
1.0.94 142 5/4/2025
1.0.92 147 5/4/2025
1.0.13 98 5/4/2025
1.0.12 103 5/4/2025
1.0.11 74 5/3/2025
1.0.10 71 5/3/2025
1.0.9 71 5/3/2025
1.0.8 69 5/3/2025
1.0.7 121 5/2/2025
1.0.6 118 5/2/2025
1.0.5 124 5/2/2025
1.0.4 118 5/2/2025
1.0.3 119 5/2/2025
1.0.2 131 5/2/2025
1.0.1 154 4/23/2025