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.4.0.tar.gz (629.3 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for cloudcomponents.cdk-github-webhook-2.4.0.tar.gz
Algorithm Hash digest
SHA256 319857086e3dec45b40fa3eb7272dee1ee48ce970fff895bac18534088b28b09
MD5 c5d4c7ae5c1cfb2203b3a9cf200ceee9
BLAKE2b-256 c1eb49ac1183a5461a9dd7b291ca71e5fb0afc86aefd19532f18980c1f57554c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cloudcomponents.cdk_github_webhook-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a7e3f6ca32046ac602490e07f29bd1a9bdebf0aa1852bca44725143699976c0
MD5 acab20295b4b406c1dd7e959da0ed581
BLAKE2b-256 ff30e26c92ab09ad93dba08bb2ffa615ff9852bba48f920bc38229b3909653be

See more details on using hashes here.

Supported by

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