Skip to content

Map GitHub user to Slack #2

Map GitHub user to Slack

Map GitHub user to Slack #2

name: Map GitHub user to Slack
on:
workflow_dispatch:
inputs:
slack_user:
required: false
workflow_call:
outputs:
slack_user:
description: "Mapped Slack username"
value: ${{ jobs.map_user.outputs.slack_user }}
jobs:
map_user:
runs-on: ubuntu-latest
outputs:
slack_user: ${{ steps.map.outputs.SLACK_USER }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Map GitHub user to Slack
id: map
shell: bash
run: |
FILE_PATH="github_to_slack.json"
GITHUB_USER="${{ github.actor }}"
if [[ ! -f "$FILE_PATH" ]]; then
echo "Error: $FILE_PATH not found!" >&2
exit 1
fi
FILE_CONTENT=$(cat "$FILE_PATH")
SLACK_USER=$(echo "$FILE_CONTENT" | jq -r --arg user "$GITHUB_USER" '.[$user] // "@"+$user')
if [ -z "$SLACK_USER" ]; then
SLACK_USER="@${GITHUB_USER}"
fi
echo "SLACK_USER=$SLACK_USER" >> $GITHUB_ENV
echo "slack_user=$SLACK_USER" >> $GITHUB_OUTPUT