From jerome at coffeebreaks.org Thu Dec 4 11:24:48 2003 From: jerome at coffeebreaks.org (Jerome Lacoste) Date: Thu, 04 Dec 2003 12:24:48 +0100 Subject: [cvsspam-devel] [Fwd: CVS spam log handler] Message-ID: <1070537088.15668.64.camel@expresso> --=-+z607mx+ZocJXZGMlFGj Content-Type: multipart/mixed; boundary="=-NjGj6ehHAE+dI7WjDNTq" --=-NjGj6ehHAE+dI7WjDNTq Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi wanted to share that with the users/developers of CVSspam. I partly chose to use cvsspam because of its Jira support. Now here's a CVS spam support for Jira. "la boucle est boucl=E9e" Feel free to contact me for ideas. J. --=-NjGj6ehHAE+dI7WjDNTq Content-Disposition: inline Content-Description: Forwarded message - CVS spam log handler Content-Type: message/rfc822 Subject: CVS spam log handler From: Jerome Lacoste Reply-To: jerome@coffeebreaks.org To: jira-user@atlassian.com Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-MuM2ZVYpz1eUgRPrYraR" Message-Id: <1070504091.15664.48.camel@expresso> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.5 Date: Thu, 04 Dec 2003 03:14:52 +0100 --=-MuM2ZVYpz1eUgRPrYraR Content-Type: multipart/mixed; boundary="=-uFFeL46GkV0X8755CR4r" --=-uFFeL46GkV0X8755CR4r Content-Type: text/plain Content-Transfer-Encoding: quoted-printable I've made a CVS spam log handler. The implementation is pretty simple for the moment. I attach it to the mail. Reuse it at will as long as you keep my name in it :) I will probably make updates to the code (I've also some typos to fix in the documentation), so if one wants to be updated when the code is changed, send me a mail. Some notes on the CVSLogHandler - the ServiceUtils.finReferencedIssues() can return an array containing an issue more than once. The behavior should probably be documented. - I find the current message handler architecture a little bit limitating. What happens if more than one handler is attached to the same service? How does one manage to apply different operations based on the message content? Some kind of filter architecture, as seen in mail clients, might be more appropriate. If one is interested in implementing it, I can have it a go. Just send me a mail. (Didn't search is this was already in Atlassian Jira issue tracker). --=-uFFeL46GkV0X8755CR4r Content-Disposition: attachment; filename=JiraCVSSpamLogHandler.tar.gz Content-Type: application/x-compressed-tar; name=JiraCVSSpamLogHandler.tar.gz Content-Transfer-Encoding: base64 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 vHx/EwCgAAA= --=-uFFeL46GkV0X8755CR4r-- --=-MuM2ZVYpz1eUgRPrYraR Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQA/zpib9VdQ2keorTQRArg/AJ92fw/6mz14IfmlRP3A64EQ8vmunwCg2z47 sa8gsWZbrXZrbofRlhzZGp0= =sCC5 -----END PGP SIGNATURE----- --=-MuM2ZVYpz1eUgRPrYraR-- --=-NjGj6ehHAE+dI7WjDNTq-- --=-+z607mx+ZocJXZGMlFGj Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQA/zxmA9VdQ2keorTQRAmbMAKCdz5QCzJk/myn+lJ8RU8ZyPfk49ACfW+JP fPna1cE6otijFc0mZBori2A= =ZVIm -----END PGP SIGNATURE----- --=-+z607mx+ZocJXZGMlFGj-- From dave at badgers-in-foil.co.uk Thu Dec 4 12:46:21 2003 From: dave at badgers-in-foil.co.uk (David Holroyd) Date: Thu, 4 Dec 2003 12:46:21 +0000 Subject: [cvsspam-devel] [Fwd: CVS spam log handler] In-Reply-To: <1070537088.15668.64.camel@expresso> References: <1070537088.15668.64.camel@expresso> Message-ID: <20031204124621.GA14785@vhost.badgers-in-foil.co.uk> On Thu, Dec 04, 2003 at 12:24:48PM +0100, Jerome Lacoste wrote: > Hi > > wanted to share that with the users/developers of CVSspam. I partly > chose to use cvsspam because of its Jira support. Now here's a CVS spam > support for Jira. > > "la boucle est boucl?e" Thank you! Completing the circle by adding entries into Bugzilla/Jira/etc. is something I plan to support within the CVSspam scripts themselves, one day. > Feel free to contact me for ideas. Any ideas for improvement are welcome. (The TODO file overfloweth :) [PS Are you able to make that file available somewhere on the web?] ta, dave From andree.buchmann at adress-research.de Thu Dec 11 15:28:07 2003 From: andree.buchmann at adress-research.de (andree.buchmann@adress-research.de) Date: Thu, 11 Dec 2003 16:28:07 +0100 Subject: [cvsspam-devel] Repository in the Subject of CVSspam Message-ID: <3BBDA25C0D941F4EAF58FA625B27C847010CD883@gtlbmlexs0002.bagmail.net> Hello @all, I am a totally newbie in Ruby and 2 hours ago, I have never seen = Ruby-Code before. And I have folllowing Question: How can I set the Subject for the CVSspam-Mail? Default is: [CVS Modulename@Branchname] First row of the Comment And I want this: [CVS Repositoryname Modulename@branch] First row of the Comment or the like because we have more than 1 Repository. I have found following on line 1012 in the Script cvsspam.rb: $subjectPrefix =3D "[CVS #{Repository.array.join(',')}]" But I don=B4t know, how to set the Repositoryname dynamicly. Can anyone help me? Greetings, Andree --=20 Adress Research GmbH=20 Andree Buchmann Telefon: +49 (0) 5241/ 4035-522 http://www.adress-research.de From dave at badgers-in-foil.co.uk Fri Dec 12 11:23:16 2003 From: dave at badgers-in-foil.co.uk (David Holroyd) Date: Fri, 12 Dec 2003 11:23:16 +0000 Subject: [cvsspam-devel] Repository in the Subject of CVSspam In-Reply-To: <3BBDA25C0D941F4EAF58FA625B27C847010CD883@gtlbmlexs0002.bagmail.net> References: <3BBDA25C0D941F4EAF58FA625B27C847010CD883@gtlbmlexs0002.bagmail.net> Message-ID: <20031212112316.GA6986@vhost.badgers-in-foil.co.uk> On Thu, Dec 11, 2003 at 04:28:07PM +0100, andree.buchmann@adress-research.de wrote: > Hello @all, > > I am a totally newbie in Ruby and 2 hours ago, I have never seen Ruby-Code > before. > And I have folllowing Question: > How can I set the Subject for the CVSspam-Mail? > > Default is: > [CVS Modulename@Branchname] First row of the Comment > > And I want this: > [CVS Repositoryname Modulename@branch] First row of the Comment > or the like because we have more than 1 Repository. > > I have found following on line 1012 in the Script cvsspam.rb: > $subjectPrefix = "[CVS #{Repository.array.join(',')}]" > > But I don?t know, how to set the Repositoryname dynamicly. There already exists some code to deal with repository names that could be reused. The config file can define a global '$repository_name' that's either a string naming the repository or the word 'GUESS'. This is then used by the following snippet of code: if $repository_name == GUESS # use the last component of the repository path as the name ENV['CVSROOT'] =~ /([^\/]+$)/ $frontend.repository_name = $1 elsif $repository_name != nil $frontend.repository_name = $repository_name end This is only used when there's a '$frontend' configured (e.g. ViewCVS), but we could take that code and use it in the generation of the subject prefix too. I may have some time to do this next week, but you may want to have a go at it in the meantime. dave