< Back

Set-GitHubLabel

Sat Jan 18, 2020 9:40 pm

NAME Set-GitHubLabel



SYNOPSIS

Sets the entire set of Labels on the given GitHub repository to match the provided list

of Labels.





SYNTAX

Set-GitHubLabel [-OwnerName <String>] [-RepositoryName <String>] [-Label <Object[]>] [-AccessToken <String>]

[-NoStatus] [-WhatIf] [-Confirm] [<CommonParameters>]



Set-GitHubLabel -Uri <String> [-Label <Object[]>] [-AccessToken <String>] [-NoStatus] [-WhatIf] [-Confirm]

[<CommonParameters>]





DESCRIPTION

Sets the entire set of Labels on the given GitHub repository to match the provided list

of Labels.



Will update the color/description for any Labels already in the repository that match the

name of a Label in the provided list. All other existing Labels will be removed, and then

new Labels will be created to match the others in the Label list.



The Git repo for this module can be found here: http://aka.ms/PowerShellForGitHub





PARAMETERS

-OwnerName <String>

Owner of the repository.

If not supplied here, the DefaultOwnerName configuration property value will be used.



Required? false

Position? named

Default value

Accept pipeline input? false

Accept wildcard characters? false



-RepositoryName <String>

Name of the repository.

If not supplied here, the DefaultRepositoryName configuration property value will be used.



Required? false

Position? named

Default value

Accept pipeline input? false

Accept wildcard characters? false



-Uri <String>

Uri for the repository.

The OwnerName and RepositoryName will be extracted from here instead of needing to provide

them individually.



Required? true

Position? named

Default value

Accept pipeline input? false

Accept wildcard characters? false



-Label <Object[]>

The array of Labels (name, color, description) that the repository should be aligning to.

A default list of labels will be used if no Labels are provided.



Required? false

Position? named

Default value

Accept pipeline input? false

Accept wildcard characters? false



-AccessToken <String>

If provided, this will be used as the AccessToken for authentication with the

REST Api. Otherwise, will attempt to use the configured value or will run unauthenticated.



Required? false

Position? named

Default value

Accept pipeline input? false

Accept wildcard characters? false



-NoStatus [<SwitchParameter>]

If this switch is specified, long-running commands will run on the main thread

with no commandline status update. When not specified, those commands run in

the background, enabling the command prompt to provide status information.

If not supplied here, the DefaultNoStatus configuration property value will be used.



Required? false

Position? named

Default value False

Accept pipeline input? false

Accept wildcard characters? false



-WhatIf [<SwitchParameter>]



Required? false

Position? named

Default value

Accept pipeline input? false

Accept wildcard characters? false



-Confirm [<SwitchParameter>]



Required? false

Position? named

Default value

Accept pipeline input? false

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).



INPUTS



OUTPUTS



NOTES





This method does not rename any existing labels, as it doesn't have any context regarding

which Issue the new name is for. Therefore, it is possible that by running this function

on a repository with Issues that have already been assigned Labels, you may experience data

loss as a minor correction to you (maye fixing a typo) will result in the old Label being

removed (and thus unassigned from existing Issues) and then the new one created.



-------------------------- EXAMPLE 1 --------------------------



PS C:\\>Set-GitHubLabel -OwnerName Microsoft -RepositoryName PowerShellForGitHub -Label @(@{'name' = 'TestLabel';

'color' = 'EEEEEE'}, @{'name' = 'critical'; 'color' = 'FF000000'; 'description' = 'Needs immediate attention'})



Removes any labels not in this Label array, ensure the current assigned color and descriptions

match what's in the array for the labels that do already exist, and then creates new labels

for any remaining ones in the Label list.











RELATED LINKS