메인 콘텐츠로 건너뛰기
This feature requires a Pro or Enterprise plan.
이 페이지는 webhook automation을 생성하는 방법을 보여줍니다. Slack 자동화를 생성하려면 Create a Slack automation을 대신 참조하세요. 개괄적으로, webhook 자동화를 생성하려면 다음 단계를 따릅니다:
  1. 필요한 경우, 엑세스 토큰, 비밀번호 또는 SSH 키와 같이 자동화에 필요한 각 민감한 문자열에 대해 W&B secret을 생성합니다. Secrets는 Team Settings에서 정의됩니다.
  2. 엔드포인트 및 인증 세부 정보를 정의하고 인테그레이션에 필요한 secrets에 대한 엑세스 권한을 부여하기 위해 webhook을 생성합니다.
  3. 모니터링할 event와 W&B가 보낼 페이로드를 정의하기 위해 automation을 생성합니다. 페이로드에 필요한 secrets에 대한 엑세스 권한을 자동화에 부여합니다.

Create a webhook

팀 관리자는 팀을 위한 webhook을 추가할 수 있습니다.
webhook에 Bearer 토큰이 필요하거나 페이로드에 민감한 문자열이 필요한 경우, webhook을 생성하기 전에 해당 내용을 포함하는 secret을 생성하세요. webhook 하나당 최대 하나의 엑세스 토큰과 하나의 기타 secret을 설정할 수 있습니다. webhook의 인증 및 권한 부여 요구 사항은 webhook 서비스에 의해 결정됩니다.
  1. W&B에 로그인하고 Team Settings 페이지로 이동합니다.
  2. Webhooks 섹션에서 New webhook을 클릭합니다.
  3. webhook의 이름을 입력합니다.
  4. webhook의 엔드포인트 URL을 입력합니다.
  5. webhook에 Bearer 토큰이 필요한 경우, Access token을 해당 토큰이 포함된 secret으로 설정합니다. webhook 자동화를 사용할 때 W&B는 Authorization: Bearer HTTP 헤더를 엑세스 토큰으로 설정하며, ${ACCESS_TOKEN} payload variable을 통해 토큰에 엑세스할 수 있습니다. W&B가 webhook 서비스로 보내는 POST 요청의 구조에 대한 자세한 내용은 Troubleshoot your webhook에서 확인하세요.
  6. webhook의 페이로드에 비밀번호나 기타 민감한 문자열이 필요한 경우, Secret을 해당 문자열이 포함된 secret으로 설정합니다. 해당 webhook을 사용하는 자동화를 구성할 때, 이름 앞에 $를 붙여 payload variable로서 secret에 엑세스할 수 있습니다. webhook의 엑세스 토큰이 secret에 저장된 경우, 해당 secret을 엑세스 토큰으로 지정하기 위해 다음 단계도 반드시 완료해야 합니다.
  7. W&B가 엔드포인트에 연결 및 인증할 수 있는지 확인하려면:
    1. 선택적으로, 테스트할 페이로드를 제공합니다. 페이로드 내에서 webhook이 엑세스 권한을 가진 secret을 참조하려면 이름 앞에 $를 붙입니다. 이 페이로드는 테스트용으로만 사용되며 저장되지 않습니다. 자동화의 페이로드는 automation을 생성할 때 구성합니다. POST 요청에서 secret과 엑세스 토큰이 지정되는 위치를 보려면 Troubleshoot your webhook을 참조하세요.
    2. Test를 클릭합니다. W&B는 구성된 자격 증명을 사용하여 webhook의 엔드포인트 연결을 시도합니다. 페이로드를 제공한 경우 W&B가 이를 전송합니다.
    테스트가 성공하지 못하면 webhook 설정을 확인하고 다시 시도하세요. 필요한 경우 Troubleshoot your webhook을 참조하세요.
팀 내 두 개의 webhook을 보여주는 스크린샷
이제 해당 webhook을 사용하는 automation을 생성할 수 있습니다.

Create an automation

webhook을 구성한 후, Registry 또는 Project를 선택한 다음 아래 단계에 따라 webhook을 트리거하는 자동화를 생성합니다.
Registry 관리자는 해당 registry에서 자동화를 생성할 수 있습니다. Registry 자동화는 미래에 추가될 컬렉션을 포함하여 registry 내의 모든 컬렉션에 적용됩니다.
  1. W&B에 로그인합니다.
  2. 세부 정보를 보려면 registry의 이름을 클릭합니다.
  3. registry 범위의 자동화를 생성하려면 Automations 탭을 클릭한 다음 Create automation을 클릭합니다.
  4. 모니터링할 event를 선택합니다. 추가로 나타나는 필드를 채웁니다. 예를 들어, An artifact alias is added를 선택하면 Alias regex를 지정해야 합니다. Next step을 클릭합니다.
  5. webhook을 소유한 팀을 선택합니다.
  6. Action typeWebhooks로 설정한 다음 사용할 webhook을 선택합니다.
  7. webhook에 엑세스 토큰을 구성한 경우, ${ACCESS_TOKEN} payload variable을 통해 토큰에 엑세스할 수 있습니다. webhook에 secret을 구성한 경우, 이름 앞에 $를 붙여 페이로드에서 해당 secret에 엑세스할 수 있습니다. webhook의 요구 사항은 webhook 서비스에 의해 결정됩니다.
  8. Next step을 클릭합니다.
  9. 자동화의 이름을 입력합니다. 선택적으로 설명을 입력할 수 있습니다. Create automation을 클릭합니다.

View and manage automations

Registry의 Automations 탭에서 registry 자동화를 관리합니다.
  • 자동화의 세부 정보를 보려면 이름을 클릭합니다.
  • 자동화를 편집하려면 액션 ... 메뉴를 클릭한 다음 Edit automation을 클릭합니다.
  • 자동화를 삭제하려면 액션 ... 메뉴를 클릭한 다음 Delete automation을 클릭합니다. 확인 절차가 필요합니다.

Payload reference

이 섹션을 사용하여 webhook의 페이로드를 구성하세요. webhook 및 페이로드 테스트에 대한 자세한 내용은 Troubleshoot your webhook을 참조하세요.

Payload variables

이 섹션은 webhook의 페이로드를 구성하는 데 사용할 수 있는 변수들을 설명합니다.
변수세부 정보
${project_name}액션을 트리거한 변경 사항을 소유한 프로젝트의 이름.
${entity_name}액션을 트리거한 변경 사항을 소유한 Entity 또는 팀의 이름.
${event_type}액션을 트리거한 이벤트의 유형.
${event_author}액션을 트리거한 사용자.
${alias}자동화가 An artifact alias is added 이벤트에 의해 트리거된 경우 아티팩트의 에일리어스를 포함합니다. 다른 자동화의 경우 이 변수는 비어 있습니다.
${tag}자동화가 An artifact tag is added 이벤트에 의해 트리거된 경우 아티팩트의 태그를 포함합니다. 다른 자동화의 경우 이 변수는 비어 있습니다.
${artifact_collection_name}아티팩트 버전이 링크된 아티팩트 컬렉션의 이름.
${artifact_metadata.<KEY>}액션을 트리거한 아티팩트 버전의 임의의 최상위 메타데이터 키 값. <KEY>를 최상위 메타데이터 키의 이름으로 바꿉니다. webhook 페이로드에서는 최상위 메타데이터 키만 사용할 수 있습니다.
${artifact_version}액션을 트리거한 아티팩트 버전의 Wandb.Artifact 표현.
${artifact_version_string}액션을 트리거한 아티팩트 버전의 string 표현.
${ACCESS_TOKEN}webhook에 구성된 엑세스 토큰의 값 (구성된 경우). 엑세스 토큰은 Authorization: Bearer HTTP 헤더에 자동으로 전달됩니다.
${SECRET_NAME}webhook에 구성된 경우 해당 secret의 값. SECRET_NAME을 secret의 이름으로 바꿉니다.

Payload examples

이 섹션에는 몇 가지 일반적인 유스 케이스에 대한 webhook 페이로드 예시가 포함되어 있습니다. 예시는 payload variables 사용 방법을 보여줍니다.
GHA 워크플로우를 트리거하는 데 필요한 권한 세트가 엑세스 토큰에 있는지 확인하세요. 자세한 내용은 GitHub 문서를 참조하세요.
W&B에서 GitHub 액션을 트리거하기 위해 repository dispatch를 보냅니다. 예를 들어, on 키에 대해 repository dispatch를 트리거로 허용하는 GitHub 워크플로우 파일이 있다고 가정해 보겠습니다.
on:
repository_dispatch:
  types: BUILD_AND_DEPLOY
Repository를 위한 페이로드는 다음과 같을 수 있습니다:
{
  "event_type": "BUILD_AND_DEPLOY",
  "client_payload": 
  {
    "event_author": "${event_author}",
    "artifact_version": "${artifact_version}",
    "artifact_version_string": "${artifact_version_string}",
    "artifact_collection_name": "${artifact_collection_name}",
    "project_name": "${project_name}",
    "entity_name": "${entity_name}"
    }
}
webhook 페이로드의 event_type 키는 GitHub 워크플로우 YAML 파일의 types 필드와 일치해야 합니다.
렌더링된 템플릿 문자열의 내용과 위치는 자동화가 구성된 이벤트 또는 모델 버전에 따라 달라집니다. ${event_type}LINK_ARTIFACT 또는 ADD_ARTIFACT_ALIAS 중 하나로 렌더링됩니다. 아래의 매핑 예시를 참조하세요:
${event_type} --> "LINK_ARTIFACT" 또는 "ADD_ARTIFACT_ALIAS"
${event_author} --> "<wandb-user>"
${artifact_version} --> "wandb-artifact://_id/QXJ0aWZhY3Q6NTE3ODg5ODg3""
${artifact_version_string} --> "<entity>/model-registry/<registered_model_name>:<alias>"
${artifact_collection_name} --> "<registered_model_name>"
${project_name} --> "model-registry"
${entity_name} --> "<entity>"
템플릿 문자열을 사용하여 W&B에서 GitHub Actions 및 기타 툴로 컨텍스트를 동적으로 전달할 수 있습니다. 해당 툴에서 Python 스크립트를 호출할 수 있는 경우, W&B API를 통해 등록된 모델 아티팩트를 사용할 수 있습니다.

Troubleshoot your webhook

W&B 앱 UI를 통해 대화식으로, 또는 Bash 스크립트를 통해 프로그래밍 방식으로 webhook의 문제를 해결할 수 있습니다. 새로운 webhook을 생성하거나 기존 webhook을 편집할 때 문제를 해결할 수 있습니다. W&B가 POST 요청에 사용하는 형식에 대한 자세한 내용은 Bash 스크립트 탭을 참조하세요.
팀 관리자는 W&B 앱 UI에서 대화식으로 webhook을 테스트할 수 있습니다.
  1. W&B Team Settings 페이지로 이동합니다.
  2. Webhooks 섹션으로 스크롤합니다.
  3. webhook 이름 옆에 있는 가로 점 세 개(미트볼 아이콘)를 클릭합니다.
  4. Test를 선택합니다.
  5. 나타나는 UI 패널에서 나타나는 필드에 POST 요청을 붙여넣습니다.
    webhook 페이로드 테스트 데모
  6. Test webhook을 클릭합니다. W&B 앱 UI 내에서 W&B가 엔드포인트의 응답을 게시합니다.
    webhook 테스트 데모
데모는 Testing Webhooks in W&B 영상을 시청하세요.