[메모] Postman을 통해서 라인 워커스 버전 트렐로 봇의 동작을 확인해 보도록 하겠습니다.

며칠 전 다른 부서의 라인 워크스 버전인 트리로봇 이용자가 "제작된 트리로봇의 업데이트 알림이 라인 워크스에 오지 않는다"는 연락을 보내왔다.트렐로도'웹훅 중 하나가 실패해 무효가 될 수 있다'는 주제로 메일을 보냈다.

그렇지만
- 여기서 Heroku가 디자인한 Bot 애플리케이션의 소스 코드를 모방하는 건 아냐
LINE WORKS의 API 정보를 가지고 놀지 않았어요.
트렐로한테 "Webhook의 사양을 바꾸세요"라는 연락을 받은 기억이 없어요.
그렇게 생각하면'이용자 쪽에서 무슨 짓을 한 것 같다'고만 생각해서 확인해 보니'한 보드만 추가됐다'는 결과가 나왔다.
아무래도 원인 규명을 위해서는 동작 확인이 필요하고, 동작 확인을 위해서는 라인 워커스 버전 트렐로 봇의 디버깅 목적지(Heroku)에 대한 POST 요청이 필요하다.
그렇지만
- 다른 부서의 Trello 보드에 액세스할 수 없으므로 Webhook을 통해 POST를 요청할 수 없습니다.
- ISMS 담당자에게 회사 컴퓨터에 cURL을 넣는 것도 번거롭다고 설명
만약 이런 귀찮은 마음이 있다면, 크롬의 사이트에서 Postman을 발견하세요!
포스트맨으로 해결했어요.
다음은 동작을 재확인하기 위해 한 일을 미리 기록한다.

해본 일


1. Google Chrome에 Postman 추가


여기 연결(↓)
Postman-crome 웹 사이트 스토어
또한 Postman은 Google 계정을 통해 등록할 수 있습니다.

2. JSON 가상 데이터 만들기


Trello의 카드에 주석을 입력하면 JSON 데이터는 Webhook을 생성할 때 URL을 통해 지정한 LINE WORKS 버전의 Trello Bot의 처리처 (Heroku) (POST 방법) 로 날아간다.
이 JSON 데이터를 처리하여 LINE WORKS의 채팅방에 보내는 소스 코드(발췌문)는 다음과 같다.
app.py
@app.route('/webhook', methods=['GET', 'HEAD', 'POST'])
def webhook():
    if request.method == 'GET':
        return 'Start', 200
    elif request.method == 'HEAD':
        return '', 200
    elif request.method == 'POST':
        action_type = request.json['action']['display']['translationKey']
        if action_type == 'action_comment_on_card':
            card_name = request.json['action']['data']['card']['name']
            user_name = request.json['action']['memberCreator']['fullName']
            comment = request.json['action']['data']['text']
            message = user_name + "さんがコメントしました。\n【カード】" + card_name + "\n【コメント】" + comment
            talkbot.send_text_message(send_text=message)
            return '', 200
        else:
            pass
    else:
        abort(400)
포스트맨으로 이 포스트 요청을 재현하고 싶어 JSON 위조 데이터를 만들었다.
{
    "action":{
        "display":{
            "translationKey":"action_comment_on_card"
        },
        "data":{
            "card":{
                "name":"カード名"
            },
            "text":"コメント"
        },
        "memberCreator":{
            "fullName":"ユーザー名"
        }
    }
}

3. Postman에서 POST 요청 보내기

  • HTTP 메서드를 "POST"
  • 로 변경
  • URL에 호출 URL을 입력합니다
  • .
  • Body에서 요청 주체는'row'를 선택하고Content-type은'JSON(application/json)'으로 변경하며 2의 JSON 위조 데이터
  • 를 입력한다.
    이 상태에서 Send 버튼을 누르면 Post 요청이 전송됩니다.

    동작 확인 결과


    상태 코드 200의 응답이 반환되고 업데이트 알림이 LINE WORKS로 전송됩니다.그런 다음 Trello 업데이트 알림이 LINE WORKS로 전송됩니다.결과적으로 원인이 불분명하여 기쁘고 축하할 만하다.

    좋은 웹페이지 즐겨찾기