IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Subversion Discussion :

Envoie courriel : post-commit avec svnnotify


Sujet :

Subversion

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 43
    Par défaut Envoie courriel : post-commit avec svnnotify
    Bonjour/Bonsoir à tous et à toutes!

    J'ai présentement un petit problème avec mon serveur SVN. J'essaie de configurer l'envoie d'un courriel lorsqu'un commit est effectué sur un projet. Donc voilà j'ai le fichier suivant dans mon hook, il se nomme post-commit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/sh
    REPOS="$1"
    REV="$2"
    
    /usr/local/bin/svnnotify -revision "$REV" -C -d --repos-path "$REPOS" --to mon_courriel
    Un petit code bien simple, qui ne fonctionne pas. Lorsque je l'exécute dans un shell on me dit numéro de révision invalide et ce même si je lui fournis les paramètre. Cependant, je reçois un courriel vide.

    De plus j'ai essayer la ligne de commande en remplaçant les variables par mes paramètre, et ça fonctionne. Avez vous une idée?

    Merci

  2. #2
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Bonjour,

    Un peu tard certes, ça fait un peu déterrage mais comme je suis tombé dessus en cherchant et que cela peut arrivé à d'autre voici un exemple fonctionnel d'une alerte mail post commit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    #!/bin/bash
    
    # POST-COMMIT HOOK
    #
    # The post-commit hook is invoked after a commit.  Subversion runs
    # this hook by invoking a program (script, executable, binary, etc.)
    # named 'post-commit' (for which this file is a template) with the
    # following ordered arguments:
    #
    #   [1] REPOS-PATH   (the path to this repository)
    #   [2] REV          (the number of the revision just committed)
    #
    # The default working directory for the invocation is undefined, so
    # the program should set one explicitly if it cares.
    #
    # Because the commit has already completed and cannot be undone,
    # the exit code of the hook program is ignored.  The hook program
    # can use the 'svnlook' utility to help it examine the
    # newly-committed tree.
    #
    # On a Unix system, the normal procedure is to have 'post-commit'
    # invoke other programs to do the real work, though it may do the
    # work itself too.
    #
    # Note that 'post-commit' must be executable by the user(s) who will
    # invoke it (typically the user httpd runs as), and that user must
    # have filesystem-level permission to access the repository.
    #
    # On a Windows system, you should name the hook program
    # 'post-commit.bat' or 'post-commit.exe',
    # but the basic idea is the same.
    #
    # The hook program typically does not inherit the environment of
    # its parent process.  For example, a common problem is for the
    # PATH environment variable to not be set to its usual value, so
    # that subprograms fail to launch unless invoked via absolute path.
    # If you're having unexpected problems with a hook program, the
    # culprit may be unusual (or missing) environment variables.
    #
    # Here is an example hook script, for a Unix /bin/sh interpreter.
    # For more examples and pre-written hooks, see those in
    # the Subversion repository at
    # http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and
    # http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/
    
    
    
    #Fait par Ludovic 
    REPOS="/srv/salesforce" #recup le repository
    REV="$2" #recup l'argument de la transaction
    SVNLOOK="/usr/bin/svnlook"
    SENDTO="******@*****.com"
    SENDFROM=AlerteSVN@leyton.com
    LIMITDIFF=200
    CHANGELOG=`$SVNLOOK log -r $REV $REPOS`
    AUTHOR=`$SVNLOOK author -r $REV $REPOS`
    CHANGED=`$SVNLOOK changed -r $REV $REPOS`
    DIFF=`$SVNLOOK diff -r $REV $REPOS | head --lines=$LIMITDIFF`
    DATE=`date`
    TMPFILE=/tmp/svn$REV-$RANDOM.message
    
    SUBJECT="SVNCommit ($AUTHOR) Salesforce revision : [$REV]"
    echo "
    ___________________________________________________________
    ---------------- SVN Commit Notification ------------------
    Repository:             $REPOS
    Revision:               $REV
    Auteur:         $AUTHOR
    Date:                   $DATE
    
    -----------------------------------------------------------
    Commentaire du commit  :
    -----------------------------------------------------------
    $CHANGELOG
    
    
    
    -----------------------------------------------------------
    Fichiers modifie:
    -----------------------------------------------------------
    $CHANGED
    
    
    
    -----------------------------------------------------------
    Diff des fichiers : (Limite aux $LIMITDIFF premiere lignes)
    -----------------------------------------------------------
    $DIFF
    
    " > $TMPFILE
    
    #Send Email
    cat $TMPFILE | mail -a "From: $SENDFROM" -s "$SUBJECT" "$SENDTO"
    
    #Cleanup
    rm $TMPFILE
    Bonne journée
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/04/2014, 09h29
  2. [AJAX] Envoi de post en dur avec ajax
    Par ThePirateur dans le forum AJAX
    Réponses: 3
    Dernier message: 17/01/2013, 10h15
  3. [PHP 5.3] Envoie courriel avec photos.
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 10/07/2012, 12h53
  4. Ajax avec jQuery: envoi par POST retour en JSON
    Par band22 dans le forum jQuery
    Réponses: 1
    Dernier message: 14/10/2011, 10h54
  5. [Prototype] Envoi paramètres POST avec signe "?"
    Par hugo69 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 26/02/2008, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo