Skip to main content

GitHub AE는 현재 제한된 릴리스 상태입니다.

GitHub 앱 만들기 정보

GitHub Apps을(를) 사용하면 프로세스를 자동화하고 GitHub의 기능을 확장하는 통합을 빌드할 수 있습니다.

GitHub Apps 정보

GitHub App 은(는) GitHub 과 상호작용하고 그 기능을 확장하기 위해 빌드할 수 있는 통합 유형입니다. 사용자를 로그인하거나 서비스 계정을 만들지 않고도 GitHub App을(를) 빌드하여 유연성을 제공하고 프로세스의 마찰을 줄일 수 있습니다.

GitHub Apps에 대한 일반적인 사용 사례는 다음과 같습니다.

  • 작업 또는 백그라운드 프로세스 자동화
  • 사용자가 GitHub 계정으로 로그인하여 에코시스템에서 ID를 제공할 수 있는 "GitHub로 로그인"을 지원합니다.
  • 개발자 도구로서 사용자가 GitHub App에 로그인하여 GitHub으로 작업할 수 있도록 합니다. 그러면 대신 작업할 수 있습니다.
  • 도구 또는 외부 서비스를 GitHub과(와) 통합

OAuth apps와 같이, GitHub Apps는 사용자를 대신하여 OAuth 2.0를 사용하고 작업을 수행할 수 있습니다. OAuth apps와 달리, GitHub Apps은(는) 사용자와 독립적으로 작동할 수도 있습니다.

GitHub Apps은 조직 및 개인 계정에 직접 설치가 가능하고 특정 리포지토리에 대한 액세스 권한을 부여받을 수 있습니다. 또한 기본 제공 웹후크와 범위가 좁은 특정 권한이 함께 제공됩니다.

기본적으로 조직의 소유자만 조직에서 GitHub 앱의 설정을 관리할 수 있습니다. 추가 사용자가 조직에서 소유한 GitHub 앱의 개발자 설정을 변경할 수 있도록 소유자가 GitHub 앱 관리자 권한을 부여할 수 있습니다. GitHub 앱 관리자는 제3자 응용 프로그램을 관리할 수 없습니다. 조직에서 GitHub 앱 관리자를 추가하고 제거하는 방법에 대한 자세한 내용은 "조직의 역할"을 참조하세요.

GitHub App 빌드

GitHub App을(를) 빌드하려면 먼저 GitHub App을(를) 등록해야 합니다. 자세한 내용은 "GitHub 앱 등록"을 참조하세요.

그런 다음 GitHub App에 기능을 추가하는 코드를 작성해야 합니다. GitHub App 등록의 자격 증명을 사용하여 GitHub의 API에 대한 인증된 요청을 수행할 수 있습니다. GitHub App에 대한 코드 작성에 대한 자세한 내용은 "GitHub 앱의 코드 작성 정보"을 참조하세요. 인증된 요청을 만드는 방법에 대한 자세한 내용은 "GitHub 앱을 사용한 인증 정보"을 참조하세요.

GitHub App에 대한 코드를 작성했으면 앱이 어딘가에서 실행되어야 합니다. 앱이 웹 사이트 또는 웹앱인 경우 Azure App Service와 같은 서버에서 앱을 호스트할 수 있습니다. 앱이 클라이언트 쪽 앱인 경우 사용자의 디바이스에서 실행될 수 있습니다.

GitHub App을(를) 사용하려면 조직 또는 개인 계정에 앱을 설치해야 합니다. GitHub App이(가) 비공개인 경우 앱을 소유한 계정에 GitHub App만 설치할 수 있습니다. GitHub App이(가) 공용인 경우 다른 사용자와 조직에서 앱을 설치할 수 있습니다. 자세한 내용은 "자신만의 GitHub 앱 설치" 및 "GitHub 앱 공유"을 참조하세요.

빌드할 GitHub App 유형 이해

앱에서 사용할 기능에 따라 고려해야 할 GitHub App을(를) 디자인하는 방법에는 여러 가지가 있습니다.

사용자를 대신하여 작동하는 GitHub Apps

앱이 사용자를 대신하여 작업을 수행하도록 하려면 인증에 사용자 액세스 토큰을 사용해야 합니다. 이 유형의 요청은 "사용자-서버"라고도 하며, 이는 앱에 부여된 권한과 사용자의 권한에 의해 앱이 제한됨을 의미합니다. 이 패턴을 사용하면, 앱이 작업을 수행하려면 먼저 앱에 권한을 부여해야 합니다. 자세한 내용은 "사용자를 대신하여 GitHub 앱으로 인증"을 참조하세요.

앱이 사용자를 대신하여 작용하는 GitHub App을(를) 사용하여 만들 수 있는 자동화의 몇 가지 예는 다음과 같습니다.

  • GitHub App은(는) 에코시스템의 ID 공급자로 GitHub을(를) 사용합니다.
  • GitHub 사용자에게 유용할 수 있는 GitHub.com 위에 서비스를 추가하는 GitHub App GitHub Marketplace을(를) 통해 또는 앱을 공개하여 다른 개발자와 앱을 공유할 수 있습니다.

사용자 대신 작동하는 GitHub Apps

앱이 사용자가 아니라 자체적으로 대신하여 작업을 수행하도록 하려면 인증에 설치 액세스 토큰을 사용해야 합니다. 이 유형의 요청은 "서버 간(server-to-server)"이라고도 하며 앱에 부여된 권한에 따라 앱이 제한됩니다. 자세한 내용은 "GitHub 앱 설치로 인증"을 참조하세요.

앱이 자체적으로 실행되는 GitHub App을(를) 사용하여 만들 수 있는 자동화의 몇 가지 예는 다음과 같습니다.

  • 특정 조건 집합이 지정된 경우 웹후크를 사용하여 이벤트에 반응하는 GitHub App.
  • 리포지토리 구성 역할에 도움이 되는 GitHub App. 예를 들어 앱은 구성 역할 끌어오기 요청을 만들거나 메모를 만든 후 유용한 리소스를 게시할 수 있습니다.
  • 다른 CI/CD 도구에 제공하거나 리포지토리에서 정보를 끌어올 수 있는 수명이 짧은 토큰을 생성하는 GitHub App.

웹후크에 응답하는 GitHub Apps

앱이 GitHub의 이벤트에 응답하도록 하려면 앱이 웹후크를 구독해야 합니다. 예를 들어 끌어오기 요청이 열릴 때 앱이 주석을 남기도록 할 수 있습니다. 자세한 내용은 "GitHub 앱에 웹후크 사용"을 참조하세요.

특정 작업을 수행할 수 있는 GitHub Apps

GitHub App을(를) 설정할 때 앱에 대한 특정 권한을 선택할 수 있습니다. 이러한 권한은 GitHub API를 통해 앱이 수행할 수 있는 작업, 로그인한 사용자를 대신하여 수행할 수 있는 작업 및 앱이 받을 수 있는 웹후크를 결정합니다. 자세한 내용은 "GitHub 앱의 권한 선택"을 참조하세요.