Public/Projects/New-GitLabFork.ps1
Function New-GitLabFork { <# .SYNOPSIS Creates a new fork from a project. Uses the user namespace. .DESCRIPTION Creates a new fork from a project. Uses the user namespace. This uses the v3 GitLab API. .EXAMPLE New-GitLabFork -Id 39 id : 99 name : Chef name_with_namespace : ngetchell / Chef web_url : http://example.com/HomeLab/Chef created_at : 2016-02-01T23:55:26.696Z last_activity_at : 2016-04-24T18:42:58.529Z #> [cmdletbinding()] param( [ValidateNotNull()] [ValidateNotNullOrEmpty()] [Parameter(ParameterSetName='Id')] [string]$Id, [ValidateNotNull()] [ValidateNotNullOrEmpty()] [Parameter(ParameterSetName='Namespace')] [string]$Namespace ) $Project = $null switch ($PSCmdlet.ParameterSetName) { 'Id' { $Project = Get-GitlabSingleProject -Id $Id } 'Namespace' { $Project = Get-GitlabSingleProject -Namespace $Namespace } } $Request = @{ URI="/projects/fork/$($Project.id)"; Method='POST'; } QueryGitLabAPI -Request $Request -ObjectType 'GitLab.Project' } |