Set GitHubRepositoryTopic - X-Guardian/PowerShellForGitHub GitHub Wiki

Set-GitHubRepositoryTopic

SYNOPSIS

Replaces all topics for a repository on GitHub.

SYNTAX

ElementsName (Default)

Set-GitHubRepositoryTopic [-OwnerName <String>] [-RepositoryName <String>] -Topic <String[]>
 [-AccessToken <String>] [-NoStatus] [-WhatIf] [-Confirm] [<CommonParameters>]

ElementsClear

Set-GitHubRepositoryTopic [-OwnerName <String>] [-RepositoryName <String>] [-Clear] [-AccessToken <String>]
 [-NoStatus] [-WhatIf] [-Confirm] [<CommonParameters>]

UriClear

Set-GitHubRepositoryTopic -Uri <String> [-Clear] [-AccessToken <String>] [-NoStatus] [-WhatIf] [-Confirm]
 [<CommonParameters>]

UriName

Set-GitHubRepositoryTopic -Uri <String> -Topic <String[]> [-AccessToken <String>] [-NoStatus] [-WhatIf]
 [-Confirm] [<CommonParameters>]

DESCRIPTION

Replaces all topics for a repository on GitHub.

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

EXAMPLES

EXAMPLE 1

Set-GitHubRepositoryTopic -OwnerName microsoft -RepositoryName PowerShellForGitHub -Clear

EXAMPLE 2

Set-GitHubRepositoryTopic -Uri https://github.com/PowerShell/PowerShellForGitHub -Topic ('octocat', 'powershell', 'github')

EXAMPLE 3

('octocat', 'powershell', 'github') | Set-GitHubRepositoryTopic -Uri https://github.com/PowerShell/PowerShellForGitHub

PARAMETERS

-AccessToken

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.

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Clear

Specify this to clear all topics from the repository.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: ElementsClear, UriClear
Aliases:

Required: True
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-NoStatus

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.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-OwnerName

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

Type: System.String
Parameter Sets: ElementsName, ElementsClear
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-RepositoryName

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

Type: System.String
Parameter Sets: ElementsName, ElementsClear
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Topic

Array of topics to add to the repository.

Type: System.String[]
Parameter Sets: ElementsName, UriName
Aliases: Name

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Uri

Uri for the repository. The OwnerName and RepositoryName will be extracted from here instead of needing to provide them individually.

Type: System.String
Parameter Sets: UriClear, UriName
Aliases: RepositoryUrl

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

GitHub.Branch

GitHub.Content

GitHub.Event

GitHub.Issue

GitHub.IssueComment

GitHub.Label

GitHub.Milestone

GitHub.PullRequest

GitHub.Project

GitHub.ProjectCard

GitHub.ProjectColumn

GitHub.Release

GitHub.Repository

OUTPUTS

GitHub.RepositoryTopic

NOTES

This is implemented as a function rather than a filter because the ValueFromPipeline parameter (Topic) is itself an array which we want to ensure is processed only a single time. This API endpoint doesn't add topics to a repository, it replaces the existing topics with the new set provided, so we need to make sure that we have all the requested topics available to us at the time that the API endpoint is called.

RELATED LINKS

⚠️ **GitHub.com Fallback** ⚠️