meldestelle/.github/workflows/youtrack-sync.yml

30 lines
1004 B
YAML

name: YouTrack Sync (on merge)
on:
push:
branches: [ main ]
jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Comment to YouTrack Issue(s)
run: |
set -euo pipefail
KEYS=$(git log -1 --pretty=%B | grep -o '[A-Z]\+-[0-9]\+' | sort -u || true)
if [ -z "$KEYS" ]; then
echo "No issue keys in last commit message. Skipping."
exit 0
fi
for ISSUE in $KEYS; do
MSG=$(printf 'PR/Commit gemergt: %s\nRepo: %s\nCommit: %s' "${{ github.event.head_commit.url }}" "${{ github.repository }}" "${{ github.sha }}")
curl -sS -X POST \
-H "Authorization: Bearer $YT_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"$YT_URL/api/issues/$ISSUE/comments" \
-d "{\"text\": \"$MSG\"}"
done
env:
YT_URL: ${{ secrets.YT_URL }}
YT_TOKEN: ${{ secrets.YT_TOKEN }}