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>






 


 

 


댓글

이 블로그의 인기 게시물

결재 프로세스 만들기

AAD에서 앱 등록하기-Power Automate 활용하기