I'm setting up SubversionNotify 2.0.10 for the first time. I can't get it to send me an email. For my example commit, I gave TortoiseSVN a boug but sufficient log message of just the letter ‘d’. The commit goes fine but I don’t get an email. I’ll provide my .log and .cfg files below. Any suggestions are appreciated. I don't know why it doesn't find and use the email address (eirens@redacteddomain.com) that I've specified in the .cfg file.
My SubversionNotify.log says:
[9/7/2009 3:08:39 PM] *************************
[9/7/2009 3:08:39 PM] Starting process for Revision 15-s [c:\shared\svnrepo_junk]
[9/7/2009 3:08:39 PM] Configuration file deserialized. Logging level set to: DEBUG
[9/7/2009 3:08:39 PM] SubversionNotify, Version=2.0.10.0, Culture=neutral, PublicKeyToken=null
[9/7/2009 3:08:39 PM] Bugzilla :: Beginning Deserialization
[9/7/2009 3:08:39 PM] Bugzilla :: Successfully loaded BugzillaConfig object
[9/7/2009 3:08:39 PM] ItemTrackerRegistration: No matching element at /svn:subversionNotifyConfig/svn:RepoPathConfig[@ControlledPaths='/testing']/svn:ItemTrackers/svn:BugzillaConfig
[9/7/2009 3:08:40 PM] Processing type: pre-commit
[9/7/2009 3:08:40 PM] Commit Paths: /testing/jnkjnk/
[9/7/2009 3:08:40 PM] Controlled Paths List: /
[9/7/2009 3:08:40 PM] Controlled Paths List: /testing
[9/7/2009 3:08:40 PM] Found Applicable RepoConfig: '/testing' with /testing/jnkjnk/
[9/7/2009 3:08:40 PM] SetRepoPathPrecidence :: Incomming configs = 1 ; Returning configs = 1
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: Returning 1 RepoPathConfig objects
[9/7/2009 3:08:40 PM] LockedPaths :: No check elements found.
[9/7/2009 3:08:40 PM] PreCommitProcessing :: Generating SvnLook directory file listing
[9/7/2009 3:08:40 PM] PreCommitProcessing :: Checking for case-insensitive file match
[9/7/2009 3:08:40 PM] Passed Folder Name Exclusion test.
[9/7/2009 3:08:40 PM] Passed File Type Exclusion test.
[9/7/2009 3:08:40 PM] Checking for FileTypeTag Requirements complete. Not Required.
[9/7/2009 3:08:40 PM] Checking for LogMessageCheck Requirements. Configs to check: 1
[9/7/2009 3:08:40 PM] LogMessageCheck checking log message: d
[9/7/2009 3:08:40 PM] LogMessageCheck file list: U testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] LogMessageCheck Commit Regex Found: d
[9/7/2009 3:08:40 PM] GleenItemNumbers :: Returning 0 ItemTrackingSet objects
[9/7/2009 3:08:40 PM] All Pre-commit checks passed.
[9/7/2009 3:08:40 PM] *************************
[9/7/2009 3:08:40 PM] Starting process for Revision 16 [c:\shared\svnrepo_junk]
[9/7/2009 3:08:40 PM] Configuration file deserialized. Logging level set to: DEBUG
[9/7/2009 3:08:40 PM] SubversionNotify, Version=2.0.10.0, Culture=neutral, PublicKeyToken=null
[9/7/2009 3:08:40 PM] Bugzilla :: Beginning Deserialization
[9/7/2009 3:08:40 PM] Bugzilla :: Successfully loaded BugzillaConfig object
[9/7/2009 3:08:40 PM] ItemTrackerRegistration: No matching element at /svn:subversionNotifyConfig/svn:RepoPathConfig[@ControlledPaths='/testing']/svn:ItemTrackers/svn:BugzillaConfig
[9/7/2009 3:08:40 PM] Processing type: post-commit
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: ChangedFiles list: U testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: Modified file name: testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] Controlled Paths List: /
[9/7/2009 3:08:40 PM] Controlled Paths List: /testing
[9/7/2009 3:08:40 PM] Found Applicable RepoConfig: '/testing' with /testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] SetRepoPathPrecidence :: Incomming configs = 1 ; Returning configs = 1
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: Returning 1 RepoPathConfig objects
[9/7/2009 3:08:40 PM] GleenItemNumbers :: Returning 0 ItemTrackingSet objects
[9/7/2009 3:08:40 PM] InfoHeader :: Raw Header message -
eirens
2009-09-07 15:08:40 -0400 (Mon, 07 Sep 2009)
1
d
[9/7/2009 3:08:40 PM] No ADGlobalCatalog value specified. Unable to look-up user eMail address and name for eirens. Using default address: svnnotify@redacteddomain.com
[9/7/2009 3:08:40 PM] Controlled Paths List: /
[9/7/2009 3:08:40 PM] Controlled Paths List: /testing
[9/7/2009 3:08:40 PM] Found Applicable RepoConfig: '/testing' with /testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] SetRepoPathPrecidence :: Incomming configs = 1 ; Returning configs = 1
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: Returning 1 RepoPathConfig objects
[9/7/2009 3:08:41 PM] HTML file written to c:\subversionnotify\log\Revision 16.html
[9/7/2009 3:08:41 PM] HTML Message Generated
[9/7/2009 3:08:41 PM] Generating e-mail message
[9/7/2009 3:08:41 PM] EMail Addresses found:
[9/7/2009 3:08:41 PM] No e-mail groups found
[9/7/2009 3:08:41 PM] EMail Addresses captured:
[9/7/2009 3:08:41 PM] Unable to send mail:
System.InvalidOperationException: A recipient must be specified.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at SubversionNotify.Program.PostCommitProcessing(HTMLProcessor proc, subversionNotifyConfig cfg, String logFileName, String baseFolder)
[9/7/2009 3:08:41 PM] Finished e-mail processing.
[9/7/2009 3:08:41 PM] Finished processing Revision 16
and my SubversionNotify.cfg (redacted a bit) says:
<?xml version="1.0" standalone="yes"?>
<subversionNotifyConfig xmlns="http://www.mckechney.com/SubversionNotifyConfig.xsd" LoggingLevel="DEBUG" MaximumEMailSizeInMb="5" MaximumEmailSubjectChars="255">
<!-- Basic configuration of where to locate the SVN executables -->
<SVNConfig ExePath="C:\Program Files\Subversion\bin\svnlook.exe" />
<!-- Configure your mail server. Needed for e-mail notifications -->
<MailServer Name=“redacted_mail_server_IP_address” Username="svnnotify" Password=“redacted” FromAddress=“svnnotify@redacteddomain.com”/>
<!-- To integrate with item tracking applications (bugs, tasks, etc) register the handler for it here -->
<ItemTrackerRegistration>
<Registration ElementName="BugzillaConfig" AssemblyName="SubversionNotify.Integration.Bugzilla.dll"/>
</ItemTrackerRegistration>
<!-- Register repositories and repo paths to be controlled in one of these sections. -->
<RepoPathConfig ControlledPaths="/" ControlledRepos="C:\shared\svnrepo_junk\" ExcludeFromPrecedenceFilter="true">
<!-- Trying the following Mailto element here to debug mail problems. -->
<MailTo EmailAddress=“eirens@redacteddomain.com” EMailType="HTML"/>
<!-- In case you want to, you can add a default log message that will get added if no other message is included by the user -->
<DefaultLogMessage Text="#user# has decided not to add a log message. Don't worry, severe punishment will be administered in short order."/>
<!-- If you registered item tracker handler above, this is where you add them. Remember, the handler must implement the IItemTracker interface
as specified in SubversionNotify.Integration.ItemTracking.dll -->
<ItemTrackers>
<BugzillaConfig XmlReturnURL="http://24.96.69.252/show_bug.cgi?id={0}&ctype=xml"
ItemLinkURL="http://24.96.69.252/{0}"
ItemFindRegex="\[b?u?g? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" >
<!-- <AllowedProducts>
<AllowedProduct Name="ProductOne"/>
</AllowedProducts>
<DisallowedStatuses>
<DisallowedStatus Name="CLOSED" RepoPathException="Test" UserException="mmckechney,user2"/>
<DisallowedStatus Name="RESOLVED" RepoPathException=""/>
</DisallowedStatuses>
<LockedItems>
<Item ItemId="1000"/>
<Item ItemId="1002"/>
<Item ItemId="1002"/>
</LockedItems> -->
</BugzillaConfig>
</ItemTrackers>
<!-- An example of a second, less controlled path-->
<RepoPathConfig ControlledPaths="/testing">
<MailTo EmailAddress=“eirens@redacteddomain.com” EMailType="HTML"/>
<DefaultLogMessage Text="#user# has decided not to add a log message. Don't worry, severe punishment will be administered in short order."/>
<CommitRequirements FailureMessage="Please add a commit message.">
<CommitRequirement Description="Any Text" Regex="\w"/>
</CommitRequirements>
</RepoPathConfig>
<!-- If there are paths you want to lock against any changes, you can control that from here-->
<!-- <LockedPaths>
<LockedPath RepoPath="/Retired" ControlledRepos="C:\MyRepo"/>
<LockedPath RepoPath="/ReallyRetired"/>
</LockedPaths> -->
<!-- Implementing the pre-prop-change hook, this enforces that the changed message meets your standards -->
<!-- <PrePropChangeRequirements FailureMessage="A revision comment may only be changed if it includes a Change Request number. Please add [CR ###] to the changed message.">
<PrePropChangeRequirement Description="Bug Number" Regex="\[c?r? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" IsBugMatch="true"/>
</PrePropChangeRequirements> -->
<PreCommitFailureMessage>
<MailTo EMailAddress=“eirens@redacteddomain.com” CustomSubjectFormat="[SVN Precommit Failure] #user# :: #commitMessage#" />
</PreCommitFailureMessage>
<!-- One or more of these, you can set up re-usable distribution lists.
The Name attribute value is what you use as the EMailGroup value up in the MailTo element-->
<!-- <EMailGroup Name="Developers">
<EMail Address="email1@mydomain.com" />
<EMail Address="email2@mydomain.com" />
</EMailGroup>
<EMailGroup Name="Managers">
<EMail Address="email3@mydomain.com" />
<EMail Address="email4@mydomain.com" />
</EMailGroup> -->
</subversionNotifyConfig>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Nothing in spam folder. It appears the messages are not being sent and that SubversionNotify doesn't recognize an email address from my .cfg file to send the message to.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm setting up SubversionNotify 2.0.10 for the first time. I can't get it to send me an email. For my example commit, I gave TortoiseSVN a boug but sufficient log message of just the letter ‘d’. The commit goes fine but I don’t get an email. I’ll provide my .log and .cfg files below. Any suggestions are appreciated. I don't know why it doesn't find and use the email address (eirens@redacteddomain.com) that I've specified in the .cfg file.
My SubversionNotify.log says:
[9/7/2009 3:08:39 PM] *************************
[9/7/2009 3:08:39 PM] Starting process for Revision 15-s [c:\shared\svnrepo_junk]
[9/7/2009 3:08:39 PM] Configuration file deserialized. Logging level set to: DEBUG
[9/7/2009 3:08:39 PM] SubversionNotify, Version=2.0.10.0, Culture=neutral, PublicKeyToken=null
[9/7/2009 3:08:39 PM] Bugzilla :: Beginning Deserialization
[9/7/2009 3:08:39 PM] Bugzilla :: Successfully loaded BugzillaConfig object
[9/7/2009 3:08:39 PM] ItemTrackerRegistration: No matching element at /svn:subversionNotifyConfig/svn:RepoPathConfig[@ControlledPaths='/testing']/svn:ItemTrackers/svn:BugzillaConfig
[9/7/2009 3:08:40 PM] Processing type: pre-commit
[9/7/2009 3:08:40 PM] Commit Paths: /testing/jnkjnk/
[9/7/2009 3:08:40 PM] Controlled Paths List: /
[9/7/2009 3:08:40 PM] Controlled Paths List: /testing
[9/7/2009 3:08:40 PM] Found Applicable RepoConfig: '/testing' with /testing/jnkjnk/
[9/7/2009 3:08:40 PM] SetRepoPathPrecidence :: Incomming configs = 1 ; Returning configs = 1
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: Returning 1 RepoPathConfig objects
[9/7/2009 3:08:40 PM] LockedPaths :: No check elements found.
[9/7/2009 3:08:40 PM] PreCommitProcessing :: Generating SvnLook directory file listing
[9/7/2009 3:08:40 PM] PreCommitProcessing :: Checking for case-insensitive file match
[9/7/2009 3:08:40 PM] Passed Folder Name Exclusion test.
[9/7/2009 3:08:40 PM] Passed File Type Exclusion test.
[9/7/2009 3:08:40 PM] Checking for FileTypeTag Requirements complete. Not Required.
[9/7/2009 3:08:40 PM] Checking for LogMessageCheck Requirements. Configs to check: 1
[9/7/2009 3:08:40 PM] LogMessageCheck checking log message: d
[9/7/2009 3:08:40 PM] LogMessageCheck file list: U testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] LogMessageCheck Commit Regex Found: d
[9/7/2009 3:08:40 PM] GleenItemNumbers :: Returning 0 ItemTrackingSet objects
[9/7/2009 3:08:40 PM] All Pre-commit checks passed.
[9/7/2009 3:08:40 PM] *************************
[9/7/2009 3:08:40 PM] Starting process for Revision 16 [c:\shared\svnrepo_junk]
[9/7/2009 3:08:40 PM] Configuration file deserialized. Logging level set to: DEBUG
[9/7/2009 3:08:40 PM] SubversionNotify, Version=2.0.10.0, Culture=neutral, PublicKeyToken=null
[9/7/2009 3:08:40 PM] Bugzilla :: Beginning Deserialization
[9/7/2009 3:08:40 PM] Bugzilla :: Successfully loaded BugzillaConfig object
[9/7/2009 3:08:40 PM] ItemTrackerRegistration: No matching element at /svn:subversionNotifyConfig/svn:RepoPathConfig[@ControlledPaths='/testing']/svn:ItemTrackers/svn:BugzillaConfig
[9/7/2009 3:08:40 PM] Processing type: post-commit
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: ChangedFiles list: U testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: Modified file name: testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] Controlled Paths List: /
[9/7/2009 3:08:40 PM] Controlled Paths List: /testing
[9/7/2009 3:08:40 PM] Found Applicable RepoConfig: '/testing' with /testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] SetRepoPathPrecidence :: Incomming configs = 1 ; Returning configs = 1
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: Returning 1 RepoPathConfig objects
[9/7/2009 3:08:40 PM] GleenItemNumbers :: Returning 0 ItemTrackingSet objects
[9/7/2009 3:08:40 PM] InfoHeader :: Raw Header message -
eirens
2009-09-07 15:08:40 -0400 (Mon, 07 Sep 2009)
1
d
[9/7/2009 3:08:40 PM] No ADGlobalCatalog value specified. Unable to look-up user eMail address and name for eirens. Using default address: svnnotify@redacteddomain.com
[9/7/2009 3:08:40 PM] Controlled Paths List: /
[9/7/2009 3:08:40 PM] Controlled Paths List: /testing
[9/7/2009 3:08:40 PM] Found Applicable RepoConfig: '/testing' with /testing/jnkjnk/jnk.rep
[9/7/2009 3:08:40 PM] SetRepoPathPrecidence :: Incomming configs = 1 ; Returning configs = 1
[9/7/2009 3:08:40 PM] SelectApplicableReproConfigs :: Returning 1 RepoPathConfig objects
[9/7/2009 3:08:41 PM] HTML file written to c:\subversionnotify\log\Revision 16.html
[9/7/2009 3:08:41 PM] HTML Message Generated
[9/7/2009 3:08:41 PM] Generating e-mail message
[9/7/2009 3:08:41 PM] EMail Addresses found:
[9/7/2009 3:08:41 PM] No e-mail groups found
[9/7/2009 3:08:41 PM] EMail Addresses captured:
[9/7/2009 3:08:41 PM] Unable to send mail:
System.InvalidOperationException: A recipient must be specified.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at SubversionNotify.Program.PostCommitProcessing(HTMLProcessor proc, subversionNotifyConfig cfg, String logFileName, String baseFolder)
[9/7/2009 3:08:41 PM] Finished e-mail processing.
[9/7/2009 3:08:41 PM] Finished processing Revision 16
********************************************************************************
********************************************************************************
********************************************************************************
and my SubversionNotify.cfg (redacted a bit) says:
<?xml version="1.0" standalone="yes"?>
<subversionNotifyConfig xmlns="http://www.mckechney.com/SubversionNotifyConfig.xsd" LoggingLevel="DEBUG" MaximumEMailSizeInMb="5" MaximumEmailSubjectChars="255">
<!-- Basic configuration of where to locate the SVN executables -->
<SVNConfig ExePath="C:\Program Files\Subversion\bin\svnlook.exe" />
<!-- Configure your mail server. Needed for e-mail notifications -->
<MailServer Name=“redacted_mail_server_IP_address” Username="svnnotify" Password=“redacted” FromAddress=“svnnotify@redacteddomain.com”/>
<!-- To integrate with item tracking applications (bugs, tasks, etc) register the handler for it here -->
<ItemTrackerRegistration>
<Registration ElementName="BugzillaConfig" AssemblyName="SubversionNotify.Integration.Bugzilla.dll"/>
</ItemTrackerRegistration>
<!-- Register repositories and repo paths to be controlled in one of these sections. -->
<RepoPathConfig ControlledPaths="/" ControlledRepos="C:\shared\svnrepo_junk\" ExcludeFromPrecedenceFilter="true">
<!-- Trying the following Mailto element here to debug mail problems. -->
<MailTo EmailAddress=“eirens@redacteddomain.com” EMailType="HTML"/>
<!-- In case you want to, you can add a default log message that will get added if no other message is included by the user -->
<DefaultLogMessage Text="#user# has decided not to add a log message. Don't worry, severe punishment will be administered in short order."/>
<!-- If you registered item tracker handler above, this is where you add them. Remember, the handler must implement the IItemTracker interface
as specified in SubversionNotify.Integration.ItemTracking.dll -->
<ItemTrackers>
<BugzillaConfig XmlReturnURL="http://24.96.69.252/show_bug.cgi?id={0}&ctype=xml"
ItemLinkURL="http://24.96.69.252/{0}"
ItemFindRegex="\[b?u?g? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" >
<!-- <AllowedProducts>
<AllowedProduct Name="ProductOne"/>
</AllowedProducts>
<DisallowedStatuses>
<DisallowedStatus Name="CLOSED" RepoPathException="Test" UserException="mmckechney,user2"/>
<DisallowedStatus Name="RESOLVED" RepoPathException=""/>
</DisallowedStatuses>
<LockedItems>
<Item ItemId="1000"/>
<Item ItemId="1002"/>
<Item ItemId="1002"/>
</LockedItems> -->
</BugzillaConfig>
</ItemTrackers>
<!-- <execute application="pathtwo.bat" commandline="#revision# #name# #controlledpaths#"/> -->
</RepoPathConfig>
<!-- An example of a second, less controlled path-->
<RepoPathConfig ControlledPaths="/testing">
<MailTo EmailAddress=“eirens@redacteddomain.com” EMailType="HTML"/>
<DefaultLogMessage Text="#user# has decided not to add a log message. Don't worry, severe punishment will be administered in short order."/>
<CommitRequirements FailureMessage="Please add a commit message.">
<CommitRequirement Description="Any Text" Regex="\w"/>
</CommitRequirements>
</RepoPathConfig>
<!-- If there are paths you want to lock against any changes, you can control that from here-->
<!-- <LockedPaths>
<LockedPath RepoPath="/Retired" ControlledRepos="C:\MyRepo"/>
<LockedPath RepoPath="/ReallyRetired"/>
</LockedPaths> -->
<!-- Implementing the pre-prop-change hook, this enforces that the changed message meets your standards -->
<!-- <PrePropChangeRequirements FailureMessage="A revision comment may only be changed if it includes a Change Request number. Please add [CR ###] to the changed message.">
<PrePropChangeRequirement Description="Bug Number" Regex="\[c?r? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" IsBugMatch="true"/>
</PrePropChangeRequirements> -->
<PreCommitFailureMessage>
<MailTo EMailAddress=“eirens@redacteddomain.com” CustomSubjectFormat="[SVN Precommit Failure] #user# :: #commitMessage#" />
</PreCommitFailureMessage>
<!-- One or more of these, you can set up re-usable distribution lists.
The Name attribute value is what you use as the EMailGroup value up in the MailTo element-->
<!-- <EMailGroup Name="Developers">
<EMail Address="email1@mydomain.com" />
<EMail Address="email2@mydomain.com" />
</EMailGroup>
<EMailGroup Name="Managers">
<EMail Address="email3@mydomain.com" />
<EMail Address="email4@mydomain.com" />
</EMailGroup> -->
</subversionNotifyConfig>
Typo: "boug" should be "bogus".
Anyone have any ideas?
Verify SPAM folder on your mail server and mail box. In my case server put notifications into SPAM folder.
Nothing in spam folder. It appears the messages are not being sent and that SubversionNotify doesn't recognize an email address from my .cfg file to send the message to.
<MailTo EmailAddress=“eirens@redacteddomain.com” EMailType="HTML"/>
should be
<MailTo EMailAddress=“eirens@redacteddomain.com” EMailType="HTML"/>
Everything is case sensitive when it comes to the config.
Code is messed up, don't know how to format it here.
But the point is EmailAddress should be EMailAddress.
Thank you very much, Batzendev. That handled it! I set up that .CFG file before I found (from other forum posts) that the names were case sensitive.