n8n에서 GitHub API 사용시 유의사항 (feat. 어찌보면 너무 당연한..)
·
n8n
당연한건데 놓쳐서 에러터짐아래는 세줄 요약프로젝트 Repo Name과 SHA는 일치해야한다뭔말이냐면 Repo에 속해있는 SHA만 사용해야한다는 것일례로 댓글을 남기는 기능을 개발할 때, 프로젝트 Repo Name이 SHA의 Repo Name과 달라서 자꾸 못찾는 이슈가 있엇음좀더 명확히 설명하자면'프로젝트 A'의 SHA라면, 인자로 쥐여주는 프로젝트 명도 '프로젝트 A'여야 한다는 것 나는 n8n에서 다음 노드에 주는 프로젝트 명칭을 파라미터로 넘기고 있었음근데? 프로젝트 A의 SHA를 쓰면서? 프로젝트 B의 명칭으로 넘기고 있었던 것프로젝트 2개를 놓고 테스트한다고 다른 노드 연결해서 꼬인건데 너무 당연한거라 의심도 못했었음에러를 보면 HTTP 요청이 잘못되었거나 서버에 요청할 수 없단 소리더보기에러 ..
n8n으로 미세먼지 알림 받기 (feat. 미세먼지 API)
·
n8n
환기를 할 수가 업서!!봄이 되다 보니 미세먼지가 또 난리다환기를 하긴 해야 하는데...그렇다고 매일 어플을 들어가거나 검색해서 확인하기도 귀찮다알림봇을 만들기로 결심! 바로 진행해보자 오늘 우리가 만들 것은 다음과 같은데 지역은 각자 맞추면 된다일단 아래와 같은 순서로 동작한다1) 2시간 인터벌 노드 (2시간마다 알림을 보낼 것)2) if 노드로 주중 or 주말 체크 (주말엔 알림이 필요 없다)3) 오늘 날짜 확인 및 필요한 데이터로 변환4) 미세먼지 API에서 필요한 데이터 형태로 수정5) 미세먼지 API HTTP Request 발송6) Request 받고, 필요한 데이터 필터링7) 조건에 따라 미세먼지 상태 판단8) 전부 텍스트로 편하게 보낼 수 있도록 데이터 전처리9) 웹훅으로 알림 전송 노드 하..
n8n 특정 요일(Day)에만 동작하도록 조건 걸기 (feat. if & Date 노드)
·
n8n
시계 알림을 주중에만 동작시키고 싶어요!if문 노드를 쓰고 싶은데 일주일 중에 주말을 제외하고, 동작시키고 싶었다- 근데? contains가 있네? - 이거 잘만하면 문자열이나 배열처리로 되겠는걸?- 근데 어떻게 하는지 모르겠네?에 도달해버려서... 삽질 쪼꼼 하다가 글로 남긴다오늘 만들 친구는 아래와 같다동작 순서는 아래와 같음1) 요일을 랜덤으로 산출2) 요일이 주중일 경우 (if 노드 사용 - 오늘의 핵-심)3) 테스트 채널 웹훅으로 '요일' 텍스트 발송3) 주말인 경우 'False(요일)' 텍스트 발송그럼 시작해보자!1. 요일을 랜덤으로 산출사실 이 부분은 Date 노드 쓰면 된다근데 요일에 따라 동작하는지 안하는지 일주일을 다 기다려볼 순 없으니 이 글에선 JS 코드로 대체했다돌리면 days에 ..
AI 코드리뷰 자동화 시스템 한방에 구축하기 (feat. n8n)
·
n8n
이제 진짜 AI 코드리뷰 자동화 시스템을 구축 해보쟈다왔다...자잘한 기능까지 다 파헤치고 여기까지 오신 여러분 고생 많으셨슴다이제는 제가 J님께 도움을 받았던 것처럼, 여러분의 AI 코드리뷰 자동화를 위해 설명과 세팅을 진행해보겠심다가시죠!우리의 계획오늘 우리 최종 목표는 아래와 같은 형태이다일단 내 워크플로우가 정답은 아니다분명 더 효율적인 방법도 있을테지만, 이걸 구축한지 얼마 지나지 않았고 하니 일단은 이대로 설명해보겠다 동작 순서1. GitHub Push & MR Listen2. 이전 커밋과 현재 커밋 링크 가져올 수 있도록 URL 파싱3. 두 링크 기준으로 변경된 파일들 loop 진행4. 각 파일을 HTTP Request로 가져옴5. AI가 전달받아서 비교할 수 있도록 파싱6. Gemini에게..
n8n, 외부 라이브러리, 모듈 없음 (feat. Cannot find module)
·
n8n
Cannot find module 'cherrio'Code 노드를 실행하다가 발생한 에러이다찾아보니 cheerio는 Node.js 환경에서 jQuery와 유사한 방식으로 HTML을 파싱하고 조작할 수 있는 경량 라이브러리란다웹 스크래핑(Web Scraping) 을 할 때 많이 사용한다고.. 웹 파싱하는 JS 코드였는데 라이브러리를 갖다 쓰는 부분을 복붙했나보다하여 도커 내부에 직접 설치했는데 안된다 다시 검색해보니 로컬에 설치하고 docker-compose.yml에 넣어주란다https://community.n8n.io/t/custom-node-in-docker-container-throwing-cannot-find-module-error/5940 그래서 docker-compose.infra.yml 파일에..
n8n, Active 안되는 이슈 해결방법 (feat. n8n 활성화)
·
n8n
Workflow could not be activated: Validation Failed위 내용은 Trigger 노드(e.g GitHub 노드) 문제다또는 그냥 워크플로에서 어디가 꼬인 것 이럴 땐 Trigger 노드를 다 지우고 새로 만들던가 워크플로를 새로 만드는 방법이 제일 빨랐다하나씩 찾는거 오래 걸림... 또 중요한 것은 절대 '복사'해서 하지 말고 정식 루틴으로 직접 추가해서 값 수정해서 시도할 것!n8n은 정말 좋은게 JSON 파일 그냥 복사하면 타인의 플로우를 고대로 가져올 수 있는데 이 때문에 꼬일 수도 있다! 아무튼 (내 경우) 10이면 10, 트리거 문제였으니까 아래 두가지 중 한 가지 방법으로 시도해보자1) Trigger 전부 삭제 후 하나씩 만들고 테스트2) 워크플로우 새로 만들기
n8n에 Github 연결하기 (feat. GitHub 토큰)
·
n8n
다 와간다웹훅을 만들고 GitHub에 이걸 등록하고 체크하고.. 귀찮다이런 귀찮은 것을 알아서 다 해주는 GitHub 노드가 있다 깃헙 노드 관련해서 공홈 참조했음https://docs.n8n.io/integrations/builtin/credentials/github/ GitHub credentials | n8n DocsIntegrations Built-in nodes Credentials GitHub credentials You can use these credentials to authenticate the following nodes: Prerequisites Create a GitHub account. Supported authentication methods Refer to GitHub's A..
n8n을 Nginx에 등록 시 주의 사항 (feat. 필독사항)
·
n8n
n8n 디져 그냥!n8n 구축하면 날 가장 많이 삽질하게 했던 Top3 중 2번째다n8n에 도전하시는 많은 분들은 부디 이 부분을 문제 없이 지나가시길 바라며...까탈스런 n8n이 웃기고도 열받는 상황은 Nginx에 n8n을 등록하면서부터 생겼다HTTPS를 적용한 직후라서 더 헷갈렸었다 (뭐만 하면, SSL 문제인가...?) 본론부터 말하면 n8n은 `location /` 하위에 붙어있는 서브디렉토리로는 실행할 수 없다 뭔말이냐면 아래 두 사진을 보시면 된다이 문제에 대해 찾아보니 개발진도 알고 있는 문제인 것 같았다 (글쓴이가 나랑 비슷한 상황이었음)https://community.n8n.io/t/docker-image/32096/24 Docker imagethank you for your respon..
n8n에서 Webhook 테스트하기 (feat. n8n 웹훅 노드 사용법)
·
n8n
두번째 이유식, Webhook 노드노드 몇가지 사용법만 익히고 바로 AI까지 달릴 예정1. Webhook 검색 후, 웹훅 노드 추가이제 익숙해지고 있다2. 웹훅 노드 수정웹훅을 더블 클릭해 수정 페이지를 열어보면 Test URL이 있다저걸 복사해서 Post 요청을 날리면 된다주소가 localhost니까 서버에서 Post를 날려보겠다(참고로 Post 요청인 이유는 위 사진의 옵션에서 보이든 Webhook에 그렇게 세팅해두었기 때문임) 그럼 일단 TestWorkflow 클릭해서 webhook이 Listen 하고 있도록 설정하겠다위 사진처럼 Waiting for trigger event가 표기되면, 웹훅을 들을 준비가 되었다는 것 일단 나는 N8N을 서버의 Docker에서 돌리고 있기 때문에, 서버에서 아까 ..
n8n 기본 주소 변경하기 (feat. n8n 웹훅 주소 바꾸기)
·
n8n
localhost? 외부 통신 어떻게... 하죠??보이는가 localhost?docker로 띄운 n8n 기본주소는 별도로 설정해주지 않으면, localhost로 뜨더라이러면 외부에서 통신할 수가 없다수정해보자docker-compose에서 n8n 기본 주소 변경Webhook 기본 주소는 docker-compose의 n8n - environment에 아래 옵션 두 줄을 추가하여 수정하면 된다- WEBHOOK_URL={URL주소 또는 IP 주소}- N8N_BASE_URL={URL주소 또는 IP 주소} 두개의 차이는 아래와 같다- WEBHOOK_URL : 웹훅 엔드포인트가 외부에 노출될 때 사용되는 URL- N8N_BASE_URL : n8n 웹 인터페이스 및 내부적으로 생성되는 링크의 기본 URL 따라서 둘 다..