{"id":21189206,"url":"https://github.com/uptick/actions-shame","last_synced_at":"2025-03-14T20:42:25.484Z","repository":{"id":63688595,"uuid":"569912951","full_name":"uptick/actions-shame","owner":"uptick","description":"Shame users via slack and praise them if they do good.","archived":false,"fork":false,"pushed_at":"2022-12-13T07:19:46.000Z","size":205,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-02-22T21:49:18.120Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/uptick.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}},"created_at":"2022-11-23T22:50:14.000Z","updated_at":"2022-11-24T01:34:45.000Z","dependencies_parsed_at":"2022-11-24T00:15:32.284Z","dependency_job_id":null,"html_url":"https://github.com/uptick/actions-shame","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"c4f9a804a92721c2b8fb798b4e936c36bf78be8e"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uptick%2Factions-shame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uptick%2Factions-shame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uptick%2Factions-shame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uptick%2Factions-shame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uptick","download_url":"https://codeload.github.com/uptick/actions-shame/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243646524,"owners_count":20324582,"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-20T18:50:35.604Z","updated_at":"2025-03-14T20:42:25.460Z","avatar_url":"https://github.com/uptick.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Github Slack Shaming Action\n\nThis github action notifies a slack channel on test failures (and subsequent fixes). The action\nwill include relevant information as well as slack notifying the user responsible for the failed test.\n\nThe command is split into 2 commands. A shame and a praise.\nOn a `praise` command, the action will search your git history for the last completed JOB\nmatching the current job. If the last job was a failure, this action will praise the author for fixing it.\n\nThe github action is able to locate the slack user by searching your slack organisations api for users with the most similar name and email as the latest git commit.\n\n![Example screenshot of slack message](screenshot.png)\n\n## Inputs\n\n### `command`\n\n**Required** The command to use. `shame` or `praise` dictates the type of message.\n\n### `SLACK_TOKEN`\n\n**Required** The slack token with permissions to post a chat message and to search users.\n\n### `SLACK_CHANNEL`\n\n**Required** The channel to notify.\n\n### `GITHUB_TOKEN`\n\n**Required** The `GITHUB_TOKEN` with permissions to `read:actions`.\n\n## Example usage\n\n```yaml\npermissions:\n  actions: read\n\non: [push]\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout Code\n        uses: actions/checkout@v3\n        with:\n          # TODO: Configure fetch-depth?\n          fetch-depth: 2\n\n      - name: Test shame works\n        if: startsWith(env.BRANCH_NAME, 'main') \u0026\u0026 failure()\n        id: shame\n        uses: uptick/actions-shame@main\n        with:\n          command: \"shame\"\n          SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }}\n          SLACK_CHANNEL: \"devops-test-slack\"\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n      - name: Test praise works\n        if: startsWith(env.BRANCH_NAME, 'main') \u0026\u0026 success()\n        id: praise\n        uses: uptick/actions-shame@main\n        with:\n          command: \"praise\"\n          SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }}\n          SLACK_CHANNEL: \"devops-test-slack\"\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuptick%2Factions-shame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuptick%2Factions-shame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuptick%2Factions-shame/lists"}