chatwork에 zapier로 gitlab에서 알리기

8035 단어 ChatworkGitLab
해 보았으므로 비망록을.

여기 을 참고로 해 주어 대략 같게 해 본 대로.

・사전에



gitlab.com(SaaS의 녀석)이 아니라 자전이라면 gitlab에 zapier를 어플리케이션 등록할 필요가 있는 모양(헤-)
htps: //자피에 r. 이 m/헤일프/기 tぁb/


위는 gitlab10.6의 화면입니다.

· Trigger 만들기



트리거를 선택 → 우선 New Commit을 새롭게 했습니다

Gitlab을 선택하여 애플리케이션 등록 시 획득한 ID와 Secret을 사용하여 연결 테스트
잘하면 Save로 계속

Project와 Branch 또는 Tag를 선택하고 계속
이번에는 vol-test의 refactor 브랜치를 선택했습니다.

샘플 데이터를 계속 읽습니다.

· 액션 만들기



이 코드를 입력할 마크를 선택하고 RunPython을 선택합니다.

템플릿의 InputData에 다음을 입력합니다.
id : 샘플 데이터의 커밋 ID가 마음대로 나오므로 선택
auther: 샘플 데이터의 커밋한 사용자가 마음대로 나오므로 그것을 선택

코드에 다음을 입력
import requests
import random
import json
from datetime import datetime, date, timedelta

# Get input_data
name = input_data['author']
mr_id = input_data['id']

# ChatWork ids
reviewer = [557xxx, 556xxx, 1128xxx]

# API Key
APIKEY = '81e0xxxxxxxxxxxxxxx3fbdf'

# ChatWork Room ID
ROOMID = '287xxxxx'

# API Call URL
URL = 'https://api.chatwork.com/v2'
url = '{0}/rooms/{1}/tasks'.format(URL, ROOMID)

# Elected 3 reviewer of random
ids = random.sample(reviewer,3)
to_ids = ','.join(map(str, ids))

# Review URL
mr_url = 'https://my-gitlab-server-addr/name-space/pj-name/commit/' + mr_id + ''

# Deadline of the task is 3 days later
limit = datetime.today() + timedelta(days=3)

# HTTP Request Body & Params & Headers
body = name + ' さんがコミットしたので確認してみてください(F)\n' + mr_url
params = { 'body': body, 'limit': int(limit.strftime('%s')), 'to_ids': to_ids }
headers = { 'X-ChatWorkToken': APIKEY }

# Run API Call
resp = requests.post(url,headers=headers,params=params)

무작위이거나 별도로 필요하지 않지만 목표 계정 ID가 3 명 밖에 없으므로 특별히 고치지 않습니다.
고유 값을 쓴 것은
APIKEY, ROOMID, reviewer와 body 메시지와 mr_url을 병합 요청이 아니라 커밋으로 바꿨을 정도

테스트에서 뽀뽀 테스트하면 채팅 워크에 쓰여지므로 잘되면 저장하고 활성화하면
어쩌면 커밋하면 메시지가 가도록.

어플의 등록했기 때문에 Webhook의 설정 필요 없었습니다(아마)입니다.
15분 간격 zap로 100회까지라면 0엔으로 갈 수 있는 것 같습니다.
좀 더 다양한 규모의 몹시 하고 싶은 느낌이 든다면 AzureFunction나 fluentd의 녀석인가 어떻게든 할까요?

・산코우



GitLab의 코드 리뷰 요청을 ChatWork의 작업 알림으로 무작위로 할당했습니다. | Developers.IO
Zapier란? 비 엔지니어라도 루틴 작업을 자동화 할 수있는 도구의 사용법을 설명 | ferret [펠렛]
fluentd 초보자가 gitlab과 ChatWork를 함께 사용해 보았습니다.
【관리자 용】 각종 툴과의 제휴에 대해서 | Unipos 도움말 센터
GitLab에서 ChatWork로 알림 건너뛰기 - 약속의 땅
astronaughts/chabot: Chabot is Web-hook receiver for ChatWork.
Azure Functions를 사용하여 GitLab의 Webhook을 Discord에 알리게 했다고 이야기 - kokeiro’s blog
Azure Functions에서 오류를 감지하고 Chatwork에 메시지 보내기 - Qiita

좋은 웹페이지 즐겨찾기