Teams

Teams (Office 365 Connectors)

argocd-notifications 로 Microsoft Teams(Office 365 Connectors) 채널에 메시지 알림을 보내는 방법입니다. 단, 이 방식은 Microsoft 가 폐지 예정이므로 Teams Workflows 로 마이그레이션하는 걸 추천드려요.

출처: 문서

본문

⚠️ 폐지 공지 (Deprecation Notice)

Office 365 Connectors 가 Microsoft 에 의해 폐지됩니다.

Microsoft 가 Teams 의 Office 365 Connectors 서비스를 폐지합니다. 서비스는 2026년 3월 31일까지 완전히 폐지될 예정입니다 (기존 2025년 12월 일정에서 연장).

이것이 의미하는 것:

  • 기존 Office 365 Connectors(webhook.office.com 에서 오는 웹훅 URL)는 폐지 날짜 이후 작동을 멈춥니다

  • 새 Power Automate Workflows(api.powerautomate.com, api.powerplatform.com, 또는 flow.microsoft.com 에서 오는 웹훅 URL)가 권장 대체재입니다

마이그레이션 필요:

현재 Office 365 Connectors(Incoming Webhook) 를 쓰고 있다면 폐지 날짜 전에 Power Automate Workflows 로 마이그레이션해야 합니다. notifications-engine 이 웹훅 타입을 자동 감지해 두 형식을 모두 처리하지만, 마이그레이션을 계획해야 해요.

마이그레이션 자료:

  • Microsoft 폐지 공지
  • Microsoft Teams 용 Workflows 로 incoming webhooks 만들기

파라미터 (Parameters)

Teams 알림 서비스는 Office 365 Connectors 를 사용해 메시지 알림을 보내며 다음 설정을 지정해야 합니다:

  • recipientUrls - 웹훅 URL 맵, 예: channelName: https://outlook.office.com/webhook/...

⚠️ 폐지 공지: Office 365 Connectors 는 Microsoft 에 의해 2026년 3월 31일에 폐지됩니다. 지속적인 지원과 향상된 기능을 위해 Teams Workflows 서비스로 마이그레이션하는 것을 권장합니다.

설정 (Configuration)

💡 Power Automate Workflows(권장) 의 경우: 자세한 설정 지침은 Teams Workflows 문서를 참고하세요.

Office 365 Connectors (폐지 예정 - 2026년 3월 31일 폐지)

⚠️ 경고: 이 방법은 폐지되었으며 2026년 3월 31일 이후 작동을 멈춥니다. Power Automate Workflows 로 마이그레이션하세요.

  • Teams 를 열고 Apps 로 이동합니다

  • Incoming Webhook 마이크로소프트 앱을 찾아 클릭합니다

  • Add to a team 을 누르고 → 팀과 채널을 선택하고 → Set up a connector 를 누릅니다

  • 웹훅 이름을 입력하고 이미지를 업로드합니다(선택 사항)

  • Create 를 누른 뒤 웹훅 url 을 복사합니다 (webhook.office.com 에서 오는 URL입니다)

  • argocd-notifications-secret 에 저장하고 argocd-notifications-cm 에 정의합니다

apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-notifications-cm
data:
  service.teams: |
    recipientUrls:
      channelName: $channel-teams-url

apiVersion: v1
kind: Secret
metadata:
  name: <secret-name>
stringData:
  channel-teams-url: https://webhook.office.com/webhook/your-webhook-id  # Office 365 Connector (deprecated)

참고: Power Automate Workflows 웹훅의 경우 대신 Teams Workflows 서비스를 사용하세요.

웹훅 타입 감지 (Webhook Type Detection)

teams 서비스는 Office 365 Connectors(폐지 예정) 를 지원합니다:

  • Office 365 Connectors:webhook.office.com 에서 오는 URL (폐지 예정)

  • 성공하려면 응답 본문이 정확히 "1" 이어야 함

  • 2026년 3월 31일 이후 작동이 멈춥니다

  • Teams 통합에 대한 구독을 만들기:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  annotations:
    notifications.argoproj.io/subscribe.on-sync-succeeded.teams: channelName

채널 지원 (Channel Support)

  • ✅ 표준 Teams 채널만

참고: Office 365 Connectors 는 표준 Teams 채널만 지원합니다. 공유·비공개 채널이 필요하면 Teams Workflows 서비스를 사용하세요.

템플릿 (Templates)

알림 템플릿은 teams 메시지 sections, facts, themeColor, summary 와 potentialAction 기능을 활용하도록 커스터마이즈할 수 있습니다.

Teams 서비스는 Office 365 Connectors 와 호환되는 messageCard 형식(MessageCard 스키마) 을 사용합니다.

template.app-sync-succeeded: |
  teams:
    themeColor: "#000080"
    sections: |
      [{
        "facts": [
          {
            "name": "Sync Status",
            "value": "{{.app.status.sync.status}}"
          },
          {
            "name": "Repository",
            "value": "{{.app.spec.source.repoURL}}"
          }
        ]
      }]
    potentialAction: |-
      [{
        "@type":"OpenUri",
        "name":"Operation Details",
        "targets":[{
          "os":"default",
          "uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"
        }]
      }]
    title: Application {{.app.metadata.name}} has been successfully synced
    text: Application {{.app.metadata.name}} has been successfully synced at {{.app.status.operationState.finishedAt}}.
    summary: "{{.app.metadata.name}} sync succeeded"

facts 필드

sections 필드 대신 facts 필드를 사용할 수 있어요.

template.app-sync-succeeded: |
  teams:
    facts: |
      [{
        "name": "Sync Status",
        "value": "{{.app.status.sync.status}}"
      },
      {
        "name": "Repository",
        "value": "{{.app.spec.source.repoURL}}"
      }]

theme color 필드

메시지의 theme color 를 hex 문자열로 설정할 수 있어요.

template.app-sync-succeeded: |
  teams:
    themeColor: "#000080"

summary 필드

Notification & Activity Feed 에 표시될 메시지 요약을 설정할 수 있어요.

template.app-sync-succeeded: |
  teams:
    summary: "Sync Succeeded"

Teams Workflows 로 마이그레이션 (Migration to Teams Workflows)

현재 Office 365 Connectors 를 사용하고 있다면, 마이그레이션 지침과 향상된 기능은 Teams Workflows 문서를 참고하세요.

더 알아보기 (Learn more)