1.0.1 • Published 5 years ago

koa-bitbucket-webhook-handler v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

Bitbucket Webhook

用于对Bitbucket Cloud Event的返回响应,支持Koa框架,支持Bitbucket Cloud上所有事件的接收,另外refs_changed => push

从NPM下载包

npm i bitbucket_webhook

使用实例

引入包

import Koa from 'koa';
import convert from 'koa-convert';
const app = new Koa();
import koaBody from 'koa-body';
import BitbucketWebhookHandler from './koa-bitbucket-webhook-handler/app';

const bitbucketWebhookHandler = new BitbucketWebhookHandler({
  path: '/',
});

/**
 * 错误处理
 * @param  {[type]} err [description]
 * @return {[type]}     [description]
 */
bitbucketWebhookHandler.on('error', function (err) {
 console.error('Error:', err.message)
})

/**
 * 发起合并请求
 * @param  {[type]} event [description]
 * @return {[type]}       [description]
 */
bitbucketWebhookHandler.on('pr:opened', async function(event){
  console.log('Received a pr:refs_changed event', event);
}

/**
 * commit的时候会触发
 * @param  {[type]} event [description]
 * @return {[type]}       [description]
 */
bitbucketWebhookHandler.on('pr:merged', async function(event){
  console.log('Received a pr:reviewer:merged event', event);
}

/**
 * 管理员commit的时候会触发
 * @param  {[type]} event [description]
 * @return {[type]}       [description]
 */
bitbucketWebhookHandler.on('pr:reviewer:merged', async function(event) {
  console.log('Received a pr:reviewer:merged event', event);
}

/**
 * 修改
 * @param  {[type]} event [description]
 * @return {[type]}       [description]
 */
bitbucketWebhookHandler.on('pr:reviewer:needs_work', async function(event) {
  console.log('Received a pr:reviewer:needs_work event', event);
}

/**
 * 不同意
 */
bitbucketWebhookHandler.on('pr:reviewer:unapproved', async function(event) {
  console.log('Received a pr:reviewer:unapproved event', event);
}

/**
 * push事件
 * @param  {[type]} event [description]
 * @return {[type]}       [description]
 */
bitbucketWebhookHandler.on('push', async function (event) {
  console.log('Received a push event', event);
}

/**
 * 使用中间件,因为是post请求,所以需要koa-body
 */
app.use(koaBody());
app.use(convert(bitbucketWebhookHandler.middleware()));

app.listen((process.env.PORT || 7780));

Build Setup

# install dependencies
npm install

# build for production with minification
npm run build