-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Jenkins 2.138.2
-
Powered by SuggestiMate -
workflow-job 2.31
This issue manifested itself since October 15th.
When a build is triggered and it runs on multiple slaves parallely, you normally get an output for each line corresponding to the variant its running. Since a Jenkins update on October 15th, this has not been the case. This is making it harder for us to debug the issues on the variants/slaves, as we don't know on which variant the issue is being manifested.
NOTE:
Although unrelated, this issue was manifested together with another bug which doesn't allow an anonymous user to view jobs, even if logged in as a non-admin. Only users with admin privileges are allowed to view the logs. That issue has been found on your backlog. https://issues.jenkins-ci.org/browse/JENKINS-54031
- earlier.JPG
- 35 kB
- now.JPG
- 18 kB
- now.JPG
- 18 kB
- now.JPG
- 18 kB
- earlier.JPG
- 35 kB
- JENKINS-54304.png
- 234 kB
- jenkins-browser-log
- 13 kB
- log-index
- 76 kB
- log
- 4.93 MB
- two-variants.png
- 271 kB
- Selection_047.png
- 157 kB
- Selection_048.png
- 196 kB
- is duplicated by
-
JENKINS-55137 No branch name in logs from parallel branches anymore?
-
- Resolved
-
-
JENKINS-54763 Branch name disappear after plugin upgrade (>= 2.26)
-
- Resolved
-
-
JENKINS-55332 Parallel branch no longer prefixing log lines
-
- Closed
-
- relates to
-
JENKINS-38719 ConsoleAnnotatorFactory serves stale JavaScript and CSS when a plugin is upgraded/downgraded
-
- Resolved
-
-
JENKINS-38381 [JEP-210] Optimize log handling in Pipeline and Durable Task
-
- Resolved
-
-
JENKINS-56734 After upgrading jenkins from 2.60 to 2.150.3, we are seeing one alignment issue in the console log when we are running 2 stages parallelly in a pipeline job
-
- Open
-
-
JENKINS-60862 Truncated build logs do not show parallel branch names that began before the truncation point
-
- Resolved
-
-
JENKINS-56910 Can no longer search for branch names of parallel() branches
-
- Open
-
-
JENKINS-56913 Support for filtering all occurrences of all parallel() branches except one in the job log
-
- Open
-
- links to
[JENKINS-54304] Jobs in parallel dont display the variant they are running.
This is as designed. The HTML rendering layer was rewritten. You can click on (hide) links to suppress irrelevant branches or other blocks. There is a TODO comment requesting that in the case of parallel, all but the first branch be hidden by default. Or, a similar kind of branch prefix could be displayed in JS/CSS without requiring the physical log to have that prefix, as it did before.
An experimental build if you care to try it out. (And if you are handy with CSS, please, offer improvements.)
That did not fix the issue we are having. Everything seems to be running the same way.
Working for me… make sure you are actually running the stated build (check Plugin Manager » Installed) and attach a screenshot.
Here you go:
I cant find the specific version ID, but here is another one which asks me to downgrade it to the previous one:
Just so that I make sure i am trying it on the correct way: Is there any way i can enable/disable this feature? Maybe with the new update it got disabled by default. I didnt understand the message where u said "This is as designed..........". This was working for us for over a year now, and now it just stopped.
Looks like you were running an experimental build, then upgraded to an official release marked newer than it. Try installing this newer build.
So initially there was an update to 2.28 which i tried and it didnt have this issue fixed. Afterwards i tried the newer build you offered and it also didnt work
Pictures:
The variant should've been in front each line.
Version:
Please attach the log and log-index files from the build directory ($JENKINS_HOME/jobs/*/builds/*/) and show a full-size screenshot including a point at which output switches from one branch to another, and note any browser console warnings or errors.
I have added a picture called two-variants (I assume that by output of switches from one branch to the other you meant by two different variants). The colors represent different variants which before used to have a notation in front of them in this form:
[Variant Name]: NOTE: Running task .....
The only warning from the browser is:
‘src’ attribute of <script> element is empty.
I've also attached log-index and log as requested.
fhajredini I suspect the browser error is the clue—for some reason the script which displays branch annotations is not loaded. It is hard to be sure from your screenshot since it is only from a region of the screen, not the whole browser window. See if your console page contains something like <script src='/descriptor/org.jenkinsci.plugins.workflow.job.console.NewNodeConsoleNote/script.js' /> and whether the loaded script file contains a line 37
var branch = label.substring(8)
Also you may need to force a page reload.
Judging by the frequency of branch transitions, you likely want to run with the startup option -Dorg.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep.USE_WATCHING=true to get better performance. This mode is currently disabled pending some unreleased fixes related to coloration and some field reports of failures, but it is intended to be the default mode going forward.
I am attaching my browsers source code when im viewing the console. I named it jenkins-browser-log
Besides the browser source code I checked the script. The script actually exists but the line 37 is not included. I have also attached the given script. Its called `NewNodeConsoleNote-script.js`
Just FYI, we have tested this in chromium and in firefox, the issue manifests on both of them.
Indeed your browser is not running the code from my pull request. Either you are not actually running the patched version of the plugin, or you need to force-reload the page to convince the browser to ignore its previously cached version of the script.
(It is likely a Jenkins core bug that a force reload is needed, of course. I see Last-Modified and Expires headers. Normally these are not supposed to matter because restarting Jenkins would serve static resources from a new randomized URL. It seems Functions.generateConsoleAnnotationScriptAndStylesheet is incorrect.)
I assume that by force reload the page, you mean reload without cache. That i have done.
The plugin version that i have seems to be the correct one, i also sent you the proof for it. What other way can i ensure that im running that version?
Is there any step i can take here to assist of any help? Or just wait for PR 3757?
Force reload on Chromium is Ctrl-Shift-R. I do not know about other browsers. Core PR 3757 would merely avoid the need to do this manually.
Somehow either your browser is continuing to cache the old file, or you are not really running the correct version, or the old version is lying around somewhere and mixing things up. It is hard to guess without having hands-on access to your server. You can check something like
curl -i http://YOURSERVER/jenkins/descriptor/org.jenkinsci.plugins.workflow.job.console.NewNodeConsoleNote/script.js
and compare the result to this revision which should also be present as org/jenkinsci/plugins/workflow/job/console/NewNodeConsoleNote/script.js in WEB-INF/lib/workflow-job.jar in your $JENKINS_HOME/plugins/workflow-job.jpi. (You installed the experimental build via the upload form in Plugin Manager » Advanced I hope? Check the plugins/ directory for stray files.)
So that means that the page is already being refreshed without cache. This brings us to the conclusion that the actual patch that you sent me, is not correctly uploaded or not correctly working.
What steps can i take to upload the plugin besides the manage plugins > advanced?
Afterwards how can i ensure 100% that the correct plugin is actually uploaded?
Well I downloaded https://repo.jenkins-ci.org/incrementals/org/jenkins-ci/plugins/workflow/workflow-job/2.29-rc915.1276983ff71c/workflow-job-2.29-rc915.1276983ff71c.hpi and it has the script.js of length 4877, unlike the older one of length in 3816 in https://repo.jenkins-ci.org/public/org/jenkins-ci/plugins/workflow/workflow-job/2.28/workflow-job-2.28.hpi so I believe the problem is on your end. Please check the diagnostics I suggested in my last message.
And yes Plugin Manager » Advanced is the correct way to install downloaded plugins. I was making sure you did not manually dump it into the plugins/ directory under an unexpected name, for example.
Hi, sorry for the late reply, we were in a middle of a release.
From now and on, this issue is prioritized from us. I was trying to investigate on it and below are my results:
Curling our jobs page is not possible due to another failure with gitOauth plugin, which doesnt give permission to anyone to view the jobs unless you are an admin. However, when this step is manually done, the script seems to be the wrong one.
I've tried hard refreshing the page manually, but still the script remains unchanged. We even restarted our jenkins, and still the script is unchanged and doesnt match to [the revision|https://github.com/jenkinsci/workflow-job-plugin/blob/1276983ff71ccaf81e22392ff0b5072bcf664c26/src/main/resources/org/jenkinsci/plugins/workflow/job/console/NewNodeConsoleNote/script.js. |https://github.com/jenkinsci/workflow-job-plugin/blob/1276983ff71ccaf81e22392ff0b5072bcf664c26/src/main/resources/org/jenkinsci/plugins/workflow/job/console/NewNodeConsoleNote/script.js].I]
I have also checked the script on ` org/jenkinsci/plugins/workflow/job/console/NewNodeConsoleNote/script.js` of our `workflow-job.jar` and its still the outdated one.
I went on the docker container to look further on the plugin. On `plugins/`I have a directory called 'workflow-job' and two files `workflow-job.jpi` and `workflow-job.bak`. The jpi file and bak file i didnt manage to open, however on workflow job there was WEB-INF and META-INF. I looked through these two directories and on `/var/jenkins_home/plugins/workflow-job/META-INF/maven/org.jenkins-ci.plugins.workflow/workflow-job` i saw the a file `pom.properties` which when catted gave me this:
#Generated by Maven #Fri Nov 09 14:36:27 EST 2018 version=2.29 groupId=org.jenkins-ci.plugins.workflow artifactId=workflow-job
Which ensures the correct version of the plugin.
I also have pom.xml there. If you think it can be interesting i can send that to you as well.
At this point I am confused. There is no other version of this plugin installed and yet although the version checks out, the changes dont. How can i further debug this issue?
2.29 is a released version of the plugin. The last version with the fix that I supplied you is 2.29-rc915.1276983ff71c. So you are not running the correct version. Possibly the issue is that another release was cut of the plugin after I last brought the PR up to date, and you may have applied that update from the update center without noticing that it would clobber the manual update. Here is a new build, 2.30-rc928.54893f9a5f5c.
Regarding *.jpi files, these are simply ZIP (JAR) files.
Have now moved to a local build on my machine so that i can test new stuff.
I had the 2.29 by default on my machine and i got the 2.30 (the one u just suggested)
I still get the same issue. The JS script is not running on my browser. Its the outdated one.
Edit: Is it possible that this plugin is somehow depended on other plugins?
Please go through the steps I outlined before to verify what is really present in your $JENKINS_HOME/plugins/workflow-job.jpi.
-Unzipped workflow-job.jpi
--unzipped WEB-INF/lib/workflow-job.jar
— Checked WEB-INF/lib/org/jenkinsci/plugins/workflow/job/console/NewNodeConsoleNote/script.js. The File checks out with the latest github code.
First time the variants werent visible, so i force refreshed my browser. I got them (although slightly disoriented)
Thank you for the help.
There we go at last. The visual appearance can probably be improved by someone more familiar with CSS.
Also noticed another minor issue. The variants are visible only on /consoleFull logs. If its only console then the variants wont be visible.
The issue doesnt seem that minor anymore. The [variant] is not searchable through CTRL+F. Also if u view the logs as plain text, you get no information of the variants. Having ~10MB of logs with >5 different variants makes it difficult to track the variant.
Not sure about the console vs. consoleFull issue. Should be visible in both. Would have to see if this is a reproducible issue.
Regarding Ctrl-F, well, this is up to the browser. In this case the text is CSS-injected so it may decide not to include it in search.
Regarding the raw console log, yes there is no branch information since this is added as a UI nicety on top of the HTML view. If you are interested in raw output from a particular step, you can download it directly.
I just released Pipeline Job Plugin 2.31, which shows the branch names for parallel branches whenever log output transitions from one branch to another in the classic UI. See the attached screenshot for an idea of what it looks like:
dnusbaum Just as a side note, its quite important to have the logs viewed on the raw console log as well as being searched via CTRL+F. Might want to open a bug regarding that one and also the logs not being seen on the console(only visible on consoleFull).
fhajredini FWIW I tried to reproduce your console vs. consoleFull issue before I released the change but could not reproduce it. Both URLs showed the branch names for me correctly.
Regarding branch names in the raw logs, I think it would be possible to add them back, although I do not recall if jglick removed them intentionally (perhaps to cut down on bloat in raw logs?), so it would be good to make sure we understand whether there would be any drawbacks before we add them back in.
Regarding the console vs consoleFull : I think its possible that if the Console only, shows all the log, then it will still print out the variants. Otherwise it wont. At least in my case i just double checked and it still doesnt show the logs on Console only (even with Pipeline Job 2.31)
fhajredini You mean that it doesn't work if the logs are truncated and only the most recent lines are shown? I will try to reproduce the issue that way.
Exactly. If the logs are long enough that the 'ConsoleLog' view is required to see all the logs, then on 'Console' only the variants wont be shown. Just a wild guess, cos i saw your test output was short, and our log outputs are always >10.000 line.
fhajredini Ok, I was able to reproduce the issue for log files that are truncated. I'm not sure what is going on, but I'll take a look.
The problem is that when the log is truncated, the span elements with the pipeline-new-node class that would have triggered this behavior.js rule are not present (because they only occur at the beginning of the parallel branch), so the rule is not triggered. If you have a parallel block that shows up in full at the end of the log then its branches are displayed even if the branches for prior parallel blocks are not. Maybe we could separate the rule that shows branch names from the rule that adds show/hide buttons and have it look for `pipeline-node-*` blocks instead so that the start of the branch doesn't need to be present for it to work.
Yes the lack of pipeline-new-node spans from truncated lines is a known issue affecting also show / hide links. I am not sure whether the proposed separation would work well; the current code uses the Behaviour system which is more efficient than just searching for all elements. Possibly the server side could emit the opening spans for nodes started before the truncation point but completed after it, though this cannot be done trivially by inspecting the start parameter since that would break incremental display.
Regarding branch names in the raw logs, I think it would be possible to add them back
They were removed from the raw log intentionally; rendering of branch names is now done on the client side rather than being (redundantly) kept in the log file. Since the consoleText streams the raw log without any metadata, we do not see it. There could I suppose be some intermediate variant that processes the log in certain ways like this one but emits text/plain.
Since this ticket is closed I have to ask: Is there already somewhere another ticket out there about the branch names not being searchable anymore? Doesn't work with Chrome or Firefox.
And you clearly do not want to use IE or Edge with Jenkins - so I didn't even give them a shot.
In addition to that Chrome used to be the only browser being able to highlight all occurrences of a particular branch in the scroll bar - that way one could easily find an issue related to one branch only.
Especially for bigger pipelines with lots of branches we still need this.
The show/hide feature is quite nice. However what we would need is to be able to completely hide all branches (completely, all occurrences) except the chosen one. Only that would make the search obsolete. Is that / will that be possible?
Is there already somewhere another ticket out there
If it is not Link ed here, then I would presume not.
what we would need is to be able to completely hide all branches (completely, all occurrences) except the chosen one. Only that would make the search obsolete. Is that / will that be possible?
It could be, using some CSS/JS manipulations, as suggested here. That would of course deserve its own (linked) issue.
jglick: Thanks for the quick feedback. I created two new tickets linking them to this one (and to each other):
JENKINS-56910
JENKINS-56913
Not sure why this ticket is closed. What was the fix ?
After upgrading Jenkins the logformat for Pipeline jobs changed. Due to this change it's no longer clear which line belongs to which step. This is a problem when looking at parallel steps.
Please check my earlier and now screenshot.
Using plugin version 2.31
and Jenkins version 2.150.3
sakshisood yes the format has changed. In your second screenshot, everything at or below [junit] is coming from that branch, until the next such mark.
jglick This change has made troubleshooting of the issues difficult. it's no longer clear which line belongs to which step. I have to scroll too many times to understand if i get some error to identify the error belongs to which step. Can this be reverted? If not, Is there any configuration change I can make to get the old behavior ?
"Regarding branch names in the raw logs, I think it would be possible to add them back"
We need the Branch Names in the Raw Logs. We have various tools/log-formatters that parse through raw logs. Please put this back.
Hey jglick,
the change done here has killed our complete option to forward the log data to an external instance! This is really a major change that should be undone! Who cares about the log to be shown within the UI if you operate Jenkins within a corporation where you have some hundert jenkins jobs - you simply don't scroll trough the jobs anymore - you have to have some external processing.
Before this change we where able to forward all logs to an external FileBeat, split the logs via Logstash and process it within ElasticSearch. With this change, we are limited to the Jenkins UI.
With this change, there is currently NO efficient way to forward the logs anymore! The only way is the logstash plugin - but here you have to adapt all jobs and don't have any global "forward everything" option anymore (if you rely on 100% pipeline jobs).
Please re-add the [pipeline step name] and also remove the binary encoded stuff (8mha:////) from the logs.
We ended up reverting back to the old (2.25) level.
Branch Names in the Raw Logs is critical for us. We have various tools/log-formatters that parse through raw logs. Please put this back.
this issue might be fixed in the GUI ...
but it still exists for 2 uses cases in which variant information is not available anymore and makes some parts of the logs unusable:
- when logs are accessed programmatically (using currentBuild.rawBuild.log for example)
- when logs are accessed through the /consoleText link (to import the logs in a log gatherer for example)
for those 2 uses cases this workaround might help: https://github.com/gdemengin/pipeline-logparser
(implementation of https://stackoverflow.com/a/57351397/8380249)
The following was generated using this groovy script:
Jenkins.instance.pluginManager.plugins.each{ plugin -> println ("${plugin.getDisplayName()} (${plugin.getShortName()}): ${plugin.getVersion()}") }
Durable Task Plugin (durable-task): 1.26
Pipeline: Nodes and Processes (workflow-durable-task-step): 2.25
Nexus Artifact Uploader (nexus-artifact-uploader): 2.10
GitHub Branch Source Plugin (github-branch-source): 2.4.1
Pipeline: SCM Step (workflow-scm-step): 2.7
Pipeline (workflow-aggregator): 2.6
Pipeline: API (workflow-api): 2.31
Pipeline: Declarative (pipeline-model-definition): 1.3.2
Pipeline: GitHub Groovy Libraries (pipeline-github-lib): 1.0
Ant Plugin (ant): 1.8
Apache HttpComponents Client 4.x API Plugin (apache-httpcomponents-client-4-api): 4.5.5-3.0
Workspace Cleanup Plugin (ws-cleanup): 0.36
Command Agent Launcher Plugin (command-launcher): 1.2
SSH Slaves plugin (ssh-slaves): 1.28.1
Windows Slaves Plugin (windows-slaves): 1.3.1
JavaScript GUI Lib: Moment.js bundle plugin (momentjs): 1.1.1
Pipeline: Basic Steps (workflow-basic-steps): 2.12
Lockable Resources plugin (lockable-resources): 2.3
JDK Tool Plugin (jdk-tool): 1.1
Pipeline: REST API Plugin (pipeline-rest-api): 2.10
Pipeline: Shared Groovy Libraries (workflow-cps-global-lib): 2.12
Folders Plugin (cloudbees-folder): 6.6
JSch dependency plugin (jsch): 0.1.54.2
Build Timeout (build-timeout): 1.19
Job Configuration History Plugin (jobConfigHistory): 2.18.3
Credentials Binding Plugin (credentials-binding): 1.16
PAM Authentication plugin (pam-auth): 1.4
Token Macro Plugin (token-macro): 2.5
Matrix Authorization Strategy Plugin (matrix-auth): 2.3
Docker Commons Plugin (docker-commons): 1.13
Pipeline: Milestone Step (pipeline-milestone-step): 1.3.1
LDAP Plugin (ldap): 1.20
Green Balls (greenballs): 1.15
External Monitor Job Type Plugin (external-monitor-job): 1.7
Copy Artifact Plugin (copyartifact): 1.41
Resource Disposer Plugin (resource-disposer): 0.12
Pipeline: Build Step (pipeline-build-step): 2.7
JavaScript GUI Lib: Handlebars bundle plugin (handlebars): 1.1.1
Pipeline: Supporting APIs (workflow-support): 2.21
Gradle Plugin (gradle): 1.29
Pipeline: Job (workflow-job): 2.26
Structs Plugin (structs): 1.17
Pipeline: Groovy (workflow-cps): 2.60
Matrix Project Plugin (matrix-project): 1.13
Simple Theme Plugin (simple-theme-plugin): 0.5.1
GitHub Authentication plugin (github-oauth): 0.29
Branch API Plugin (branch-api): 2.0.20
GitHub API Plugin (github-api): 1.92
Pipeline: Stage View Plugin (pipeline-stage-view): 2.10
OWASP Markup Formatter Plugin (antisamy-markup-formatter): 1.5
Pipeline: Stage Tags Metadata (pipeline-stage-tags-metadata): 1.3.2
bouncycastle API Plugin (bouncycastle-api): 2.17
Jackson 2 API Plugin (jackson2-api): 2.8.11.3
Email Extension Plugin (email-ext): 2.63
JavaScript GUI Lib: ACE Editor bundle plugin (ace-editor): 1.1
Docker Pipeline (docker-workflow): 1.17
GitHub plugin (github): 1.29.3
Pipeline: Multibranch (workflow-multibranch): 2.20
JUnit Plugin (junit): 1.26.1
SSH Credentials Plugin (ssh-credentials): 1.14
Node and Label parameter plugin (nodelabelparameter): 1.7.2
Credentials Plugin (credentials): 2.1.18
Nexus Platform Plugin (nexus-jenkins-plugin): 3.3.20181025-134249.614c5f4
Authentication Tokens API Plugin (authentication-tokens): 1.3
Script Security Plugin (script-security): 1.48
JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin (jquery-detached): 1.2.1
Pipeline: Input Step (pipeline-input-step): 2.8
jQuery plugin (jquery): 1.12.4-0
Pipeline: Model API (pipeline-model-api): 1.3.2
Pipeline: Declarative Extension Points API (pipeline-model-extensions): 1.3.2
MapDB API Plugin (mapdb-api): 1.0.9.0
Display URL API (display-url-api): 2.2.0
Pipeline Graph Analysis Plugin (pipeline-graph-analysis): 1.7
Plain Credentials Plugin (plain-credentials): 1.4
Git client plugin (git-client): 2.7.3
Pipeline: Stage Step (pipeline-stage-step): 2.3
GIT server Plugin (git-server): 1.7
Build With Parameters (build-with-parameters): 1.4
Mailer Plugin (mailer): 1.22
Timestamper (timestamper): 1.8.10
Git plugin (git): 3.9.1
Pipeline Utility Steps (pipeline-utility-steps): 2.1.0
SCM API Plugin (scm-api): 2.3.0
Subversion Plug-in (subversion): 2.12.1
Pipeline: Declarative Agent API (pipeline-model-declarative-agent): 1.1.1
Pipeline: Step API (workflow-step-api): 2.16
Result: [Plugin:durable-task, Plugin:workflow-durable-task-step, Plugin:nexus-artifact-uploader, Plugin:github-branch-source, Plugin:workflow-scm-step, Plugin:workflow-aggregator, Plugin:workflow-api, Plugin:pipeline-model-definition, Plugin:pipeline-github-lib, Plugin:ant, Plugin:apache-httpcomponents-client-4-api, Plugin:ws-cleanup, Plugin:command-launcher, Plugin:ssh-slaves, Plugin:windows-slaves, Plugin:momentjs, Plugin:workflow-basic-steps, Plugin:lockable-resources, Plugin:jdk-tool, Plugin:pipeline-rest-api, Plugin:workflow-cps-global-lib, Plugin:cloudbees-folder, Plugin:jsch, Plugin:build-timeout, Plugin:jobConfigHistory, Plugin:credentials-binding, Plugin:pam-auth, Plugin:token-macro, Plugin:matrix-auth, Plugin:docker-commons, Plugin:pipeline-milestone-step, Plugin:ldap, Plugin:greenballs, Plugin:external-monitor-job, Plugin:copyartifact, Plugin:resource-disposer, Plugin:pipeline-build-step, Plugin:handlebars, Plugin:workflow-support, Plugin:gradle, Plugin:workflow-job, Plugin:structs, Plugin:workflow-cps, Plugin:matrix-project, Plugin:simple-theme-plugin, Plugin:github-oauth, Plugin:branch-api, Plugin:github-api, Plugin:pipeline-stage-view, Plugin:antisamy-markup-formatter, Plugin:pipeline-stage-tags-metadata, Plugin:bouncycastle-api, Plugin:jackson2-api, Plugin:email-ext, Plugin:ace-editor, Plugin:docker-workflow, Plugin:github, Plugin:workflow-multibranch, Plugin:junit, Plugin:ssh-credentials, Plugin:nodelabelparameter, Plugin:credentials, Plugin:nexus-jenkins-plugin, Plugin:authentication-tokens, Plugin:script-security, Plugin:jquery-detached, Plugin:pipeline-input-step, Plugin:jquery, Plugin:pipeline-model-api, Plugin:pipeline-model-extensions, Plugin:mapdb-api, Plugin:display-url-api, Plugin:pipeline-graph-analysis, Plugin:plain-credentials, Plugin:git-client, Plugin:pipeline-stage-step, Plugin:git-server, Plugin:build-with-parameters, Plugin:mailer, Plugin:timestamper, Plugin:git, Plugin:pipeline-utility-steps, Plugin:scm-api, Plugin:subversion, Plugin:pipeline-model-declarative-agent, Plugin:workflow-step-api]