Skip to main content

Create, update and delete github webhooks with your app deployment

Project description

cloudcomponents Logo

@cloudcomponents/cdk-github-webhook

Build Status cdkdx typescript python Mentioned in Awesome CDK

Create, update and delete github webhooks with your app deployment

Install

TypeScript/JavaScript:

npm i @cloudcomponents/cdk-github-webhook

Python:

pip install cloudcomponents.cdk-github-webhook

How to use

import { GithubWebhook } from '@cloudcomponents/cdk-github-webhook';
import { SecretKey } from '@cloudcomponents/cdk-secret-key';
import { Stack, StackProps, aws_apigateway } from 'aws-cdk-lib';
import { Construct } from 'constructs';

export class GithubWebhookStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    const api = new aws_apigateway.RestApi(this, 'github-webhook');
    api.root.addMethod('POST');

    if (typeof process.env.API_TOKEN === 'undefined') {
      throw new Error('environment variable API_TOKEN undefined');
    }
    const githubApiToken = SecretKey.fromPlainText(process.env.API_TOKEN);

    // @example https://github.com/cloudcomponents/cdk-constructs
    if (typeof process.env.REPO_URL === 'undefined') {
      throw new Error('environment variable REPO_URL undefined');
    }
    const githubRepoUrl = process.env.REPO_URL;

    // @see https://developer.github.com/v3/activity/events/types/
    const events = ['*'];

    new GithubWebhook(this, 'GithubWebhook', {
      githubApiToken,
      githubRepoUrl,
      payloadUrl: api.url,
      events,
      logLevel: 'debug',
    });
  }
}

API Reference

See API.md.

Example

See more complete examples.

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudcomponents.cdk-github-webhook-2.3.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file cloudcomponents.cdk-github-webhook-2.3.0.tar.gz.

File metadata

File hashes

Hashes for cloudcomponents.cdk-github-webhook-2.3.0.tar.gz
Algorithm Hash digest
SHA256 cfe3addf63d369e67ad2f2ef1403b1509867797bf1d2992695b003223e470a52
MD5 66ac04bb588b8b55222232762e1a8b67
BLAKE2b-256 e262706cd0859bf9e2e21d11713b61b7a0ab01d805e1fbddc652ef9c59165625

See more details on using hashes here.

File details

Details for the file cloudcomponents.cdk_github_webhook-2.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cloudcomponents.cdk_github_webhook-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb4e67711d9c0963d4b58eda08930d6c16c2b4b596fe820b0e4a667b11d54f14
MD5 f094ac892eec14048da7ddbaef1e908c
BLAKE2b-256 6537de8c39f5ba1a03d45a8117f057bf5ce7336c80221251a5e45e325abf3b23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page