tcWebHooks icon indicating copy to clipboard operation
tcWebHooks copied to clipboard

Variable substitution fails for explicitly specified branches

Open jelco opened this issue 7 years ago • 11 comments

I'm seeing the IllegalArgumentException as described in #26 also occur on finished builds (successful or failed) on specific branches for some of my projects. In general both master and all feature branches work fine, but builds on the "staging" and "production" branches (which are treated differently by some build steps for e.g. deployment logic for nightly resp. stable builds) seem to fail. Note that there is one build configuration which does not differentiate in build steps between the branches but also has this issue.

I think the common denominator is the fact that these build configurations have the branches explicitly configured in their VCS Root. My branch specification on one of the configurations:

+:refs/heads/(master)
+:refs/heads/(staging)
+:refs/heads/(production)

The default branch is set to refs/heads/master which I'm guessing is the reason that branch does not see the issue.

In VCS Roots where the branch specification uses wildcards (i.e. +:refs/heads/*) this issue does not appear.

Does this make sense? Could it be you're treating explicitly registered branches differently from default or wildcard matches?

jelco avatar Aug 02 '17 09:08 jelco

Thanks for such a thorough bug report.

Yes. There is a chance I am not finding this as "branch build" correctly and maybe not rendering the correct payload.

What version of TeamCity and tcWebHooks are you using? Are you using a template? I'll try to reproduce the issue.

netwolfuk avatar Aug 02 '17 09:08 netwolfuk

Currently running TeamCity 2017.1.2 with tcWebHooks 1.1-alpha10.157.147. This happens on our tailored JSON hooks (we're not using any other kind). These are basically all the webhooks for which I documented examples on the wiki: https://github.com/tcplugins/tcWebHooks/wiki/Advanced-Editing-of-tcWebHooks-configuration

jelco avatar Aug 02 '17 12:08 jelco

Hi @jelco I'm having trouble reproducing this for finished builds. Any suggestions on something I have missed?

Here is my setup:

  • Docker TeamCity instance running 2017.1.2

  • installed plugin version: 1.1-alpha10.157.147

  • new build setup with the following VCS information Fetch URL: https://github.com/tcplugins/tcBuildInvoker.git Default Branch: refs/heads/master Branch Specifications:

      +:refs/heads/(issue_4-fix_tc10_and_tc2017)
      +:refs/heads/(issue_3-fix_javascript_errors)
      +:refs/heads/(master)
    

New Webhook created

<settings>
  <webhooks enabled="true">
    <webhook url="http://192.168.1.72:8111/webhooks/endpoint.html?notifyType=${notifyType}&amp;revision=${revision}&amp;project=${project}" enabled="true" format="tailoredjson" template="none">
  <states>
    <state type="responsibilityChanged" enabled="true" />
    <state type="buildInterrupted" enabled="true" />
    <state type="buildFinished" enabled="true" />
    <state type="buildSuccessful" enabled="true" />
    <state type="buildStarted" enabled="true" />
    <state type="buildFixed" enabled="false" />
    <state type="changesLoaded" enabled="true" />
    <state type="buildFailed" enabled="true" />
    <state type="buildBroken" enabled="false" />
    <state type="beforeBuildFinish" enabled="true" />
  </states>
  <build-types enabled-for-all="false" enabled-for-subprojects="false">
    <build-type id="bt2" />
  </build-types>
  </webhook>
</webhooks>

Build Parameters webhook.project: %teamcity.project.id% webhook.revision: %build.vcs.number% webhook.body:{ "project": "${project}", "branchName": "${branchName}", "revision": "${revision}", "notifyType" : "${notifyType}" }

branchName and notifyType are both webhook resolvable variables. project and revision refer to %<var_name>% as defined as build parameters. I am pointing my webhook at the /webhooks/endpoint.html convenience endpoint.

For buildStarted and changesLoaded events, I can see what you see, but for beforeBuildFinshed and buildFinished events, the values resolve correctly (both in the payload and the URL).

I trigger the builds from clicking the run... button and choosing the branch to build.

Default Branch (master)

{
  "project": "%teamcity.project.id%",
  "branchName": "<default>",
  "revision": "%build.vcs.number%",
  "notifyType": "buildStarted"
}

{
  "project": "%teamcity.project.id%",
  "branchName": "<default>",
  "revision": "%build.vcs.number%",
  "notifyType": "changesLoaded"
}

{
  "project": "TcPlugins",
  "branchName": "<default>",
  "revision": "8952d0e8840bef0df00d5314bfa1262c5c8bb46d",
  "notifyType": "beforeBuildFinish"
}

{
  "project": "TcPlugins",
  "branchName": "<default>",
  "revision": "8952d0e8840bef0df00d5314bfa1262c5c8bb46d",
  "notifyType": "buildFinished"
}

Branch named "issue_4-fix_tc10_and_tc2017"

{
  "project": "%teamcity.project.id%",
  "branchName": "issue_4-fix_tc10_and_tc2017",
  "revision": "%build.vcs.number%",
  "notifyType": "buildStarted"
}

{
  "project": "%teamcity.project.id%",
  "branchName": "issue_4-fix_tc10_and_tc2017",
  "revision": "%build.vcs.number%",
  "notifyType": "changesLoaded"
}

{
  "project": "TcPlugins",
  "branchName": "issue_4-fix_tc10_and_tc2017",
  "revision": "f0957cf7a74112152f46d5bb9560455898269a09",
  "notifyType": "beforeBuildFinish"
}

{
  "project": "TcPlugins",
  "branchName": "issue_4-fix_tc10_and_tc2017",
  "revision": "f0957cf7a74112152f46d5bb9560455898269a09",
  "notifyType": "buildFinished"
}

netwolfuk avatar Aug 12 '17 13:08 netwolfuk

All builds so far were triggered by VCS updates so far, but I've tested with some manualy triggers as well and I'm seeing the same issue.

Maybe it helps to have the exact full configuration of one hook that doesn't work?

    <webhook url="https://api.bitbucket.org/2.0/repositories/.../${project}/commit/${revision}/statuses/build" enabled="true" format="tailoredjson" template="none">
      <states>
        <state type="buildStarted" enabled="false" />
        <state type="buildInterrupted" enabled="false" />
        <state type="changesLoaded" enabled="false" />
        <state type="buildSuccessful" enabled="true" />
        <state type="buildFixed" enabled="false" />
        <state type="buildFinished" enabled="true" />
        <state type="beforeBuildFinish" enabled="false" />
        <state type="responsibilityChanged" enabled="false" />
        <state type="buildFailed" enabled="false" />
        <state type="buildBroken" enabled="false" />
      </states>
      <build-types enabled-for-all="true" enabled-for-subprojects="true" />
      <trigger-filters>
        <filter value="${revision}" regex="^.+$" enabled="true" />
      </trigger-filters>
      <parameters>
        <param name="body" value="{&quot;state&quot;: &quot;SUCCESSFUL&quot;, &quot;key&quot;: &quot;${key}&quot;, &quot;name&quot;: &quot;${name}&quot;, &quot;url&quot;: &quot;${url}&quot;, &quot;description&quot;: &quot;${buildStatus}&quot;}" />
      </parameters>
      <auth enabled="true" type="userpass" preemptive="true">
        <auth-parameters>
          <param name="password" value="..." />
          <param name="username" value="..." />
        </auth-parameters>
      </auth>
    </webhook>

(Of course the username and password have been removed.)

jelco avatar Aug 14 '17 16:08 jelco

Closer inspection reveals that this issue actually also plays up in repositories that don't have this kind of branch filtering set up. In my current setup I can't really pinpoint a common configuration aspect that doesn't also apply to builds that don't show this issue.

My gut feeling tells me that maybe this applies specifically to configurations I created at a specific TC version. There's some really old configs and some really new that don't have it, but I think that maybe all the configurations that have this issue might have been created in the same timespan, at a specific TeamCity version (probably towards the end of version 9). Maybe there's some configuration issue under the hood that didn't get properly converted during an upgrade, affecting the hooks?

jelco avatar Aug 15 '17 08:08 jelco

Hmm. That's a weird edge case. I'm not even sure how I track that down.

Are you able to enable debug logging on the server and get some more info?

netwolfuk avatar Aug 15 '17 12:08 netwolfuk

Is there anything odd in project-config.xml for those build configurations?

netwolfuk avatar Aug 15 '17 12:08 netwolfuk

Btw. I just tested your example config above and it resolved the project name and revision.

netwolfuk avatar Aug 15 '17 13:08 netwolfuk

I can't find anything interesting in the project-config.xml files. I'll see what I can find when I switch on TeamCity debug logging.

jelco avatar Aug 15 '17 13:08 jelco

I'm hoping this helps, because the increased verbosity has made TeamCity barf up this set of stacktraces quite frequently into the logfiles. :)

[2017-08-15 16:01:11,855]  DEBUG -   jetbrains.buildServer.SERVER - About to process WebHooks for project15 at buildState buildFinished 
[2017-08-15 16:01:11,855]  DEBUG -   jetbrains.buildServer.SERVER - WebHook NOT triggered:   https://api.bitbucket.org/2.0/repositories/.../${project}/commit/${revision}/statuses/build 
[2017-08-15 16:01:11,855]  DEBUG - tbrains.buildServer.ACTIVITIES - WebHookListener :: Tailored JSON in body 
[2017-08-15 16:01:11,856]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for key 
[2017-08-15 16:01:11,856]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'key' 
java.lang.NoSuchMethodException: Unknown property 'key'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.teamcity.payload.content.WebHookPayloadContent.getExtraParameters(WebHookPayloadContent.java:638)
	at webhook.teamcity.payload.format.WebHookPayloadTailoredJson.getStatusAsString(WebHookPayloadTailoredJson.java:47)
	at webhook.teamcity.payload.format.WebHookPayloadGeneric.buildFinished(WebHookPayloadGeneric.java:65)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:89)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2017-08-15 16:01:11,856]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for name 
[2017-08-15 16:01:11,856]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'name' 
java.lang.NoSuchMethodException: Unknown property 'name'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.teamcity.payload.content.WebHookPayloadContent.getExtraParameters(WebHookPayloadContent.java:638)
	at webhook.teamcity.payload.format.WebHookPayloadTailoredJson.getStatusAsString(WebHookPayloadTailoredJson.java:47)
	at webhook.teamcity.payload.format.WebHookPayloadGeneric.buildFinished(WebHookPayloadGeneric.java:65)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:89)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2017-08-15 16:01:11,856]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for url 
[2017-08-15 16:01:11,856]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'url' 
java.lang.NoSuchMethodException: Unknown property 'url'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.teamcity.payload.content.WebHookPayloadContent.getExtraParameters(WebHookPayloadContent.java:638)
	at webhook.teamcity.payload.format.WebHookPayloadTailoredJson.getStatusAsString(WebHookPayloadTailoredJson.java:47)
	at webhook.teamcity.payload.format.WebHookPayloadGeneric.buildFinished(WebHookPayloadGeneric.java:65)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:89)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2017-08-15 16:01:11,857]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for key 
[2017-08-15 16:01:11,857]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'key' 
java.lang.NoSuchMethodException: Unknown property 'key'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.teamcity.payload.content.WebHookPayloadContent.getExtraParameters(WebHookPayloadContent.java:643)
	at webhook.teamcity.payload.format.WebHookPayloadTailoredJson.getStatusAsString(WebHookPayloadTailoredJson.java:47)
	at webhook.teamcity.payload.format.WebHookPayloadGeneric.buildFinished(WebHookPayloadGeneric.java:65)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:89)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2017-08-15 16:01:11,857]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for name 
[2017-08-15 16:01:11,857]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'name' 
java.lang.NoSuchMethodException: Unknown property 'name'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.teamcity.payload.content.WebHookPayloadContent.getExtraParameters(WebHookPayloadContent.java:643)
	at webhook.teamcity.payload.format.WebHookPayloadTailoredJson.getStatusAsString(WebHookPayloadTailoredJson.java:47)
	at webhook.teamcity.payload.format.WebHookPayloadGeneric.buildFinished(WebHookPayloadGeneric.java:65)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:89)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2017-08-15 16:01:11,857]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for url 
[2017-08-15 16:01:11,857]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'url' 
java.lang.NoSuchMethodException: Unknown property 'url'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.teamcity.payload.content.WebHookPayloadContent.getExtraParameters(WebHookPayloadContent.java:643)
	at webhook.teamcity.payload.format.WebHookPayloadTailoredJson.getStatusAsString(WebHookPayloadTailoredJson.java:47)
	at webhook.teamcity.payload.format.WebHookPayloadGeneric.buildFinished(WebHookPayloadGeneric.java:65)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:89)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2017-08-15 16:01:11,857]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for project 
[2017-08-15 16:01:11,858]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'project' 
java.lang.NoSuchMethodException: Unknown property 'project'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.teamcity.WebHookContentBuilder.resolveTemplatedUrl(WebHookContentBuilder.java:108)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:90)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2017-08-15 16:01:11,858]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for revision 
[2017-08-15 16:01:11,858]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'revision' 
java.lang.NoSuchMethodException: Unknown property 'revision'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.teamcity.WebHookContentBuilder.resolveTemplatedUrl(WebHookContentBuilder.java:108)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:90)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2017-08-15 16:01:11,858]  DEBUG -   jetbrains.buildServer.SERVER - WebHooksBeanUtilsVariableResolver :: class java.lang.NoSuchMethodException thrown when trying to resolve value for revision 
[2017-08-15 16:01:11,858]  DEBUG -   jetbrains.buildServer.SERVER - Unknown property 'revision' 
java.lang.NoSuchMethodException: Unknown property 'revision'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at webhook.teamcity.payload.util.WebHooksBeanUtilsVariableResolver.resolve(WebHooksBeanUtilsVariableResolver.java:101)
	at webhook.teamcity.payload.util.TemplateMatcher.replace(TemplateMatcher.java:54)
	at webhook.teamcity.payload.util.VariableMessageBuilder.build(VariableMessageBuilder.java:22)
	at webhook.WebHookImpl.checkFilters(WebHookImpl.java:362)
	at webhook.teamcity.WebHookContentBuilder.buildWebHookContent(WebHookContentBuilder.java:91)
	at webhook.teamcity.WebHookListener.processBuildEvent(WebHookListener.java:80)
	at webhook.teamcity.WebHookListener.buildFinished(WebHookListener.java:145)
	at sun.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:121)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.superDispatch(ServerSideEventDispatcher.java:5)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher$1.run(ServerSideEventDispatcher.java:2)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:34)
	at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:1)
	at jetbrains.buildServer.serverSide.ServerSideEventDispatcher.dispatch(ServerSideEventDispatcher.java:8)
	at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:68)
	at com.sun.proxy.$Proxy19.buildFinished(Unknown Source)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.finishBuild(RunningBuildsManagerImpl.java:151)
	at jetbrains.buildServer.serverSide.impl.RunningBuildsManagerImpl.lambda$scheduleBuildFinishing$0(RunningBuildsManagerImpl.java:184)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

jelco avatar Aug 15 '17 14:08 jelco

Yes. I should turn those off. They don't really add much value. I'll go through it when I get to a computer.

netwolfuk avatar Aug 15 '17 17:08 netwolfuk