{"id":16208457,"url":"https://github.com/g-rath/repo-event-notifier-lambda","last_synced_at":"2026-06-17T20:32:17.715Z","repository":{"id":104157935,"uuid":"190698863","full_name":"G-Rath/repo-event-notifier-lambda","owner":"G-Rath","description":null,"archived":false,"fork":false,"pushed_at":"2020-09-06T12:13:58.000Z","size":553,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-07T20:40:56.816Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/G-Rath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-07T06:37:19.000Z","updated_at":"2020-09-06T12:13:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"ee4f028c-4824-4ac6-a81d-266542cb726f","html_url":"https://github.com/G-Rath/repo-event-notifier-lambda","commit_stats":{"total_commits":67,"total_committers":2,"mean_commits":33.5,"dds":0.05970149253731338,"last_synced_commit":"3a840e23e86a5fb53f612d5ea96476e9fcc6fa1f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/G-Rath/repo-event-notifier-lambda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Frepo-event-notifier-lambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Frepo-event-notifier-lambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Frepo-event-notifier-lambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Frepo-event-notifier-lambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/G-Rath","download_url":"https://codeload.github.com/G-Rath/repo-event-notifier-lambda/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Rath%2Frepo-event-notifier-lambda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34465319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T10:17:02.953Z","updated_at":"2026-06-17T20:32:17.699Z","avatar_url":"https://github.com/G-Rath.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# repo-event-notifier-lambda\nAn AWS lambda that monitors repos \u0026 talks to you in Slack\n\nThis project is written in TypeScript, and is expected to be deployed on an AWS Lambda.\n\n## Setup\nRun `npm install`.\n\n* Setup necessary environment variables from `functions.env` directly in AWS Lambda\n* Add AWS environment variables for deployment, see [node-lambda](https://www.npmjs.com/package/node-lambda) package for further configuration options:\n  * `AWS_ACCESS_KEY_ID`\n  * `AWS_SECRET_ACCESS_KEY`\n  * `AWS_REGION` (e.g. `ap-southeast-2`)\n  * `AWS_DEFAULT_REGION` (e.g. `ap-southeast-2`)\n  * `AWS_FUNCTION_NAME` (use function name only, not the ARN)\n  * `AWS_ROLE_ARN`\n  * `AWS_RUNTIME` (most likely `nodejs10.x`)\n  * `EXCLUDE_GLOBS` recommended value: `{.*,*,}.{env*,eslint*,json,ts,js.*,md,iml} .idea scripts coverage test`\n  * `PACKAGE_DIRECTORY` recommended value: `build`\n\n## Testing\n\nThis project uses `jest` to test itself, with specification files living in the `test` directory.\nTests are written in TypeScript, which is run using `ts-jest`.\n\nTests can be run using the `test` script:\n\n```\nnpm test\n```\n\n## Compiling\n\nSince this project is written in TypeScript, and `ts-node` can't be used on AWS Lambda,\nyou need to compile the project before deployment.\n  \nThis can be done using the `compile` script:\n\n```\nnpm run compile\n```\n\nThis will call `ttsc` compile, using the `tsconfig.json` located in the `src` folder,\nand result in every `.ts` file in the `src` folder being compiled into Javascript.\n\nThe `src/tsconfig.json` extends from the root `tsconfig.json`, as so not compile\nthe contents of the `test` folder, which are not needed for deployment.\n\nNote that this project uses ts transformers, which are applied using `ttypescript`.\nThis means that you have to use `ttsc` instead of `tsc` when compiling the project.\n\n## Deploying\n\n**Note**: Before deployment, make sure you setup the `deploy.env` file, based off the `deploy.env.example` file provided.\n\nDeployment is done using `node-lambda`. Since AWS Lambda doesn't support `ts-node`, this project must be compiled\nbefore being deployed. Refer to the [Compiling](#compiling) section of this README for more info.\n\nDeployment is composed of three steps: \n1. Compile the project (as detailed in the previous section),\n2. Package the project into a .zip file,\n3. Deploy the .zip file onto AWS Lambda.\n\nSteps 2 \u0026 3 are handled by `node-lambda`, and make use of your `.env` file.\n\nA script exists for each of the above steps, along with another script that executes all three in series:\n\n```\nnpm run compile\nnpm run package\nnpm run depoly\n\n# all together now:\nnpm run the-works\n```\n\n## Architecture\n\nThis lambda is invoked by api-gateway, via webhooks, and uses an ordered series of request handlers to handle incoming requests.\n\nWhen a request is made, the lambda passes said request to each request handler, until one of them returns a valid response.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-rath%2Frepo-event-notifier-lambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fg-rath%2Frepo-event-notifier-lambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-rath%2Frepo-event-notifier-lambda/lists"}