1

I have a pre_receive hook in pre-receive.d folder of git repo, written in shell script, hook is getting executed correctly but the stash env variables are not available with it i.e they return empty values, Is there any server side configuration required for env variables?

#!/bin/sh
echo "pre-receive message 30"
echo "STASH_USER_EMAIL:-"$STASH_USER_EMAIL
echo "STASH_PROJECT_NAME:-"$STASH_PROJECT_NAME

returns

remote: pre-receive message 30
remote: STASH_USER_EMAIL:-
remote: STASH_PROJECT_NAME:-

Any help will be highly appreciated.

humble_wolf
  • 1,497
  • 19
  • 26

1 Answers1

1

Try with a more complete pre-receive test script, set in your pre-receive.d folder.

#!/bin/bash
(
        echo "Script name: $0"
        echo "Positional arguments: ${@}"
        echo "STASH_USER_NAME: $STASH_USER_NAME"
        echo "STASH_USER_EMAIL: $STASH_USER_EMAIL"
        echo "STASH_REPO_NAME: $STASH_REPO_NAME"
        echo "STASH_IS_ADMIN: $STASH_IS_ADMIN"
        while read from_ref to_ref ref_name; do
                echo "Ref update:"
                echo " Old value: $from_ref"
                echo " New value: $to_ref"
                echo " Ref name:  $ref_name"
                echo " Diff:"
                git show $to_ref | sed 's/^/  /'
        done
) | tee -a /tmp/external-hooks-test.log

See if that would imput those environment variable values.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250