How to trigger build by changes in file, except one user?

How to trigger build by changes in file, except one user?
I try to use such trigger rules, but it doesn't work

+:root=buildscripts:TaskFile.txt
-:user=AutoCommiter;root=buildscripts:TaskFile.txt

TeamCity version 3.0.1

It triggers alway when TaskFile.txt changes

Edited by: Alexander Shishenin on May 30, 2008 12:38 PM

13 comments

Alexander,

Please try the rule:

-:user=AutoCommiter;root=buildscripts:**/TaskFile.txt

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Doesn't work (((

I try one more rule
-:user=AutoCommiter;root=buildscripts:**TaskFile.txt

but it doesn't help too.

0

Alexander,

Can you please list you VCS root settings, the VCS triggering settings and the change in the build that was triggered, while it should not?

Screeshots or copy pasted text form the Settings page of the build configuration and the wrongly triggered build changes tab (and build results tab with "triggered" field) will do.

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

I changed it a little since last post. Now it looks like.

VCS Roort Name = buildscripts
Type SVN
CheckoutRule .=>bat

Trigger
+:root=buildscripts:bat/TaskFile.txt
-:user=AutoCommiter;root=buildscripts:**bat/TaskFile.txt

Commit that triggers build when should not
33235 AutoCommiter (1 files)
Comment: internal: Clearing tasks file

Date:
30 May 12:13
Changed files:
1 file (1 modified)

edited bat/TaskFile.txt

0

Alexander,

Sorry for the delay in replying.

Seems, there is an issue with absolute path in VCS triggering rules, I've filed it as: http://jetbrains.net/tracker/issue/TW-5296

Please try using the triggering rule:
-:user=AutoCommiter;root=buildscripts:bat/TaskFile.txt

do not specify any other rules. Currently, from the several rules matching a single file, only the first one is used. (See http://jetbrains.net/tracker/issue/TW-3363 to change the behavior).

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Thanks, but do not specify any other rules. Doesn't works.
Builder will trigger by any change of any file, not just by one with tasks list.

Edited by: Alexander Shishenin on Jun 19, 2008 10:33 AM

0

Alexander,

If you see a problem that is not yet covered by the mentioned issues form the tracker, can you please provide all the relevant details (VCS and triggering settings, the full change description with all the files actually modified and how they are displayed in TeamCity UI, etc.)?

It would be appropriate to create an issue in the tracker to address the issue.

You can also try to experiment with the rules starting with "-:**" rule and adjusting it until the desired effect is achieved.

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Yegor,

If I understand situation right, my problem described here.
Until fix, I had to write many exclude rools for all other roots, and files affected in this build.
But this way is hard to maintain, I think.
Now another workaround is worked. I'm just analyze task file fore key string that means - "false triggering - stop and exit"

May be I had some misunderstanding of the situation. I'll try to describe it once again, may be it's another issue.
Here is our usecase.

We had several VCS roots. It looks like.
Data_Source
Data_Deastination
Bin_Export
Bat_Config
The way It should works. Any VCS user checkout taskFile, and write there which data should be exported from Data_Source to Data_Deastination by Bin_Export. After user checkin taskFile builder should clean taskFile and peform task.

That's why I need simple trigger which will triggers by TaskFile always, except cleaning by builder.

If you need another information, I can send it via email.

--
Best regards,

Alexander Shishenin
QA Lead at Client Team
Moscow Development Studio
Nival Online

0

Alexander,

Thank you for the detailed description of your configuration.

Yes, http://jetbrains.net/tracker/issue/TW-3363 is what you need.

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

does it currently work if you want to trigger only on specific files, e.g.
+:Serialized/*.dat ?

This pattern does not work, that means if something else is committed, the build triggers too.
If I specify
-:Serialized/**
+:Serialized/*.dat
it does not work, the build still triggers if something else changes.

Thanks for any hints how the triggers should look like to make this use case work.

0

Michael

+: - once use this pattern you exlude all other files.
It seems to me that problem is in checkout settings of build.
Can you post full checkout path to Serialized folder?

--
Best regards,

Alexander Shishenin
QA Lead at Client Team
Moscow Development Studio
Nival Online
http://www.nivalonline.com

0

Alexander,

thanks for reply - I am not sure what you mean by full checkout path.
vcs root is :pserver:username@host:2401/5093_HMI_Entwicklung (username and host differ of course, but this should not matter I guess), module name is 5093_HMI-GuideDB

the Serialized Folder is a root folder within the agent workdir, e.g.
BuildAgent\work\cbf7bf0cf1d993f5\Serialized\

is this the information you wanted?


Best regards,
Michael

0

Michael

Yes, this is the information I was talking about.
Try to use pattern like this.

+:**.dat
or may be
+:root=RootName:**.dat
It's working well for subversion roots.
I think that problem lies somewhere in folder name.

If it doesn't help try to focus trigger on just one file. Debug it and than expand rule for whole folder.


--
Best regards,

Alexander Shishenin
QA Lead at Client Team
Moscow Development Studio
Nival Online
http://www.nivalonline.com

0

Please sign in to leave a comment.