GitHub 서비스 [사용 중단됨]
중요
타사 서비스 & 푸시 알림 사용 중단
App Services의 타사 서비스 및 푸시 알림은 함수에서 외부 종속성을 사용하는 HTTP 엔드포인트를 만들기 위해 더 이상 사용되지 않습니다.
웹훅은 동작에 대한 변경 없이 HTTPS 엔드포인트로 이름이 변경되었습니다. 기존 웹훅을 마이그레이션해야 합니다.
기존 서비스는,9월까지 30 계속2025 작동합니다.
타사 서비스 및 푸시 알림은 이제 더 이상 사용되지 않으므로 App Services UI에서 기본적으로 제거되었습니다. 기존 타사 서비스 또는 푸시 알림을 관리해야 하는 경우 다음을 수행하여 구성을 UI에 다시 추가할 수 있습니다.
왼쪽 탐색의 Manage 섹션에서 App Settings를 클릭합니다.
Temporarily Re-Enable 3rd Party Services 옆의 토글 스위치를 활성화한 다음 변경 사항을 저장합니다.
개요
GitHub는 Git 리포지토리를 호스팅하고 검토할 수 있는 웹 기반 개발 플랫폼입니다.
Atlas App Services Github 서비스를 사용하면 애플리케이션이 Github 리포지토리의 이벤트(예: 새 pull 요청 또는 문제)에 React 할 수 있습니다.
구성 매개변수
GitHub 서비스 인터페이스를 만들 때 다음 매개변수에 대한 값을 제공해야 합니다.
{ "name": "<Service Name>", "type": "github", "config": {} }
Parameter | 설명 |
---|---|
Service Name config.name | 이 GitHub 서비스 인터페이스의 이름입니다. 이는 애플리케이션의 다른 모든 서비스 인터페이스와 구별되어야 합니다. |
서비스 조치
Github 서비스는 어떤 서비스 조치도 제공하지 않습니다. 수신 웹훅 을 사용하여 Github 의 이벤트에 응답합니다.
수신 Webhooks
참고
GitHub 웹훅을 엔드포인트로 변환
Github 서비스 웹훅은 사용자 지정 HTTPS endpoints를 위해 더 이상 사용되지 않습니다. 기존 Github 웹훅을 엔드포인트로 마이그레이션하는 방법을 알아보려면 웹훅 을 HTTPS endpoints로 참조하세요.
Github 는 리포지토리에서 특정 이벤트가 발생할 때마다 하나 이상의 웹훅을 호출할 수 있습니다. 이벤트 유형에 대한 자세한 참조 정보를 포함하여 의 웹훅 기능에 대해 자세히 알아보려면 Github Github Github 의 웹훅 을 참조하세요. 문서화.
구성
Github 수신 웹훅을 구성할 때 다음 형식의 구성 파일 을 제공해야 합니다.
{ "name": <string>, "respond_result": <boolean>, "run_as_user_id": <string>, "run_as_user_id_script_source": <string>, "options": { "secret": <string> }, }
구성 값 | 설명 |
---|---|
Webhook Name name | 필수입니다. 웹훅의 이름입니다. GitHub 서비스 인터페이스에서 수신되는 각 웹훅은 고유한 이름을 가져야 합니다. |
Respond With Result respond_result | 필수입니다. true 인 경우 App Services는 웹훅 함수의 반환 값을 GitHub 응답 본문으로 보냅니다. |
Run Webhook As run_as_user_id run_as_user_id_script_source | 선택 사항. 웹훅이 호출될 때 웹훅 함수를 실행하는 App Services 사용자 의 ID입니다.
|
Request Validation config.secret | GitHub가 요청이 유효하다는 것을 증명하기 위해 수신 요청에 포함하는 GitHub Secret 문자열입니다. 웹훅 URL을 제공할 때 GitHub 리포지토리 설정에서 이 값을 지정해야 합니다. |
요청 페이로드
App Services는 수신 웹훅 함수에 payload
문서를 첫 번째 인수로 자동으로 전달합니다. GitHub 서비스 수신 웹훅에서 payload
객체는 GitHub가 웹훅을 호출하도록 한 GitHub 이벤트를 나타냅니다.
참고
Github payload
문서의 정확한 내용은 문서가 나타내는 이벤트 유형에 따라 달라집니다. 특정 이벤트 유형의 페이로드 문서에 대한 자세한 설명은 Github 의 이벤트 유형 & 페이로드 를 참조하세요. 문서화.
웹훅 함수 예시
다음 웹훅 함수는 들어오는 데이터를 MongoDB collection에 삽입합니다.
exports = function(payload) { const mongodb = context.services.get("mongodb-atlas"); const requestlogs = mongodb.database("test").collection("requestlogs"); return requestlogs .insertOne({ "commits": payload.commits, "pushed_by": payload.pusher, "repo": payload.repository.html_url }) .then(({ insertedId }) => `Inserted document with _id: ${insertedId}`) }
payload
문서는 GitHub 서비스에 의해 전달되며 요청의 정보를 포함합니다.
GitHub 구성
GitHub 리포지토리에 Webhook 추가
구독하려는 리포지토리로 이동합니다.
리포지토리의 Settings 탭을 클릭하고 왼쪽 메뉴에서 Webhooks 을 선택합니다.
Add Webhook를 클릭합니다.
웹훅 URL을 Payload URL 필드에 추가합니다.
콘텐츠 유형을
application/json
으로 설정합니다.GitHub Secret 을 입력합니다. 이 값은 웹훅 구성에서 제공한 값과 일치해야 합니다.
구독하려는 이벤트 유형을 선택합니다.
Add webhook를 클릭합니다.