이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.

이 페이지의 일반 화면으로 돌아가기.

Create an automation

This feature requires a Pro or Enterprise plan.

이 페이지에서는 W&B 자동화 생성 및 관리에 대한 개요를 제공합니다. 자세한 내용은 Slack 자동화 생성 또는 Webhook 자동화 생성을 참조하세요.

요구 사항

  • 팀 관리자는 팀의 Projects에 대한 자동화와 웹훅, 보안 비밀 또는 Slack 연결과 같은 자동화 구성 요소를 생성하고 관리할 수 있습니다. 팀 설정을 참조하세요.
  • 레지스트리 자동화를 생성하려면 레지스트리에 대한 엑세스 권한이 있어야 합니다. 레지스트리 엑세스 구성을 참조하세요.
  • Slack 자동화를 생성하려면 선택한 Slack 인스턴스 및 채널에 게시할 수 있는 권한이 있어야 합니다.

자동화 생성

Project 또는 레지스트리의 Automations 탭에서 자동화를 생성합니다. 개략적으로 자동화를 생성하려면 다음 단계를 따르세요.

  1. 필요한 경우 엑세스 토큰, 비밀번호 또는 SSH 키와 같이 자동화에 필요한 각 민감한 문자열에 대해 W&B 보안 비밀 생성을 수행합니다. 보안 비밀은 Team Settings에 정의되어 있습니다. 보안 비밀은 일반적으로 웹훅 자동화에서 사용됩니다.
  2. W&B가 Slack에 게시하거나 사용자를 대신하여 웹훅을 실행할 수 있도록 웹훅 또는 Slack 알림을 구성합니다. 단일 자동화 작업(웹훅 또는 Slack 알림)은 여러 자동화에서 사용할 수 있습니다. 이러한 작업은 Team Settings에 정의되어 있습니다.
  3. Project 또는 레지스트리에서 감시할 이벤트와 수행할 작업(예: Slack에 게시 또는 웹훅 실행)을 지정하는 자동화를 생성합니다. 웹훅 자동화를 생성할 때 전송할 페이로드를 구성합니다.

자세한 내용은 다음을 참조하세요.

자동화 보기 및 관리

Project 또는 레지스트리의 Automations 탭에서 자동화를 보고 관리합니다.

  • 자동화 세부 정보를 보려면 해당 이름을 클릭합니다.
  • 자동화를 편집하려면 해당 작업 ... 메뉴를 클릭한 다음 자동화 편집을 클릭합니다.
  • 자동화를 삭제하려면 해당 작업 ... 메뉴를 클릭한 다음 자동화 삭제를 클릭합니다.

다음 단계

1 - Create a Slack automation

This feature requires a Pro or Enterprise plan.

이 페이지에서는 Slack 자동화를 만드는 방법을 보여줍니다. 웹훅 자동화를 만들려면 웹훅 자동화 생성를 대신 참조하세요.

Slack 자동화를 생성하려면 다음과 같은 단계를 수행합니다.

  1. Slack 통합 추가를 통해 Weights & Biases가 Slack 인스턴스 및 채널에 게시할 수 있도록 승인합니다.
  2. Slack 자동화 생성를 통해 감시할 이벤트와 게시할 채널을 정의합니다.

Slack에 연결

팀 관리자는 팀에 Slack 대상을 추가할 수 있습니다.

  1. W&B에 로그인하고 팀 설정 페이지로 이동합니다.

  2. Slack 채널 통합 섹션에서 Slack 연결을 클릭하여 새 Slack 인스턴스를 추가합니다. 기존 Slack 인스턴스에 대한 채널을 추가하려면 새로운 통합을 클릭합니다.

    필요한 경우 브라우저에서 Slack에 로그인합니다. 메시지가 표시되면 선택한 Slack 채널에 게시할 수 있는 권한을 W&B에 부여합니다. 페이지를 읽은 다음 채널 검색을 클릭하고 채널 이름을 입력하기 시작합니다. 목록에서 채널을 선택한 다음 허용을 클릭합니다.

  3. Slack에서 선택한 채널로 이동합니다. [Your Slack handle] added an integration to this channel: Weights & Biases와 같은 게시물이 표시되면 통합이 올바르게 구성된 것입니다.

이제 구성한 Slack 채널에 알림을 보내는 자동화 생성를 할 수 있습니다.

Slack 연결 보기 및 관리

팀 관리자는 팀의 Slack 인스턴스 및 채널을 보고 관리할 수 있습니다.

  1. W&B에 로그인하고 팀 설정으로 이동합니다.
  2. Slack 채널 통합 섹션에서 각 Slack 대상을 봅니다.
  3. 휴지통 아이콘을 클릭하여 대상을 삭제합니다.

자동화 생성

W&B 팀을 Slack에 연결한 후 Registry 또는 Project를 선택한 다음 다음 단계에 따라 Slack 채널에 알림을 보내는 자동화를 만듭니다.

Registry 관리자는 해당 Registry에서 자동화를 생성할 수 있습니다.

  1. W&B에 로그인합니다.

  2. Registry 이름을 클릭하여 세부 정보를 봅니다.

  3. Registry 범위로 자동화를 생성하려면 Automations 탭을 클릭한 다음 자동화 생성을 클릭합니다. Registry 범위로 지정된 자동화는 해당 컬렉션(향후 생성된 컬렉션 포함) 모두에 자동으로 적용됩니다.

    Registry에서 특정 컬렉션에만 범위가 지정된 자동화를 생성하려면 컬렉션 작업 ... 메뉴를 클릭한 다음 자동화 생성을 클릭합니다. 또는 컬렉션을 보는 동안 컬렉션 세부 정보 페이지의 Automations 섹션에서 자동화 생성 버튼을 사용하여 컬렉션에 대한 자동화를 만듭니다.

  4. 감시할 Event를 선택합니다.

    이벤트에 따라 나타나는 추가 필드를 작성합니다. 예를 들어 아티팩트 에일리어스가 추가됨을 선택한 경우 에일리어스 정규식을 지정해야 합니다.

    다음 단계를 클릭합니다.

  5. Slack 통합을 소유한 팀을 선택합니다.

  6. 액션 유형Slack 알림으로 설정합니다. Slack 채널을 선택한 다음 다음 단계를 클릭합니다.

  7. 자동화 이름을 입력합니다. 선택적으로 설명을 제공합니다.

  8. 자동화 생성을 클릭합니다.

W&B 관리자는 프로젝트에서 자동화를 생성할 수 있습니다.

  1. W&B에 로그인합니다.

  2. 프로젝트 페이지로 이동하여 Automations 탭을 클릭합니다.

  3. 자동화 생성을 클릭합니다.

  4. 감시할 Event를 선택합니다.

    이벤트에 따라 나타나는 추가 필드를 작성합니다. 예를 들어 아티팩트 에일리어스가 추가됨을 선택한 경우 에일리어스 정규식을 지정해야 합니다.

    다음 단계를 클릭합니다.

  5. Slack 통합을 소유한 팀을 선택합니다.

  6. 액션 유형Slack 알림으로 설정합니다. Slack 채널을 선택한 다음 다음 단계를 클릭합니다.

  7. 자동화 이름을 입력합니다. 선택적으로 설명을 제공합니다.

  8. 자동화 생성을 클릭합니다.

자동화 보기 및 관리

  • Registry의 Automations 탭에서 Registry의 자동화를 관리합니다.
  • 컬렉션의 세부 정보 페이지의 Automations 섹션에서 컬렉션의 자동화를 관리합니다.

이러한 페이지에서 Registry 관리자는 기존 자동화를 관리할 수 있습니다.

  • 자동화의 세부 정보를 보려면 해당 이름을 클릭합니다.
  • 자동화를 편집하려면 해당 작업 ... 메뉴를 클릭한 다음 자동화 편집을 클릭합니다.
  • 자동화를 삭제하려면 해당 작업 ... 메뉴를 클릭한 다음 자동화 삭제를 클릭합니다. 확인이 필요합니다.

W&B 관리자는 프로젝트의 Automations 탭에서 프로젝트의 자동화를 보고 관리할 수 있습니다.

  • 자동화의 세부 정보를 보려면 해당 이름을 클릭합니다.
  • 자동화를 편집하려면 해당 작업 ... 메뉴를 클릭한 다음 자동화 편집을 클릭합니다.
  • 자동화를 삭제하려면 해당 작업 ... 메뉴를 클릭한 다음 자동화 삭제를 클릭합니다. 확인이 필요합니다.

2 - Create a webhook automation

This feature requires a Pro or Enterprise plan.

이 페이지에서는 webhook 자동화를 만드는 방법을 보여줍니다. Slack 자동화를 만들려면 Slack 자동화 만들기를 참조하세요.

개략적으로 webhook 자동화를 만들려면 다음 단계를 수행합니다.

  1. 필요한 경우 액세스 토큰, 비밀번호 또는 SSH 키와 같이 자동화에 필요한 각 민감한 문자열에 대해 W&B secret 만들기를 수행합니다. secret은 팀 설정에 정의되어 있습니다.
  2. webhook 만들기를 수행하여 엔드포인트 및 인증 세부 정보를 정의하고 통합에 필요한 secret에 대한 엑세스 권한을 부여합니다.
  3. 자동화 만들기를 수행하여 감시할 이벤트와 W&B가 보낼 페이로드를 정의합니다. 페이로드에 필요한 secret에 대한 자동화 엑세스 권한을 부여합니다.

webhook 만들기

팀 관리자는 팀에 대한 webhook을 추가할 수 있습니다.

  1. W&B에 로그인하고 팀 설정 페이지로 이동합니다.

  2. Webhooks 섹션에서 New webhook을 클릭합니다.

  3. webhook의 이름을 입력합니다.

  4. webhook의 엔드포인트 URL을 입력합니다.

  5. webhook에 Bearer 토큰이 필요한 경우 Access token을 해당 토큰을 포함하는 secret으로 설정합니다. webhook 자동화를 사용할 때 W&B는 Authorization: Bearer HTTP 헤더를 엑세스 토큰으로 설정하고 ${ACCESS_TOKEN} 페이로드 변수에서 토큰에 엑세스할 수 있습니다.

  6. webhook의 페이로드에 비밀번호 또는 기타 민감한 문자열이 필요한 경우 Secret을 해당 문자열을 포함하는 secret으로 설정합니다. webhook을 사용하는 자동화를 구성할 때 이름 앞에 $를 붙여 페이로드 변수로 secret에 엑세스할 수 있습니다.

    webhook의 엑세스 토큰이 secret에 저장된 경우 secret을 엑세스 토큰으로 지정하려면 또한 다음 단계를 완료해야 합니다.

  7. W&B가 엔드포인트에 연결하고 인증할 수 있는지 확인하려면:

    1. 선택적으로 테스트할 페이로드를 제공합니다. 페이로드에서 webhook이 엑세스할 수 있는 secret을 참조하려면 이름 앞에 $를 붙입니다. 이 페이로드는 테스트에만 사용되며 저장되지 않습니다. 자동화를 만들 때 자동화의 페이로드를 구성합니다. secret과 엑세스 토큰이 POST 요청에 지정된 위치를 보려면 webhook 문제 해결을 참조하세요.
    2. Test를 클릭합니다. W&B는 구성한 자격 증명을 사용하여 webhook의 엔드포인트에 연결을 시도합니다. 페이로드를 제공한 경우 W&B는 해당 페이로드를 보냅니다.

    테스트가 성공하지 못하면 webhook의 구성을 확인하고 다시 시도하세요. 필요한 경우 webhook 문제 해결을 참조하세요.

이제 webhook을 사용하는 자동화를 만들 수 있습니다.

자동화 만들기

webhook을 구성한Registry 또는 Project를 선택한 다음 다음 단계에 따라 webhook을 트리거하는 자동화를 만듭니다.

Registry 관리자는 해당 Registry에서 자동화를 만들 수 있습니다. Registry 자동화는 향후 추가되는 자동화를 포함하여 Registry의 모든 컬렉션에 적용됩니다.

  1. W&B에 로그인합니다.

  2. Registry 이름을 클릭하여 세부 정보를 확인합니다.

  3. Registry로 범위가 지정된 자동화를 만들려면 Automations 탭을 클릭한 다음 Create automation을 클릭합니다. Registry로 범위가 지정된 자동화는 향후 생성되는 컬렉션을 포함하여 모든 컬렉션에 자동으로 적용됩니다.

    Registry의 특정 컬렉션으로만 범위가 지정된 자동화를 만들려면 컬렉션의 액션 ... 메뉴를 클릭한 다음 Create automation을 클릭합니다. 또는 컬렉션을 보는 동안 컬렉션 세부 정보 페이지의 Automations 섹션에 있는 Create automation 버튼을 사용하여 컬렉션에 대한 자동화를 만듭니다.

  4. 감시할 Event를 선택합니다. 이벤트에 따라 표시되는 추가 필드를 작성합니다. 예를 들어 An artifact alias is added를 선택한 경우 Alias regex를 지정해야 합니다. Next step을 클릭합니다.

  5. webhook을 소유한 팀을 선택합니다.

  6. Action typeWebhooks로 설정한 다음 사용할 webhook을 선택합니다.

  7. webhook에 대해 엑세스 토큰을 구성한 경우 ${ACCESS_TOKEN} 페이로드 변수에서 토큰에 엑세스할 수 있습니다. webhook에 대해 secret을 구성한 경우 이름 앞에 $를 붙여 페이로드에서 해당 secret에 엑세스할 수 있습니다. webhook의 요구 사항은 webhook의 서비스에 의해 결정됩니다.

  8. Next step을 클릭합니다.

  9. 자동화 이름을 입력합니다. 선택적으로 설명을 제공합니다. Create automation을 클릭합니다.

W&B 관리자는 Project에서 자동화를 만들 수 있습니다.

  1. W&B에 로그인하고 Project 페이지로 이동합니다.

  2. 사이드바에서 Automations을 클릭합니다.

  3. Create automation을 클릭합니다.

  4. 감시할 Event를 선택합니다.

    1. 이벤트에 따라 표시되는 추가 필드를 작성합니다. 예를 들어 An artifact alias is added를 선택한 경우 Alias regex를 지정해야 합니다.

    2. 선택적으로 컬렉션 필터를 지정합니다. 그렇지 않으면 자동화는 향후 추가되는 컬렉션을 포함하여 Project의 모든 컬렉션에 적용됩니다.

    Next step을 클릭합니다.

  5. webhook을 소유한 팀을 선택합니다.

  6. Action typeWebhooks로 설정한 다음 사용할 webhook을 선택합니다.

  7. webhook에 페이로드가 필요한 경우 페이로드를 구성하여 Payload 필드에 붙여넣습니다. webhook에 대해 엑세스 토큰을 구성한 경우 ${ACCESS_TOKEN} 페이로드 변수에서 토큰에 엑세스할 수 있습니다. webhook에 대해 secret을 구성한 경우 이름 앞에 $를 붙여 페이로드에서 해당 secret에 엑세스할 수 있습니다. webhook의 요구 사항은 webhook의 서비스에 의해 결정됩니다.

  8. Next step을 클릭합니다.

  9. 자동화 이름을 입력합니다. 선택적으로 설명을 제공합니다. Create automation을 클릭합니다.

자동화 보기 및 관리

  • Registry의 Automations 탭에서 Registry의 자동화를 관리합니다.
  • 컬렉션 세부 정보 페이지의 Automations 섹션에서 컬렉션의 자동화를 관리합니다.

이러한 페이지에서 Registry 관리자는 기존 자동화를 관리할 수 있습니다.

  • 자동화 세부 정보를 보려면 이름을 클릭합니다.
  • 자동화를 편집하려면 해당 액션 ... 메뉴를 클릭한 다음 Edit automation을 클릭합니다.
  • 자동화를 삭제하려면 해당 액션 ... 메뉴를 클릭한 다음 Delete automation을 클릭합니다. 확인이 필요합니다.

W&B 관리자는 Project의 Automations 탭에서 Project의 자동화를 보고 관리할 수 있습니다.

  • 자동화 세부 정보를 보려면 이름을 클릭합니다.
  • 자동화를 편집하려면 해당 액션 ... 메뉴를 클릭한 다음 Edit automation을 클릭합니다.
  • 자동화를 삭제하려면 해당 액션 ... 메뉴를 클릭한 다음 Delete automation을 클릭합니다. 확인이 필요합니다.

페이로드 참조

이 섹션을 사용하여 webhook의 페이로드를 구성합니다. webhook 및 해당 페이로드 테스트에 대한 자세한 내용은 webhook 문제 해결을 참조하세요.

페이로드 변수

이 섹션에서는 webhook의 페이로드를 구성하는 데 사용할 수 있는 변수에 대해 설명합니다.

변수 세부 정보
${project_name} 액션을 트리거한 변경을 소유한 Project의 이름입니다.
${entity_name} 액션을 트리거한 변경을 소유한 엔터티 또는 팀의 이름입니다.
${event_type} 액션을 트리거한 이벤트 유형입니다.
${event_author} 액션을 트리거한 사용자입니다.
${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 이름으로 바꿉니다.

페이로드 예시

이 섹션에는 몇 가지 일반적인 유스 케이스에 대한 webhook 페이로드 예시가 포함되어 있습니다. 이 예시는 페이로드 변수를 사용하는 방법을 보여줍니다.

W&B에서 리포지토리 디스패치를 보내 GitHub 액션을 트리거합니다. 예를 들어 on 키에 대한 트리거로 리포지토리 디스패치를 허용하는 GitHub 워크플로우 파일이 있다고 가정합니다.

on:
repository_dispatch:
  types: BUILD_AND_DEPLOY

리포지토리의 페이로드는 다음과 같을 수 있습니다.

{
  "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}"
    }
}

렌더링된 템플릿 문자열의 내용과 위치는 자동화가 구성된 이벤트 또는 모델 버전에 따라 달라집니다. ${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를 통해 등록된 모델 아티팩트를 사용할 수 있습니다.

이 예시 페이로드는 webhook을 사용하여 Teams 채널에 알리는 방법을 보여줍니다.

{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"summary": "New Notification",
"sections": [
  {
    "activityTitle": "Notification from WANDB",
    "text": "This is an example message sent via Teams webhook.",
    "facts": [
      {
        "name": "Author",
        "value": "${event_author}"
      },
      {
        "name": "Event Type",
        "value": "${event_type}"
      }
    ],
    "markdown": true
  }
]
}

템플릿 문자열을 사용하여 실행 시 W&B 데이터를 페이로드에 삽입할 수 있습니다(위의 Teams 예시 참조).

Slack API 문서에 강조 표시된 지침에 따라 Slack 앱을 설정하고 수신 webhook 통합을 추가합니다. Bot User OAuth Token 아래에 지정된 secret이 W&B webhook의 엑세스 토큰인지 확인합니다.

다음은 예시 페이로드입니다.

{
    "text": "New alert from WANDB!",
"blocks": [
    {
            "type": "section",
        "text": {
            "type": "mrkdwn",
            "text": "Registry event: ${event_type}"
        }
    },
        {
            "type":"section",
            "text": {
            "type": "mrkdwn",
            "text": "New version: ${artifact_version_string}"
        }
        },
        {
        "type": "divider"
    },
        {
            "type": "section",
        "text": {
            "type": "mrkdwn",
            "text": "Author: ${event_author}"
        }
        }
    ]
}

webhook 문제 해결

W&B App UI를 사용하여 대화식으로 또는 Bash 스크립트를 사용하여 프로그래밍 방식으로 webhook 문제를 해결합니다. 새 webhook을 만들거나 기존 webhook을 편집할 때 webhook 문제를 해결할 수 있습니다.

팀 관리자는 W&B App UI를 사용하여 대화식으로 webhook을 테스트할 수 있습니다.

  1. W&B 팀 설정 페이지로 이동합니다.
  2. Webhooks 섹션으로 스크롤합니다.
  3. webhook 이름 옆에 있는 가로 세 개의 점(미트볼 아이콘)을 클릭합니다.
  4. Test를 선택합니다.
  5. 나타나는 UI 패널에서 나타나는 필드에 POST 요청을 붙여넣습니다. Demo of testing a webhook payload
  6. Test webhook을 클릭합니다. W&B App UI 내에서 W&B는 엔드포인트에서 응답을 게시합니다. Demo of testing a webhook

시연은 동영상 Weights & Biases에서 Webhook 테스트를 시청하세요.

이 셸 스크립트는 W&B가 트리거될 때 webhook 자동화로 보내는 요청과 유사한 POST 요청을 생성하는 한 가지 방법을 보여줍니다.

아래 코드를 복사하여 셸 스크립트에 붙여넣어 webhook 문제를 해결합니다. 다음 값에 대해 사용자 고유의 값을 지정합니다.

  • ACCESS_TOKEN
  • SECRET
  • PAYLOAD
  • API_ENDPOINT
webhook_test.sh