o365 메시지 센터 메일로 받아 보기-Power Automate 활용하기
A. o365 메시지 센터 메일로 받아 보기
(Microsoft
365 관리 센터 > 상태 > 서비스
상태 메일로 받기)
1. https://admin.microsoft.com/ Microsoft 365 관리자 센터 > Power Automate > 만들기를 선택합니다.
1-1. 자동화된 클라우드 흐름 : 어떤 이벤트가 발생하였을 경우 실행되는 흐름
1-2. 인스턴트 클아우드 흐름 : 수동으로 실행하여 흐름
1-3. 에약된 클라우드 흐름 : 정해진 시간에 실행되는 흐름
1-4. 데스크톱 흐름
1-5. 비즈니스 프로세스 흐름 : 업무용 프로세스가 미리 지정되어 해당 프로세스를 선택하여 실행되는 흐름
2. 필요할때 마다 결과 값을 얻으려면 인스턴트를 선택합니다.
이름을 입력하고 “스동으로 Flow” 트리커를 선택합니다.
2-1. 인스턴트 클라우드 흐름의 첫 Flow
2-2. 예약된 클라우드 흐름의 첫 Flow
3. 앱 등록에서 저장하여 확보된 정보를 변수 초기화 옵션을 활용하여 초기화 한 후 인증 시 활용할 수도 있으며, 단순히 복사하여 붙여 넣기 하여도 됩니다.
4.
중앙 아래 화살표 + 를 클릭하여 “작업 추가”를 선택합니다.
5.
기본 제공 > http를 입력 합니다.
6.
HTTP [프리미엄]을 클릭합니다.
7.
AAD에 접속하기 위한 인증 정보를 입력 합니다.
-. GET를 선택합니다.
-. https://manage.office.com/api/v1.0/@{variables('TenantID')}/ServiceComms/Messages
를 입력 합니다.
-. 또 다른 O365 메시지 URL
https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/issues?$filter=isResolved%20eq%20false
-. TenantID 변수 초기화 대신 노트패트에 붙여넣기한 정보를 복사하여 붙여넣기 하여도 됩니다.
-. 인증 : Active Directory OAuth
-. 테넌트 : 회사 테넌트 값
-. 대상 그룹 : https://manage.office.com
-. 클라이언트 ID : 클라이언트 ID
값
-. 자격 증명 유형 : 비밀
-. 비밀 : 앱 등록시 생성한 암호 : 값
-. 해더 : Content-Type / application
8.
인증을 위한 HTTP 정보 입력이 정상적으로
되었는지 확인합니다.
오른쪽 상단에 “테스트” 메뉴를
클릭합니다. 저장이 되지 않았다면 저장을 한 후에 다음 작업이 진행 됩니다.
9.
계속 진행하여 문제가 없다면 아래와 같이 처리 됩니다.
10.
결과 화면의 “원시출력표시” 를 클릭하여 검색되는 결과 내용을 모두 복사 합니다.
11.
다시 중앙 하단의 + 를 클릭하여 작업을 추가
합니다.
12.
기본 제공 > 테이터 작업 를 클릭합니다.
13.
JSON 구문 분석 작업을 선택합니다. (결과문에서 반복되는 코드/아이탬 들을 축출해 냅니다.)
14.
본문, body(‘HTTP’) =여기서 HTTP는 바로 상위 작업의 작업 이름=을 선택하고 “샘플에서 생성” 버튼을
클릭하여 복사한 결과문을 붙여넣기 합니다.
스키마 [메시지
센터 > 서비스 센터의 스키마 정보]
{
"type": "object",
"properties": {
"statusCode": {
"type": "integer"
},
"body": {
"type": "object",
"properties": {
"@@odata.context": {
"type": "string"
},
"value": {
"type": "array",
"items": {
"type": "object",
"properties": {
"AffectedWorkloadDisplayNames": {
"type": "array"
},
"AffectedWorkloadNames": {
"type": "array"
},
"Status": {
"type": "string"
},
"Workload": {
"type": "string"
},
"WorkloadDisplayName": {
"type": "string"
},
"EndTime": {
"type": "string"
},
"Feature": {
"type": "string"
},
"FeatureDisplayName": {
"type": "string"
},
"Id": {
"type": "string"
},
"ImpactDescription": {
"type": "string"
},
"LastUpdatedTime": {
"type": "string"
},
"MessageType": {
"type": "string"
},
"Messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"MessageText": {
"type": "string"
},
"PublishedTime": {
"type": "string"
}
},
"required": [
"MessageText",
"PublishedTime"
]
}
},
"Severity": {
"type": "string"
},
"StartTime": {
"type": "string"
},
"Title": {
"type": "string"
},
"FeatureName": {}
},
"required": [
"Id",
"Title"
]
}
}
}
}
}
}
15.
새 단계 삽입을 선택하고 배열 필터 작업을 선택합니다.
16.
여기서는 배열 필터링의 이름을 “Status
Filter”로 변경하였으며, 상위 작업의 “value”를
선택 합니다. = “Parse_Service” 는 JSON 구문
분석의 작업 이름을 변경한 이름 입니다.
16-1. 고급 모드에서 편집을 클릭하고, 출력하고 싶은 제품을 선택 합니다.
= 3개의 제품과 Status가 Service Restored만 출력 하도록 하였습니다.
@and(or(equals(item()?['WorkloadDisplayName'],
'Microsoft Teams'),
equals(item()?['WorkloadDisplayName'],
'Exchange Online'),
equals(item()?['WorkloadDisplayName'],
'Microsoft 365 suite')),
not(contains(item()?['Status'], 'Service
Restored')))
서비스 상태 정의는 URL를 참조 바랍니다.
How
to check Microsoft 365 service health - Microsoft 365 Enterprise | Microsoft
Docs
17.
한번더 배열 필터 작업을 선택 합니다. 상위
작업에서 제품별 / 상태별 필터를 하였으면, 이번엔 메시지를
최근 날짜를 기준으로 필터링 합니다.
-. 본문, body(‘Service_Filter’)을 선택 합니다.
-. @and(greaterOrEquals(item()?['LastUpdatedTime'],
addDays(utcNow(), -5))) 해당 값을 고급 모드에서 편집을 클릭하고 입력 합니다.
= 오늘 날짜 보다 5일 뒤의 “LastUpdatedTime”를
출력 하기 입니다.
18.
작업 추가를 선태간 다음, 콘트롤 작업에 속해
있는 조건 작업을 선택합니다.
19.
조건 첫 값을 클릭하고 식 메뉴를 선택합니다.
not(empty(body('Message_Filter')))를 입력 하고 키보드 enter를 선택 후 확인를 클릭 합니다. = 해당 항목의 변경이 있을 경우 늘 마지막 컬럼에 커서를 놓고 enter 를 선택 후 업데이트를 클릭하여야 변경된 내용이 업데이트 됩니다.
20.
다음 값을 선택 > 식 메뉴를 선택하고
true를 입력 후 enter를 선택하고 확인을 클릭 합니다.
21.
해당 작업의 출력 내용 중 비어 있으면 작업을 중지 하고 비어 있지 않을 경우 Html 표를 만들어 메일에 출력 합니다.
-. 고급
옵션을 선택 후 원하는 항목을 불러와 표를 생성합니다.
22.
작업 추가 > 표준 > mail 입력 > 메일 보내기(V2)를 선택 합니다.
23.
메일 발송 계정은 AAD 로그온 계정으로 발송자가
되며 받을 사용자를 등록 합니다. 참조는 맨 아래 메뉴를 확장하면 참조 사용자를 추가할 수 있습니다.
-. body(‘HTML 테이블 만들기’) 출력을 추가합니다.
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
text-align: center;
}
td, th {
border: 1px solid #ddd;
padding: 4px;
}
th {
padding-top: 8px;
padding-bottom: 8px;
background-color: #7F7D7E;
color: white;
font-weight: normal;
}
</style>
</head>
<body>
<span>본 메일은
Office 365 서비스 상태 중 Exchange Online / Microsoft 365
Suite / Microsoft Teams에 대한 정보를 매일 오전에 자동으로 발송 됩니다.
</span>
<br/><br/>
@{body('HTML_테이블_만들기')}
<br/><br/>
<span>Office 365 서비스 상태 대시보드를
방문하실려면 <a
href="https://admin.microsoft.com/AdminPortal/Home#/servicehealth">
여기 </a>를 클릭하세요. </span>
<br/><br/>
<br/><br/>
</body>
</html>
댓글
댓글 쓰기