Skip to main content
Skip to content

외부 시스템과 사용자 지정 속성 통합

GitHub App을 사용하여 조직의 리포지토리에서 사용자 지정 속성에 외부 메타데이터를 기록합니다.

참고

외부 사용자 지정 속성이 있으며 공개 미리 보기 변경될 수 있습니다.

소프트웨어 카탈로그 또는 내부 개발자 포털과 같은 외부 시스템의 메타데이터를 GitHub의 리포지토리 사용자 지정 속성에 자동으로 기록할 수 있습니다. 이렇게 하면 외부 시스템이 이러한 속성의 원본이 되며, 리포지토리에서 소유권, 서비스 계층 또는 규정 준수 상태와 같은 비즈니스 컨텍스트를 최신 상태로 유지하는 데 도움이 됩니다. 외부 속성은 관리되는 사용자 지정 속성과 동일한 위치에서 사용할 수 있습니다 GitHub.

이 자동화를 설정하려면 외부 시스템의 데이터를 사용하여 외부 속성용 API 엔드포인트를 호출하는 GitHub App를 설치합니다.

  • 통합 파트너 포트 는 외부 사용자 지정 속성에 대한 통합을 개발했습니다. 포트에서 메타데이터를 동기화하는 데 필요한 모든 단계는 포트 설명서의 외부 사용자 지정 속성에 GitHub 대한 동기화 포트 속성을 참조하세요. GitHub 는 나중에 더 많은 공급자를 추가하기 위해 작동합니다.
  • 조직에서 다른 외부 시스템을 사용하거나, GitHub와 통합을 만들려는 외부 시스템 담당자인 경우 자체 GitHub App 및 자동화를 직접 만들어야 합니다. 이 가이드를 계속 읽으세요.

필수 조건

이 프로세스에는 여러 사람이 필요할 수 있습니다. 다음이 필요합니다.

  • 자신의 개인 계정 또는 본인이 소유자인 조직이나 엔터프라이즈 계정에서 GitHub App를 설정할 사람
  • 한 명 이상의 조직 소유자가 GitHub 앱이 필요한 각 조직에 앱을 설치하고, 필요한 경우 앱의 표시 이름도 등록할 수 있습니다.

이 가이드의 범위를 벗어나 외부 시스템과 자동화가 실행되는 서버에 대한 적절한 액세스 권한으로 자동화를 만들고 실행할 수 있는 사람도 필요합니다.

1. 표시 이름 선택

조직의 모든 외부 사용자 지정 속성 키에는 표시 이름이 접두사로 지정됩니다. 예: port.environment. 이는 네임스페이스 역할을 하며, 관리 GitHub 되는 사용자 지정 속성 또는 다른 외부 공급자와의 충돌을 방지하는 데 도움이 됩니다.

각 표시 이름은 조직 내 단일 GitHub App 설치에만 적용됩니다. 앱에서 GitHub에 사용자 지정 속성을 쓸 수 있으려면 먼저 표시 이름으로 앱 설치를 등록해야 합니다. 앱 자체 또는 조직 관리자가 수행할 수 있는 일회성 프로세스입니다. 앱 설치는 한 번만 등록할 수 있으며 나중에 표시 이름을 변경할 수 없습니다.

충돌을 방지하고 사용자가 외부 시스템에서 사용자 지정 속성을 식별하는 데 도움이 되는 이름을 선택합니다. 타사 시스템을 대신하여 앱을 게시하는 경우 충돌에 대응하거나 사용자가 시스템에서 설치 흐름의 일부로 자신의 표시 이름을 선택할 수 있도록 허용할 수 있습니다.

표시 이름은 1자에서 15자 사이여야 하며 문자와 숫자만 포함해야 합니다. 모든 요구 사항은 REST API의 외부 속성 엔드포인트에 대한 앱 설치 등록 을 참조하세요.

2. GitHub App 등록

외부 GitHub App 사용자 지정 속성을 관리하기 위해 API를 호출하는 ID입니다. GitHub의 이벤트에 대한 웹후크를 수신 대기할 수도 있습니다.

내부 프로세스용 앱을 만드는 경우 조직 또는 엔터프라이즈 계정으로 앱을 만드는 것이 좋습니다. 그런 다음 필요한 만큼 많은 조직에 앱을 설치할 수 있습니다. 타사 시스템의 담당자인 경우 다른 회사에서 설치할 수 있도록 앱을 게시할 GitHub Marketplace 수 있습니다.

지침은 GitHub 앱 등록을(를) 참조하세요.

사용 권한 선택

조직 권한에서 앱이 외부 속성 API에 데이터를 쓸 수 있도록 리포지토리 권한에 대한 외부 사용자 지정 속성을 사용하도록 설정합니다. 필요한 액세스 수준은 앱이 수행해야 하는 사항에 따라 달라집니다.

  • 앱이 설치 액세스 토큰을 사용하여 자체 표시 이름을 등록하는 경우 관리자 액세스를 선택합니다. 이는 많은 조직에 설치될 셀프 서비스 앱에 적합한 모델입니다.
  • 앱에서 사용자 지정 속성GitHub만 써야 하는 경우 읽기 및 쓰기 액세스를 선택합니다. 조직 관리자는 설치에 대한 표시 이름을 등록해야 합니다.

읽기 전용 액세스는 이 작업에 대한 옵션이 아닙니다. 이 수준의 액세스 권한이 있는 앱은 자체 외부 사용자 지정 속성 정의만 읽을 수 있습니다.

웹후크 이벤트를 구독하려면 추가 권한을 사용하도록 설정해야 할 수 있습니다.

자세한 내용은 GitHub 앱에 필요한 권한을(를) 참조하세요.

웹후크 선택

웹후크를 활성화하여 외부 시스템의 데이터 전송을 트리거하는 GitHub의 이벤트를 구독할 수 있습니다.

다음은 그 예입니다.

  • 앱이 조직( installation 작업이 포함된 created 이벤트)에 설치된 경우 외부 시스템에서 조직의 리포지토리로의 첫 번째 동기화를 트리거할 수 있습니다. 이 이벤트는 기본적으로 모두 GitHub Apps 로 전송됩니다.
  • 조직에서 새 리포지토리가 만들어지면( repository 작업이 포함된 created 이벤트) 리포지토리가 메타데이터로 자동으로 채워질 수 있습니다. 이 이벤트를 사용하려면 메타데이터 리포지토리 권한에 대한 읽기 권한이 필요합니다.

자동화가 일정에 따라 실행되도록 하려면 웹후크가 필요하지 않습니다.

자세한 내용은 GitHub 앱에서 웹후크 사용을(를) 참조하세요.

설치 범위 선택

이 GitHub 앱을 설치할 수 있는 위치 아래에서 필요한 모든 조직에 앱을 설치할 수 있는지 확인합니다.

3. 자동화 만들기

팁

예제 구현은 external-custom-properties-sample 리포지토리를 참조하세요.

자동화는 일정에 따라 실행되거나 이벤트를 수신 대기할 수 있습니다. 앱에 대해 선택한 웹훅은 어떤 GitHub 이벤트가 웹훅 URL로 전달될지를 결정합니다. 메타데이터 값 변경과 같은 타사 시스템의 이벤트에 응답할 수도 있습니다.

자동화에서 GitHub App는 설치 액세스 토큰을 획득해야 하며, 그 토큰을 사용하여 외부 시스템에서 GitHub의 외부 속성 API 엔드포인트로 데이터를 전송해야 합니다. GitHub 앱 설치로 인증을(를) 참조하세요.

REST API의 다음 엔드포인트를 참조하세요. 자동화에서 고려해야 하는 요청 크기 제한 및 오류 코드에 대한 정보를 찾을 수 있습니다.

4. 앱 설치

GitHub App 필요한 조직에 설치하고 필요한 권한을 부여합니다. 고유한 GitHub 앱 설치을(를) 참조하세요.

외부 사용자 지정 속성 권한은 조직 범위이므로 기본적으로 모든 리포지토리에 대한 액세스 권한이 있는 앱이 설치됩니다. 앱에 리포지토리 수준 권한도 없으면 개별 리포지토리를 선택하는 옵션이 표시되지 않습니다.

앱이 표시 이름을 자동으로 등록하지 않거나 관리자 액세스 권한을 부여할 수 없는 경우 조직 관리자는 설치에 대한 표시 이름을 등록해야 합니다. 조직 소유자 또는 세분화된 권한이 있는 organization_external_properties_for_repos:admin 사람일 수 있습니다. 외부 사용자 지정 속성에 대한 앱 설치 등록을 참조하세요.

5. 데이터 전송 유효성 검사

자동화가 실행되면 외부 속성이 조직의 리포지토리와 동기화되고 있는지 확인합니다. 조직 또는 해당 리포지토리에 대한 사용자 지정 속성 설정에서 이러한 속성을 볼 수 있어야 합니다. 속성 키에는 외부 표시 이름이 접두사로 지정되고 값은 아이콘으로 표시됩니다. 조직의 리포지토리에 대한 사용자 지정 속성 관리을(를) 참조하세요.

외부 속성 값 은 리포지토리 REST API 엔드포인트에 대한 모든 사용자 지정 속성 값 가져오기에서 기존 사용자 지정 속성 과 함께 반환됩니다. 그러나 /schema "조직의 모든 사용자 지정 속성 가져오기"와 같은 사용자 지정 속성에 대한 엔드포인트는 외부 속성을 반환 하지 않습니다.

사용자는 이러한 속성을 편집할 수 없지만 기존 사용자 지정 속성을 GitHub사용하는 모든 위치에서 사용할 수 있습니다.

6. 통합 유지 관리

자동화를 계속 실행하고 외부 시스템에서 데이터를 동기화하도록 앱을 설치합니다. 조직에서 제거 GitHub App 하면 설치 및 표시 이름이 등록 취소되고 앱에서 만든 모든 외부 속성이 제거됩니다.

조직에 정의된 속성 수에 주의하세요. 각 조직에는 최대 100개의 속성 정의가 있을 수 있습니다. 외부 및 표준 사용자 지정 속성은 모두 이 제한에 포함됩니다.