{"id":22018111,"url":"https://github.com/calm/slack-pull-requests","last_synced_at":"2025-03-23T09:27:32.048Z","repository":{"id":44751148,"uuid":"300108296","full_name":"calm/slack-pull-requests","owner":"calm","description":null,"archived":false,"fork":false,"pushed_at":"2023-04-21T20:53:12.000Z","size":5349,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-04-23T21:53:55.406Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/calm.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":"2020-10-01T01:40:37.000Z","updated_at":"2024-08-13T06:00:46.449Z","dependencies_parsed_at":"2024-11-30T05:10:00.543Z","dependency_job_id":"eeae4ec6-3f74-4078-bda0-4aac6bae9d7d","html_url":"https://github.com/calm/slack-pull-requests","commit_stats":{"total_commits":53,"total_committers":4,"mean_commits":13.25,"dds":0.5094339622641509,"last_synced_commit":"292b9fdf5d9ea2b875c2bfac49526241f8ae0070"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calm%2Fslack-pull-requests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calm%2Fslack-pull-requests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calm%2Fslack-pull-requests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calm%2Fslack-pull-requests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/calm","download_url":"https://codeload.github.com/calm/slack-pull-requests/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245081264,"owners_count":20557809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-11-30T05:09:57.109Z","updated_at":"2025-03-23T09:27:32.028Z","avatar_url":"https://github.com/calm.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack Pull Requests\n\n## Usage\n\n1. Set up your environment variables, Slack OAuth, and Okta profiles as detailed below\n2. Drop the following file into your repo at path `.github/workflows/notify.yml` (editing `GITHUB_FIELD_NAME` as appropriate)\n\n```\non:\n  pull_request:\n    types:\n      [\n        assigned,\n        unassigned,\n        labeled,\n        unlabeled,\n        opened,\n        edited,\n        closed,\n        reopened,\n        synchronize,\n        ready_for_review,\n        locked,\n        unlocked,\n        review_requested,\n        review_request_removed,\n      ]\n  pull_request_review:\n    types: [submitted, edited, dismissed]\n  pull_request_review_comment:\n    types: [created, edited, deleted]\n\njobs:\n  pull_request_notifier:\n    runs-on: ubuntu-latest\n    name: Notify Requested Reviewers\n    steps:\n      - uses: actions/checkout@v2\n      - name: Use Node.js\n        uses: actions/setup-node@v1\n        with:\n          always-auth: true\n          node-version: '12.x'\n          registry-url: 'https://npm.pkg.github.com'\n      - name: Notify\n        env:\n          OKTA_CLIENT_ORGURL: ${{ secrets.OKTA_CLIENT_ORGURL }}\n          OKTA_CLIENT_TOKEN: ${{ secrets.OKTA_CLIENT_TOKEN }}\n          SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}\n          GITHUB_TOKEN: ${{ secrets.USER_READ_TOKEN }}\n          GITHUB_FIELD_NAME: 'Github'\n        uses: calm/slack-pull-requests@master\n        id: notify\n        continue-on-error: true\n\n```\n\n## Required Environment Variables\n\n(`.env.example` is included as alternative reference)\n\n## GitHub Secrets\n\nSee [here](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository) for instructions on adding secrets to your GitHub repository\n\n- `OKTA_CLIENT_ORGURL` - The Okta URL used by your organization\n- `OKTA_CLIENT_TOKEN` - An OKTA API token used for auth\n- `SLACK_BOT_TOKEN` - An App/Bot token used for Slack operations\n\n## Plain Text\n\n- `GITHUB_FIELD_NAME` - The programmatic name of the field in Okta that stores a user's github handle. Edit it directly in `notify.yml`\n\n## Required Slack OAuth Scopes\n\n- `chat:write` - Deliver DMs\n- `users:read` - Identify Slack users\n- `users:read.email` - Match Slack users to their Okta Email address\n\n## Required Okta Profile Fields\n\n- `github_user` - The Github handle of the Okta user, must include `@` in the value\n\n## Required Github Personal Token with User and Org Read Access\n\n- The `USER_READ_TOKEN` secret is generated with Org and User read accesses. This is to support the functionality to map individual users from team when the team is added as a requested reviewer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalm%2Fslack-pull-requests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalm%2Fslack-pull-requests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalm%2Fslack-pull-requests/lists"}