본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Psgithub

0

PSGitHub는 PowerShell 모듈로, GitHub REST API를 통해 GitHub 리포지토리, 이슈, 풀 리퀘스트 등을 관리할 수 있게 해줍니다.

모듈자동화

소개

PSGitHub는 PowerShell 모듈로, GitHub REST API를 통해 GitHub 리포지토리, 이슈, 풀 리퀘스트 등을 관리할 수 있게 해줍니다. 이 모듈은 pcgeek86이 개발했으며, PowerShell Gallery를 통해 설치할 수 있습니다. PowerShell 5.0 이상이 필요하며, 프라이빗 리포지토리 접근을 위해 GitHub 토큰 설정이 권장됩니다.

상세정보

포함된 Cmdlets

PSGitHub은 GitHub의 다양한 리소스에 대해 작업할 수 있는 풍부한 cmdlet 세트를 제공합니다. 예를 들어, Get-GitHubIssue, New-GitHubPullRequest, Remove-GitHubRepository 등과 같이Verb-Name 패턴으로 일관되게命名됩니다. 이슈, 풀 리퀘스트, 리포지토리, 기스트, 릴리스, 라벨, 마일스톤 등에 대한 생성, 조회, 수정, 삭제 작업을 지원합니다.

Pretty Formatting

출력 결과는 Format-* cmdlet과 함께 사용 시 컬러풀하고 구조화된 형태로 표시됩니다. -View 매개변수를 통해 테이블, 리스트, 커스텀 뷰 등을 전환할 수 있으며, 이슈와 풀 리퀘스트의 마크다운 본문이 자동으로 하이라이팅되어 가독성이 향상됩니다.

Autocompletion

거의 모든 매개변수에 대해 탭 자동완성이 지원됩니다. 특히 -Owner, -RepositoryName, -Number (issue 번호), -Label, -Assignee, -MilestoneName 등에 대해 작동하며, Find-GitHub* 명령어의 검색 키워드에도 자동완성이 적용됩니다.

Pipeline Support

모든 cmdlet은 파이프라인을 지원하여 하나의 명령어 출력을 다른 명령어의 입력으로 바로 연결할 수 있습니다. 예를 들어, Find-GitHubIssue "is:open label:wont-fix" | Update-GitHubIssue -State closed와 같이 wont-fix 라벨이 붙은 열린 이슈를 일괄로 닫을 수 있습니다. 또한 PowerGit과의 상호 운용성을 통해 브랜치 객체를 풀 리퀘스트로 바로 연결하는 워크플로도 가능합니다.

Pagination

컬렉션을 조회하는 모든 cmdlet은 자동으로 페이지네이션을 처리하여 마지막 페이지까지 결과를 지속적으로 가져옵니다. 결과를 제한하고 싶을 경우 Select-Object -First와 같은 cmdlet과 파이프 연결하여 사용할 수 있습니다.

다운로드·설치 방법

PSGitHub은 다음 세 가지 방법으로 설치할 수 있습니다.

  1. PowerShell Gallery에서 설치 (PowerShell 5.0+ 필요): Install-Module PSGitHub
  2. 모듈을 직접 복사하여 $env:PSModulePath에 배치
  3. 파일 시스템의 어느 위치에나 압축을 풀고 Import-Module로 명시적으로 가져오기

설치 후에는 Import-Module PSGitHub를 실행하여 현재 세션에서 사용할 수 있습니다.

기본 사용법/명령어

프라이빗 리포지토리 접근이나 rate limit 확장을 위해 GitHub 토큰을 설정하는 것이 권장됩니다. Windows에서는 다음과 같이 암호화된 토큰을 기본값으로 설정할 수 있습니다.

$PSDefaultParameterValues['*GitHub*:Token'] = 'YOUR_ENCRYPTED_TOKEN' | ConvertTo-SecureString

여기서 YOUR_ENCRYPTED_TOKEN은 Read-Host -AsSecureString | ConvertFrom-SecureString를 한 번 실행하여 얻은 값을 붙여넣으면 됩니다. macOS/Linux에서는 Windows DPA를 사용할 수 없으므로 평문 토큰을 사용할 수 있으며, 이 경우 다음과 같이 설정합니다.

$PSDefaultParameterValues['*GitHub*:Token'] = 'YOUR_PLAINTEXT_TOKEN' | ConvertTo-SecureString -AsPlainText -Force

또는 비밀번호 관리자나 Keychain에서 토큰을 가져와 동일한 방식으로 설정할 수 있습니다.

기본 사용 예시로는 Find-GitHubIssue "is:open"로 열린 이슈를 검색하거나, Get-GitHubRepository -RepositoryName foo로 특정 리포지토리 정보를 가져올 수 있습니다.

이런 경우에 유용합니다

PowerShell을 사용해 GitHub 워크플로를 자동화하고 싶은 개발자나 DevOps 엔지니어에게 유용합니다. 예를 들어, 이슈 라벨 기반으로 자동 닫기 스크립트를 만들거나, 풀 리퀘스트 생성 및 병합을 파이프라인으로 연결하여 수작업을 줄일 수 있습니다. 또한 PowerShell 콘솔 내에서 바로 GitHub 리소스를 조회하고 관리함으로써 컨텍스트 스위칭을 줄일 수 있습니다.

지원 환경·시스템 요구사항

PowerShell 5.0 이상이 필요하며, Windows, macOS, Linux에서 모두 사용할 수 있습니다. 다만 Windows에서는 토큰을 암호화하여 저장할 수 있는 DPA(Data Protection API)를 지원하므로 보안적으로 더 유리합니다. macOS/Linux에서는 토큰을 평문으로 저장할 경우 보안에 유의해야 하며, 비밀번호 관리자나 Keychain 사용을 권장합니다.

최신 버전·업데이트

현재 버전은 0.15.240이며, 최신 업데이트 정보는 GitHub 저장소의リリースノート 또는 PowerShell Gallery 페이지에서 확인할 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.