OpenProject Webhook에서 Rocket.Chat에 게시 할 때 설정
htps : // 코 m / 테루키 zm / ms / c94f06 아 40 55f65d4f9
이쪽을 참고로 기동해 보았습니다.
모처럼이므로 OpenProject의 활동을 Slack이나 Rocket.Chat에 게시하고 싶었습니다.
디폴트인 채로는 아무것도 투고되지 않기 때문에(빈 투고가 된다), 그 때의 설정을 기록해 둡니다.
이번은 Rocket.chat의 예.
Rocket.Chat의 경우
Incomming Webhook Script를 설정합니다.
OpenProject > Rocket.Chat에 게시 된 내용
{ action: 'work_package:updated',
work_package: { _type: 'WorkPackage', id: 24, lockVersion: 3,
subject: '自宅環境整備',
description: { format: 'textile', raw: null, html: ''
}, startDate: null, dueDate: null, estimatedTime: null, spentTime: 'PT0S', percentageDone: 0, createdAt: '2018-08-15T14: 07: 52Z', updatedAt: '2018-08-17T23: 37: 44Z', laborCosts: '0.00 EUR', materialCosts: '0.00 EUR', overallCosts: '0.00 EUR', remainingTime: null, _embedded: { watchers: [Object
], attachments: [Object
], relations: [Object
], type: [Object .....
같은 내용의 JSON이 POST되는 것 같습니다. 그래서,,,
설정 Script (title만 흘린 예)
Rocket.Chat의 Incomming Webhook 설정 스크립트에 다음과 같이 설정하면 됩니다.
"title": request.content.work_package.subject
와 같이 request 의 적절한 계층을 지정해, 파라미터를 건네주면 좋겠네요.
/* exported Script */
/* globals console, _, s */
/** Global Helpers
*
* console - A normal console instance
* _ - An underscore instance
* s - An underscore string instance
*/
class Script {
/**
* @params {object} request
*/
process_incoming_request({ request }) {
// request.url.hash
// request.url.search
// request.url.query
// request.url.pathname
// request.url.path
// request.url_raw
// request.url_params
// request.headers
// request.user._id
// request.user.name
// request.user.username
// request.content_raw
// request.content
// console is a global helper to improve debug
// console.log(request.content);
return {
content:{
//text: request.content.text
"attachments": [{
"color": "#FF0000",
"author_name": "Rocket.Cat",
// "author_link": "https://open.rocket.chat/direct/rocket.cat",
// "author_icon": "https://open.rocket.chat/avatar/rocket.cat.jpg",
"title": request.content.work_package.subject
// "title_link": "https://rocket.chat",
// "text": "Rocket.Chat, the best open source chat",
// "fields": [{
// "title": "Priority",
// "value": "High",
// "short": false
}]
// "image_url": "https://rocket.chat/images/mockup.png",
// "thumb_url": "https://rocket.chat/images/mockup.png"
// }]
}
};
// return {
// error: {
// success: false,
// message: 'Error example'
// }
// };
}
}
결과
간단. 멋지네요.
기타 문제
Reference
이 문제에 관하여(OpenProject Webhook에서 Rocket.Chat에 게시 할 때 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/make0x0/items/f9d5a1a098a98cbc1c25텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)