본문 바로가기

CI+CD/Slack 연동5

Jenkins + Slack 연동 - 5 (dialog 띄우기 + Interactivity & Shortcuts 설정) 챗지피티가 짜준 dialog 띄우기 코드를 복붙해서 실행 시켜 보았다. @app.route('/dialog', methods=['POST', 'GET'])def dialog(): trigger_id = request.form.get('trigger_id') # 슬래시 명령어의 트리거 ID user_id = request.form.get('user_id') # 슬랙 사용자 ID tmp_str = "ok to be seen" # 모달을 열기 위한 페이로드 생성 dialog_payload = { "trigger_id": trigger_id, "view": { "type": "modal", "callback_id": .. 2024. 11. 29.
Jenkins + Slack 연동 - 4 (parameter 받기 + jenkins job 원격빌드) 우선 다음과 같이 Slash Commands가 설정되어 있는 상태  Slash command > Request url > ngrok 화면과 코드 내 정보를 request url 에 넣어준다. Request URL에는 실행되고 있는 ngrok url + 코드 내 @app.route 다음 텍스트를 입력해 준다 https://{ngrok_number}.ngrok-free.app/unittest  다음과 같이 뒤에 파라미터가 붙는 경우, 다음과 같은 코드를 통해 파라미터를 받아올 수 있다. request.form.get('text') @app.route('/unittest', methods=['POST', 'GET'])def unit_test(): command_text = request.form.get(.. 2024. 11. 28.
Jenkins + Slack 연동 - 3 (Slash commands/Ngrok/Python Flask) 저번에는 Incoming Webhooks 을 활용해서 Slack에 메시지 발송하는 작업을 해봤고이번에는 Slack 에서 / 명령어 입력하는 앱으로 설정해보려고 한다. 1. Slack api > Slash Commands > Create New command 2. Command, Short Description, Usage Hint 임의 입력Request URL은 내가 만든 서버를 입력해야 하는데... 3. (일단) ngrok 를 이용해서 로컬 서버를 외부와 통신이 가능하게 만들어보자 https://ngrok.com/ 회원 가입 후 > Setup & Installation 순서대로 명령어 입력 시, (저는 8000 포트로 실행)위과 같이 ngrok 가 실행이 되고 Forwarding URL을 통해 외부에서.. 2024. 10. 22.
Jenkins + Slack 연동 - 1 (Jenkins CI 통합 앱 연동) 1. {워크스페이스}.slack.com/apps 진입 > Jenkins 검색 2. Jenkins CI Slack 에 추가 > 원하는 채널 선택 > Jenkins CI 통합 앱 추가 3. 통합 설정 내 토큰 복사 4. Manage Jenkins > System  5. Slack 설정 영역 > Workspace / Default channel 입력 후 [+ Add] 6. Screat text 선택 > Secret 영역 내 "Bot User OAuth Token" 붙여넣기 > Add 7. Test Connection 선택 > Default channel 에 테스트 슬랙이 온다. > System 저장 8. jenkins job 진입 > 구성 > Slack Notifications 선택 후... 9.  Job 실.. 2024. 7. 14.
Jenkins + Slack 연동 - 2 (Incoming Webhooks) https://api.slack.com/ Slack은 생산성 플랫폼입니다Slack은 팀과 커뮤니케이션할 수 있는 새로운 방법입니다. 이메일보다 빠르고, 더 조직적이며, 훨씬 안전합니다.slack.com 1. 위 사이트 진입 > Your apps > Create New app 선택  2. "From an app manifest" 선택 > Workspace 선택 display_information: name: {원하는 이름}features: bot_user: display_name: {원하는 이름} always_online: trueoauth_config: scopes: bot: - channels:read - chat:write - chat:write.cus.. 2024. 7. 14.