GitHub Apps 정보
GitHub App는 GitHub와 상호작용하고 그 기능을 확장할 수 있도록 구축할 수 있는 통합 방식의 한 유형입니다. 사용자를 로그인시키거나 서비스 계정을 만들 필요 없이, 유연성을 제공하고 프로세스의 비효율을 줄일 수 있는 GitHub App를 구축할 수 있습니다.
일반적인 사용 사례는 다음과 같습니다.GitHub Apps
- 작업 또는 백그라운드 프로세스 자동화
- 사용자가 자신의 GitHub 계정으로 "Sign in with GitHub"를 사용하여 귀하의 생태계에서 자신의 신원을 제공할 수 있도록 지원합니다.
- 개발자 도구로서 사용자가 귀하의 GitHub App에 로그인하여 GitHub로 작업할 수 있도록 하며, 이후 GitHub App이 사용자를 대신해 작동할 수 있습니다.
- 도구 또는 외부 서비스를 GitHub와 통합
OAuth apps 마찬가지로 GitHub AppsOAuth 2.0을 사용하고 사용자를 대신하여 작업할 수 있습니다. 달리 OAuth apps, GitHub Apps 사용자와 독립적으로 작동할 수도 있습니다.
GitHub Apps은 기업, 설치할 수 있으며 특정 리포지토리에 대한 액세스 권한을 부여할 수 있습니다. 또한 기본 제공 웹후크와 범위가 좁은 특정 권한이 함께 제공됩니다.
엔터프라이즈 자체 또는GitHub App 엔터프라이즈 내 조직에만 설치 를 만들 수도 있습니다. 자세한 내용은 엔터프라이즈용 GitHub 앱 만들기을(를) 참조하세요.
기본적으로 조직의 소유자만 조직에서 GitHub 앱의 설정을 관리할 수 있습니다. 추가 사용자가 조직에서 소유한 GitHub 앱의 개발자 설정을 변경할 수 있도록 소유자가 GitHub 앱 관리자 권한을 부여할 수 있습니다. GitHub 앱 관리자는 제3자 응용 프로그램을 관리할 수 없습니다. 조직에서 GitHub 앱 관리자를 추가하고 제거하는 방법에 대한 자세한 내용은 조직의 역할을(를) 참조하세요.
빌드 중 GitHub App
GitHub App를 빌드하려면 먼저 GitHub App를 등록해야 합니다. 자세한 내용은 GitHub 앱 등록을(를) 참조하세요.
그런 다음, GitHub App에 기능을 추가하는 코드를 작성해야 합니다. GitHub App 등록 시 사용한 자격 증명을 사용하여 GitHub의 API에 인증된 요청을 보낼 수 있습니다. 코드 작성에 대한 자세한 내용은 GitHub App을 참조하세요. 인증된 요청을 수행하는 방법에 대한 자세한 내용은 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수 있는 자동화의 몇 가지 예는 다음과 같습니다.
- 에코시스템에 대한 ID 공급자로 GitHub를 사용하는 GitHub App
- GitHub 위에 서비스를 추가하는 GitHub App로, GitHub 사용자에게 유용할 수 있습니다. GitHub Marketplace을 통해 또는 앱을 공개하여 다른 개발자와 앱을 공유할 수 있습니다.
GitHub Apps 독자적으로 행동하는
앱이 사용자 대신이 아닌 자체적으로 작업을 수행하도록 하려면 인증에 설치 액세스 토큰을 사용해야 합니다. 이 유형의 요청은 "서버 간"이라고도 하며 앱에 부여된 권한에 따라 앱이 제한된다는 의미합니다. 자세한 내용은 GitHub 앱 설치로 인증을(를) 참조하세요.
GitHub App로 만들 수 있는 자동화의 몇 가지 예로는 앱이 자체적으로 작동하는 경우가 있으며, 다음과 같습니다.
- 특정 조건 집합이 주어졌을 때 웹후크를 사용해 이벤트에 반응하는 GitHub App 예를 들어 특정 정책에 따라 요청을 승인하는 요청을 검토하기 위해 fine-grained personal access token REST API 엔드포인트를 중심으로 자동화를 만들 수 있습니다.
- 리포지토리 기여자에게 도움이 되는 GitHub App. 예를 들어 앱은 기여자 끌어오기 요청을 만들거나 주석을 만든 후 유용한 리소스를 게시할 수 있습니다.
- 다른 CI/CD 도구에 제공하거나 리포지토리에서 정보를 가져오는 데 사용할 수명이 짧은 토큰을 생성하는 GitHub App
GitHub Apps 웹후크에 응답하는
앱이 이벤트에 GitHub응답하도록 하려면 앱이 웹후크를 구독해야 합니다. 예를 들어 끌어오기 요청이 열릴 때 앱이 주석을 남기도록 할 수 있습니다. 자세한 내용은 GitHub 앱에서 웹후크 사용을(를) 참조하세요.
GitHub Apps 특정 작업을 수행할 수 있는
GitHub App를 설정할 때 앱의 특정 권한을 선택할 수 있습니다. 이러한 권한은 앱이 API를 통해 GitHub 수행할 수 있는 작업, 로그인한 사용자를 대신하여 수행할 수 있는 작업 및 앱이 받을 수 있는 웹후크를 결정합니다. 자세한 내용은 GitHub 앱에 대한 권한 선택을(를) 참조하세요.