{"id":23613643,"url":"https://github.com/freckle/slack-notify-action","last_synced_at":"2026-01-23T08:04:19.690Z","repository":{"id":235188120,"uuid":"790237683","full_name":"freckle/slack-notify-action","owner":"freckle","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-15T09:37:21.000Z","size":93,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-15T15:34:58.592Z","etag":null,"topics":["ghvm-managed"],"latest_commit_sha":null,"homepage":"","language":null,"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/freckle.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-22T14:12:38.000Z","updated_at":"2026-01-15T09:37:23.000Z","dependencies_parsed_at":"2024-07-30T17:05:18.523Z","dependency_job_id":"67fb251c-ca97-4f10-adc0-af5c760f23a9","html_url":"https://github.com/freckle/slack-notify-action","commit_stats":null,"previous_names":["freckle/slack-notify-action"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/freckle/slack-notify-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freckle%2Fslack-notify-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freckle%2Fslack-notify-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freckle%2Fslack-notify-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freckle%2Fslack-notify-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freckle","download_url":"https://codeload.github.com/freckle/slack-notify-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freckle%2Fslack-notify-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28684003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T05:48:07.525Z","status":"ssl_error","status_checked_at":"2026-01-23T05:48:07.129Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ghvm-managed"],"created_at":"2024-12-27T17:18:36.171Z","updated_at":"2026-01-23T08:04:19.676Z","avatar_url":"https://github.com/freckle.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack Notify\n\n\u003c!-- action-docs-header source=\"action.yml\" --\u003e\n\n\u003c!-- action-docs-header source=\"action.yml\" --\u003e\n\n\u003c!-- action-docs-description source=\"action.yml\" --\u003e\n\n## Description\n\nMinimal inputs action to notify Slack of Job status\n\n\u003c!-- action-docs-description source=\"action.yml\" --\u003e\n\n## Features\n\n1. Reasonable defaults, only one required input\n1. Tidy message format, erring on unobtrusiveness\n1. Default title and color based on workflow, job, and status\n1. Includes commit details and URL to the run\n1. Maps GitHub users to Slack users (requires configuration)\n\n![Example notification](./files/example.png)\n\n\u003c!-- action-docs-inputs source=\"action.yml\" --\u003e\n\n## Inputs\n\n| name                | description                                                                                                                                                                                                                                                                                                           | required | default                                                     |\n| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------- |\n| `slack-webhook-url` | \u003cp\u003eSlack webhook url, typically a repository secret.\u003c/p\u003e                                                                                                                                                                                                                                                              | `true`   | `\"\"`                                                        |\n| `slack-channel`     | \u003cp\u003eExplicit channel for this notification. If omitted (the default), the channel configured in the webhook is used.\u003c/p\u003e                                                                                                                                                                                               | `false`  | `\"\"`                                                        |\n| `event-name`        | \u003cp\u003eA name for the event being notified about. If not given, the workflow and job id is used.\u003c/p\u003e                                                                                                                                                                                                                      | `false`  | `\"\"`                                                        |\n| `message`           | \u003cp\u003eAdditional content to add to the message. Details about the commit that triggered the Job in which this step is run are always included.\u003c/p\u003e                                                                                                                                                                       | `false`  | `\"\"`                                                        |\n| `commit-sha`        | \u003cp\u003eCommit SHA to fetch details for. Default is the PR head sha or github.sha if not in the context of a PR.\u003c/p\u003e                                                                                                                                                                                                       | `false`  | `${{ github.event.pull_request.head.sha \\|\\| github.sha }}` |\n| `slack-users`       | \u003cp\u003eA JSON object (as a string in the Yaml) mapping GitHub usernames to Slack User Ids (e.g. UXXXXXX). If present, the commit author is looked up in the map and the Slack user, if found, is at-mentioned in the notification details. If a Slack user is not found, an error is generated as a build annotation.\u003c/p\u003e | `false`  | `\"\"`                                                        |\n| `slack-users-file`  | \u003cp\u003eRelative path within the repository to read the slack-users JSON from a file. The file is read from the default branch via the API.\u003c/p\u003e                                                                                                                                                                            | `false`  | `\"\"`                                                        |\n| `job-name`          | \u003cp\u003eAn explicit job-name, in cases where github.job (the job.id) won't work such as matrix jobs.\u003c/p\u003e                                                                                                                                                                                                                   | `false`  | `\"\"`                                                        |\n| `job-status`        | \u003cp\u003eAn explicit job-status, in cases where the status of the current job is not the desired status to notify about.\u003c/p\u003e                                                                                                                                                                                                | `false`  | `\"\"`                                                        |\n| `github-token`      |                                                                                                                                                                                                                                                                                                                       | `false`  | `${{ github.token }}`                                       |\n| `dry-run`           | \u003cp\u003eDon't actually notify (useful for testing)\u003c/p\u003e                                                                                                                                                                                                                                                                     | `false`  | `false`                                                     |\n\n\u003c!-- action-docs-inputs source=\"action.yml\" --\u003e\n\n\u003c!-- action-docs-outputs source=\"action.yml\" --\u003e\n\n\u003c!-- action-docs-outputs source=\"action.yml\" --\u003e\n\n\u003c!-- action-docs-usage action=\"action.yml\" project=\"freckle/slack-notify-action\" version=\"v1\" --\u003e\n\n## Usage\n\n```yaml\n- uses: freckle/slack-notify-action@v1\n  with:\n    slack-webhook-url:\n    # Slack webhook url, typically a repository secret.\n    #\n    # Required: true\n    # Default: \"\"\n\n    slack-channel:\n    # Explicit channel for this notification. If omitted (the default), the\n    # channel configured in the webhook is used.\n    #\n    # Required: false\n    # Default: \"\"\n\n    event-name:\n    # A name for the event being notified about. If not given, the\n    # workflow and job id is used.\n    #\n    # Required: false\n    # Default: \"\"\n\n    message:\n    # Additional content to add to the message. Details about the commit that\n    # triggered the Job in which this step is run are always included.\n    #\n    # Required: false\n    # Default: \"\"\n\n    commit-sha:\n    # Commit SHA to fetch details for. Default is the PR head sha or github.sha\n    # if not in the context of a PR.\n    #\n    # Required: false\n    # Default: ${{ github.event.pull_request.head.sha \\|\\| github.sha }}\n\n    slack-users:\n    # A JSON object (as a string in the Yaml) mapping GitHub usernames to Slack\n    # User Ids (e.g. UXXXXXX). If present, the commit author is looked up in the\n    # map and the Slack user, if found, is at-mentioned in the notification\n    # details. If a Slack user is not found, an error is generated as a build\n    # annotation.\n    #\n    # Required: false\n    # Default: \"\"\n\n    slack-users-file:\n    # Relative path within the repository to read the slack-users JSON from a\n    # file. The file is read from the default branch via the API.\n    #\n    # Required: false\n    # Default: \"\"\n\n    job-name:\n    # An explicit job-name, in cases where github.job (the job.id) won't work\n    # such as matrix jobs.\n    #\n    # Required: false\n    # Default: \"\"\n\n    job-status:\n    # An explicit job-status, in cases where the status of the current job is not\n    # the desired status to notify about.\n    #\n    # Required: false\n    # Default: \"\"\n\n    github-token:\n    #\n    # Required: false\n    # Default: ${{ github.token }}\n\n    dry-run:\n    # Don't actually notify (useful for testing)\n    #\n    # Required: false\n    # Default: false\n```\n\n\u003c!-- action-docs-usage action=\"action.yml\" project=\"freckle/slack-notify-action\" version=\"v1\" --\u003e\n\n## Job Name\n\nIn order to locate the URL to the Job in which we're running, we need to know\nthe Job _Name_. Within the action, GitHub exposes `github.job`, which is the Job\n_Id_. These are usually the same, unless you've given an explicit `name` or are\nrunning the Job in a matrix. If either of these are true, the action cannot\ndetermine the Job URL and will error. Unfortunately, GitHub does not offer any\nway for us to handle this, so you must provide the `job-name` input from the\noutside:\n\n```yaml\nname: \"My Cool Job\"\nsteps:\n  - uses: freckle/slack-notify-action@v1\n    with:\n      slack-webhook: ${{ secrets.SLACK_WEBHOOK }}\n      job-name: \"My Cool Job\"\n```\n\nFor matrices, as least you can build it dynamically:\n\n```yaml\nstrategy:\n  matrix:\n    env:\n      - dev\n      - prod\n\nsteps:\n  - uses: freckle/slack-notify-action@v1\n    with:\n      slack-webhook: ${{ secrets.SLACK_WEBHOOK }}\n      job-name: ${{ github.job }} (${{ matrix.env }})\n```\n\n## Slack Users\n\nIf told the mapping from GitHub Username to Slack User Id, this action will\nat-mention the author of the commit in which the Job is running:\n\n```yaml\n- uses: freckle/slack-notify-action@v1\n  with:\n    slack-webhook: ${{ secrets.SLACK_WEBHOOK }}\n    slack-users: |\n      {\n        \"octocat\": \"UXXXXXX\",\n        \"pbrisbin\": \"UXXXXXX\"\n      }\n```\n\nIf this content gets too big, you can store it in the repository instead:\n\n```yaml\n- uses: freckle/slack-notify-action@v1\n  with\n    slack-webhook: ${{ secrets.SLACK_WEBHOOK }}\n    slack-users-file: .github/slack.json\n```\n\nThe file is read from the default branch using the API (so no checkout is\nrequired.)\n\n## Release\n\nTODO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreckle%2Fslack-notify-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreckle%2Fslack-notify-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreckle%2Fslack-notify-action/lists"}