Skip to main content

앱 정보

GitHub API와 통합하여 유연성을 추가하고 자체 워크플로에서 마찰을 줄일 수 있습니다. GitHub Marketplace에서 다른 사용자와 통합을 공유할 수도 있습니다.

GitHub의 앱을 사용하면 워크플로를 자동화하고 개선할 수 있습니다. 워크플로를 개선하기 위해 앱을 빌드할 수 있습니다. 또한 GitHub Marketplace에서 앱을 공유하거나 판매할 수 있습니다. GitHub Marketplace에 앱을 나열하는 방법을 알아보려면 “GitHub Marketplace 시작”을 참조하세요.

GitHub 앱은 데이터에 액세스할 수 있는 훨씬 더 세부적인 권한을 제공하기 때문에 GitHub과 통합하는 데 공식적으로 권장되는 방법입니다.이지만 GitHub는 OAuth Apps과 GitHub Apps을 모두 지원합니다. 앱 유형 선택에 대한 자세한 내용은 “GitHub 앱과 OAuth 앱 간의 차이점”을 참조하세요.

앱을 GitHub Actions와 함께 사용 중이고 워크플로 파일을 수정하려는 경우 workflow 범위가 포함된 OAuth 토큰을 사용하여 사용자를 대신하여 인증해야 합니다. 사용자에게는 워크플로 파일이 포함된 리포지토리에 대한 관리자 또는 쓰기 권한이 있어야 합니다. 자세한 내용은 “OAuth 앱에 대한 범위 이해”를 참조하세요.

GitHub App을 빌드하는 프로세스의 연습은 “첫 번째 GitHub App 빌드”를 참조하세요.

GitHub Apps 정보

GitHub Apps은 GitHub 내의 첫 번째 클래스 작업자입니다. GitHub App은 자체 ID를 사용하여 API를 통해 직접 작업을 수행하므로 봇 또는 서비스 계정을 별도의 사용자로 유지할 필요가 없습니다.

GitHub Apps은 조직 및 개인 계정에 직접 설치가 가능하고 특정 리포지토리에 대한 액세스 권한을 부여받을 수 있습니다. 또한 기본 제공 웹후크와 범위가 좁은 특정 권한이 함께 제공됩니다. GitHub App을 설정할 때 액세스할 리포지토리를 선택할 수 있습니다. 예를 들어 octocat 리포지토리 및 octocat 리포지토리에만 문제를 기록하는 MyGitHub라는 앱을 설정할 수 있습니다. GitHub App을 설치하려면 조직 소유자이거나 리포지토리에 관리자 권한이 있어야 합니다.

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

GitHub Apps은 어딘가에 호스트되어야 하는 애플리케이션입니다. 서버 및 호스팅을 다루는 단계별 지침은 “첫 번째 GitHub App 빌드”를 참조하세요.

워크플로를 개선하기 위해 여러 스크립트 또는 전체 애플리케이션이 포함된 GitHub App을 만든 다음, 해당 앱을 다른 많은 도구에 연결할 수 있습니다. 예를 들어 GitHub Apps을 GitHub, Slack, 다른 사내 앱, 메일 프로그램 또는 기타 API에 연결할 수 있습니다.

GitHub Apps을 만들 때 다음을 염두에 두어야 합니다.

  • 사용자 또는 조직은 최대 100개 GitHub 앱을 소유할 수 있습니다.

  • GitHub App은 사용자-서버 토큰을 사용하지 않는 한 사용자와 독립적으로 작업을 수행해야 합니다. 사용자-서버 액세스 토큰의 보안을 유지하기 위해 8시간 후에 만료되는 액세스 토큰과 새 액세스 토큰으로 교환할 수 있는 새로 고침 토큰을 사용할 수 있습니다. 자세한 내용은 “사용자-서버 액세스 토큰 새로 고침”을 참조하세요.

  • GitHub App이 특정 리포지토리와 통합되는지 확인합니다.

  • GitHub App은 개인 계정 또는 조직에 연결해야 합니다.

  • GitHub App이 사용자가 할 수 있는 모든 것을 알고 수행할 것으로 기대하지 마세요.

  • “GitHub를 사용하여 로그인” 서비스만 필요한 경우 GitHub App을 사용하지 마세요. 그러나 GitHub App은 사용자 ID 흐름을 사용하여 사용자를 로그인하고 아울러 다른 작업을 수행할 수 있습니다.

  • GitHub 사용자 역할만 하면서 GitHub 사용자가 할 수 있는 모든 작업을 수행하려는 경우 GitHub App을 빌드하지 마세요.

  • 앱을 GitHub Actions와 함께 사용 중이고 워크플로 파일을 수정하려는 경우 workflow 범위가 포함된 OAuth 토큰을 사용하여 사용자를 대신하여 인증해야 합니다. 사용자에게는 워크플로 파일이 포함된 리포지토리에 대한 관리자 또는 쓰기 권한이 있어야 합니다. 자세한 내용은 “OAuth 앱에 대한 범위 이해”를 참조하세요.

GitHub Apps을 개발하려면 “GitHub App 만들기”로 시작합니다. 사용자가 미리 구성된 GitHub Apps을 만들 수 있는 GitHub App 매니페스트를 사용하는 방법을 알아보려면 “매니페스트에서 GitHub Apps 만들기”를 참조하세요.

OAuth Apps 정보

OAuth2는 외부 애플리케이션이 암호에 액세스하지 않고 사용자의 GitHub 계정의 개인 정보에 대한 권한 부여를 요청할 수 있는 프로토콜입니다. 토큰은 특정 유형의 데이터로 제한될 수 있으며 언제든지 사용자가 철회할 수 있으므로 OAuth2가 기본 인증보다 선호됩니다.

경고: OAuth App에서 모든 권한을 취소하면 배포 키를 포함하여 애플리케이션이 사용자를 대신하여 생성한 모든 SSH 키가 삭제됩니다.

OAuth App은 ID 공급자로 GitHub를 사용하여 앱에 대한 액세스 권한을 부여하는 사용자로 인증합니다. 즉, 사용자가 OAuth App 액세스 권한을 부여할 때 계정에서 액세스할 수 있는 모든 리포지토리 및 타사 액세스를 차단하지 않은 조직에도 권한을 부여합니다.

간단한 스크립트에서 처리할 수 있는 것보다 더 복잡한 프로세스를 만드는 경우 OAuth App을 빌드하는 것이 좋습니다. OAuth Apps은 어딘가에 호스트되어야 하는 애플리케이션입니다.

OAuth Apps을 만들 때 다음을 염두에 두어야 합니다.

  • 사용자 또는 조직은 최대 100개 OAuth 앱을 소유할 수 있습니다.
  • OAuth App은 모든 GitHub에서 인증된 GitHub 사용자 역할을 해야 합니다(예: 사용자 알림을 제공할 때).
  • 인증된 사용자에 대해 “GitHub로 로그인”을 사용하도록 설정하여 OAuth App을 ID 공급자로 사용할 수 있습니다.
  • 애플리케이션이 단일 리포지토리에서 작동하도록 하려면 OAuth App을 빌드하지 마세요. repo OAuth 범위를 사용하면 OAuth Apps이 인증된 사용자의 모든 리포지토리에서 작동할 수 있습니다.
  • 팀 또는 회사의 애플리케이션 역할을 하려면 OAuth App을 빌드하지 마세요. OAuth Apps은 단일 사용자로 인증되므로 한 사람이 회사에서 사용할 OAuth App을 만든 다음 회사를 떠나는 경우 다른 사용자가 액세스할 수 없습니다.
  • GitHub Actions와 함께 OAuth 앱을 사용하고 워크플로 파일을 수정하려는 경우 OAuth 토큰에는 workflow 범위가 있어야 하며 사용자에게 워크플로 파일이 포함된 리포지토리에 대한 소유자 또는 쓰기 권한이 있어야 합니다. 자세한 내용은 “OAuth 앱에 대한 범위 이해”를 참조하세요.

OAuth Apps에 대한 자세한 내용은 “OAuth App 만들기” 및 “앱 등록”을 참조하세요.

Personal access tokens

personal access token는 범위를 통해 권한을 지정할 수 있다는 측면에서 OAuth 토큰과 유사하게 작동하는 문자 문자열입니다. personal access token은(는) 암호와 유사하지만, 암호가 많을 수 있으며 언제든지 각 데이터에 대한 액세스 권한을 취소할 수 있습니다.

예를 들어 personal access token이(가) 리포지토리에 쓰도록 설정할 수 있습니다. 그런 다음 명령을 실행 curl 하거나 리포지토리에서 문제를 만드는 스크립트를 작성하는 경우 personal access token를 전달하여 인증합니다. personal access token을(를) 환경 변수로 저장하여 사용할 때마다 입력하지 않도록 할 수 있습니다.

personal access tokens를 사용할 때 다음 아이디어를 염두에 두세요.

  • 본인만 나타내려면 이 토큰을 사용해야 합니다.
  • 일회성 curl 요청을 수행할 수 있습니다.
  • 개인 스크립트를 실행할 수 있습니다.
  • 팀 전체 또는 회사에서 사용할 스크립트를 설정하지 마세요.
  • 봇 사용자 역할을 하려면 공유 개인 계정을 설정하지 마세요.
  • 토큰에 필요한 최소 권한을 부여합니다.
  • personal access tokens에 대한 만료를 설정하여 정보를 안전하게 보호합니다.

빌드할 통합 결정

통합 만들기를 시작하기 전에 GitHub API에 액세스하고, 인증하고, 상호 작용하는 가장 좋은 방법을 결정해야 합니다. 다음 이미지는 통합에 personal access tokens, GitHub Apps 또는 OAuth Apps을(를) 사용할지 결정할 때 몇 가지 질문을 제공합니다.

앱 질문 흐름 소개

통합의 동작 방법과 액세스 대상에 대한 다음 질문을 생각해 보세요.

  • 내 통합은 단순히 나로서 작동할 것인가, 아니면 애플리케이션에 더 가깝게 작동할 것인가?
  • 통합이 독자적인 엔터티로서 나와는 독립적으로 행동하기를 원하는가?
  • 내가 액세스할 수 있는 모든 항목에 통합도 액세스할 것인가, 아니면 액세스를 제한할 것인가?
  • 통합은 단순한가, 아니면 복잡한가? 예를 들어 personal access tokens는 간단한 스크립트 및 curl 명령에 적합하지만 OAuth App는 더 복잡한 스크립팅을 처리할 수 있습니다.

지원 요청

GitHub Apps, OAuth Apps, API 개발에 대한 질문, 버그 보고서 및 토론은 GitHub 커뮤니티에 대한 API 및 통합 토론을(를) 탐색합니다. 토론은 GitHub 직원에 의해 조정되고 유지 관리되지만 포럼에 게시된 질문은 GitHub 직원으로부터 회신을 받을 수 없습니다.

연락처 양식을 사용하여 GitHub 지원에 직접 연락하는 것이 좋습니다.

  • GitHub Enterprise Cloud 직원의 보장된 응답
  • 중요한 데이터 또는 개인 문제와 관련된 지원 요청
  • 기능 요청
  • GitHub Enterprise Cloud 제품에 대한 피드백