jenkins定时构建配置时报javax.servlet.ServletException: java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client http://git-scm.com/download/win
由于项目业务模块增多,所以开发一些新模块时将之前原本接口路径改了,所以一段时间没有打开jenkins,最近重新调整脚本后,想要重新启用jenkins进行自动化回归测试,发现Git配置(如下图位置)报错,就算把ssh key输入正确了也是报错,用http以及账号密码登录也是报错。
当时忙着修复这个问题忘记截报错的图了,报错详细信息报错见文中最后。
解决办法:
进入jenkins系统管理->插件管理页面,切换到可更新tab,右上角搜索Git,将返回的插件全部升级更新,重启即可。因为我已经升级过了所以没有可更新,又忘记截图了遗憾。
重启后可能会有部分插件依赖没有安装上,导致报错(如下图),将echarts-api在插件管理页面的可选插件tab安装成功后重启即可
报错详细信息:
javax.servlet.ServletException: java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client http://git-scm.com/download/win
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:795)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:875)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:875)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:875)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
at org.kohsuke.stapler.Stapler.service(Stapler.java:237)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:86)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
at hudson.security.ChainedServletFilter
1.
d
o
F
i
l
t
e
r
(
C
h
a
i
n
e
d
S
e
r
v
l
e
t
F
i
l
t
e
r
.
j
a
v
a
:
87
)
a
t
h
u
d
s
o
n
.
s
e
c
u
r
i
t
y
.
C
h
a
i
n
e
d
S
e
r
v
l
e
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
C
h
a
i
n
e
d
S
e
r
v
l
e
t
F
i
l
t
e
r
.
j
a
v
a
:
76
)
a
t
h
u
d
s
o
n
.
s
e
c
u
r
i
t
y
.
H
u
d
s
o
n
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
H
u
d
s
o
n
F
i
l
t
e
r
.
j
a
v
a
:
164
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
239
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
206
)
a
t
o
r
g
.
k
o
h
s
u
k
e
.
s
t
a
p
l
e
r
.
c
o
m
p
r
e
s
s
i
o
n
.
C
o
m
p
r
e
s
s
i
o
n
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
C
o
m
p
r
e
s
s
i
o
n
F
i
l
t
e
r
.
j
a
v
a
:
46
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
239
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
206
)
a
t
h
u
d
s
o
n
.
u
t
i
l
.
C
h
a
r
a
c
t
e
r
E
n
c
o
d
i
n
g
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
C
h
a
r
a
c
t
e
r
E
n
c
o
d
i
n
g
F
i
l
t
e
r
.
j
a
v
a
:
81
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
239
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
206
)
a
t
o
r
g
.
k
o
h
s
u
k
e
.
s
t
a
p
l
e
r
.
D
i
a
g
n
o
s
t
i
c
T
h
r
e
a
d
N
a
m
e
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
D
i
a
g
n
o
s
t
i
c
T
h
r
e
a
d
N
a
m
e
F
i
l
t
e
r
.
j
a
v
a
:
30
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
239
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
206
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
S
t
a
n
d
a
r
d
W
r
a
p
p
e
r
V
a
l
v
e
.
i
n
v
o
k
e
(
S
t
a
n
d
a
r
d
W
r
a
p
p
e
r
V
a
l
v
e
.
j
a
v
a
:
219
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
S
t
a
n
d
a
r
d
C
o
n
t
e
x
t
V
a
l
v
e
.
i
n
v
o
k
e
(
S
t
a
n
d
a
r
d
C
o
n
t
e
x
t
V
a
l
v
e
.
j
a
v
a
:
106
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
a
u
t
h
e
n
t
i
c
a
t
o
r
.
A
u
t
h
e
n
t
i
c
a
t
o
r
B
a
s
e
.
i
n
v
o
k
e
(
A
u
t
h
e
n
t
i
c
a
t
o
r
B
a
s
e
.
j
a
v
a
:
618
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
S
t
a
n
d
a
r
d
H
o
s
t
V
a
l
v
e
.
i
n
v
o
k
e
(
S
t
a
n
d
a
r
d
H
o
s
t
V
a
l
v
e
.
j
a
v
a
:
142
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
v
a
l
v
e
s
.
E
r
r
o
r
R
e
p
o
r
t
V
a
l
v
e
.
i
n
v
o
k
e
(
E
r
r
o
r
R
e
p
o
r
t
V
a
l
v
e
.
j
a
v
a
:
79
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
v
a
l
v
e
s
.
A
b
s
t
r
a
c
t
A
c
c
e
s
s
L
o
g
V
a
l
v
e
.
i
n
v
o
k
e
(
A
b
s
t
r
a
c
t
A
c
c
e
s
s
L
o
g
V
a
l
v
e
.
j
a
v
a
:
610
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
S
t
a
n
d
a
r
d
E
n
g
i
n
e
V
a
l
v
e
.
i
n
v
o
k
e
(
S
t
a
n
d
a
r
d
E
n
g
i
n
e
V
a
l
v
e
.
j
a
v
a
:
88
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
n
n
e
c
t
o
r
.
C
o
y
o
t
e
A
d
a
p
t
e
r
.
s
e
r
v
i
c
e
(
C
o
y
o
t
e
A
d
a
p
t
e
r
.
j
a
v
a
:
537
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
.
h
t
t
p
11.
A
b
s
t
r
a
c
t
H
t
t
p
11
P
r
o
c
e
s
s
o
r
.
p
r
o
c
e
s
s
(
A
b
s
t
r
a
c
t
H
t
t
p
11
P
r
o
c
e
s
s
o
r
.
j
a
v
a
:
1081
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
.
A
b
s
t
r
a
c
t
P
r
o
t
o
c
o
l
1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:618) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081) at org.apache.coyote.AbstractProtocol
1.doFilter(ChainedServletFilter.java:87)athudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)athudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)athudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:618)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)atorg.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)atorg.apache.coyote.AbstractProtocolAbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol
H
t
t
p
11
C
o
n
n
e
c
t
i
o
n
H
a
n
d
l
e
r
.
p
r
o
c
e
s
s
(
H
t
t
p
11
N
i
o
P
r
o
t
o
c
o
l
.
j
a
v
a
:
222
)
a
t
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
n
e
t
.
N
i
o
E
n
d
p
o
i
n
t
Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint
Http11ConnectionHandler.process(Http11NioProtocol.java:222)atorg.apache.tomcat.util.net.NioEndpointSocketProcessor.doRun(NioEndpoint.java:1566)
at org.apache.tomcat.util.net.NioEndpoint
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
.
r
u
n
(
N
i
o
E
n
d
p
o
i
n
t
.
j
a
v
a
:
1523
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
r
u
n
W
o
r
k
e
r
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
1145
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
SocketProcessor.run(NioEndpoint.java:1523) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor
SocketProcessor.run(NioEndpoint.java:1523)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread
W
r
a
p
p
i
n
g
R
u
n
n
a
b
l
e
.
r
u
n
(
T
a
s
k
T
h
r
e
a
d
.
j
a
v
a
:
61
)
a
t
j
a
v
a
.
l
a
n
g
.
T
h
r
e
a
d
.
r
u
n
(
T
h
r
e
a
d
.
j
a
v
a
:
745
)
C
a
u
s
e
d
b
y
:
j
a
v
a
.
l
a
n
g
.
R
u
n
t
i
m
e
E
x
c
e
p
t
i
o
n
:
s
s
h
e
x
e
c
u
t
a
b
l
e
n
o
t
f
o
u
n
d
.
T
h
e
g
i
t
p
l
u
g
i
n
o
n
l
y
s
u
p
p
o
r
t
s
o
f
f
i
c
i
a
l
g
i
t
c
l
i
e
n
t
h
t
t
p
:
/
/
g
i
t
−
s
c
m
.
c
o
m
/
d
o
w
n
l
o
a
d
/
w
i
n
a
t
o
r
g
.
j
e
n
k
i
n
s
c
i
.
p
l
u
g
i
n
s
.
g
i
t
c
l
i
e
n
t
.
C
l
i
G
i
t
A
P
I
I
m
p
l
.
g
e
t
S
S
H
E
x
e
c
u
t
a
b
l
e
(
C
l
i
G
i
t
A
P
I
I
m
p
l
.
j
a
v
a
:
1375
)
a
t
o
r
g
.
j
e
n
k
i
n
s
c
i
.
p
l
u
g
i
n
s
.
g
i
t
c
l
i
e
n
t
.
C
l
i
G
i
t
A
P
I
I
m
p
l
.
c
r
e
a
t
e
W
i
n
d
o
w
s
G
i
t
S
S
H
(
C
l
i
G
i
t
A
P
I
I
m
p
l
.
j
a
v
a
:
1381
)
a
t
o
r
g
.
j
e
n
k
i
n
s
c
i
.
p
l
u
g
i
n
s
.
g
i
t
c
l
i
e
n
t
.
C
l
i
G
i
t
A
P
I
I
m
p
l
.
l
a
u
n
c
h
C
o
m
m
a
n
d
W
i
t
h
C
r
e
d
e
n
t
i
a
l
s
(
C
l
i
G
i
t
A
P
I
I
m
p
l
.
j
a
v
a
:
1159
)
a
t
o
r
g
.
j
e
n
k
i
n
s
c
i
.
p
l
u
g
i
n
s
.
g
i
t
c
l
i
e
n
t
.
C
l
i
G
i
t
A
P
I
I
m
p
l
.
l
a
u
n
c
h
C
o
m
m
a
n
d
W
i
t
h
C
r
e
d
e
n
t
i
a
l
s
(
C
l
i
G
i
t
A
P
I
I
m
p
l
.
j
a
v
a
:
1136
)
a
t
o
r
g
.
j
e
n
k
i
n
s
c
i
.
p
l
u
g
i
n
s
.
g
i
t
c
l
i
e
n
t
.
C
l
i
G
i
t
A
P
I
I
m
p
l
.
l
a
u
n
c
h
C
o
m
m
a
n
d
W
i
t
h
C
r
e
d
e
n
t
i
a
l
s
(
C
l
i
G
i
t
A
P
I
I
m
p
l
.
j
a
v
a
:
1127
)
a
t
o
r
g
.
j
e
n
k
i
n
s
c
i
.
p
l
u
g
i
n
s
.
g
i
t
c
l
i
e
n
t
.
C
l
i
G
i
t
A
P
I
I
m
p
l
.
g
e
t
H
e
a
d
R
e
v
(
C
l
i
G
i
t
A
P
I
I
m
p
l
.
j
a
v
a
:
2057
)
a
t
h
u
d
s
o
n
.
p
l
u
g
i
n
s
.
g
i
t
.
U
s
e
r
R
e
m
o
t
e
C
o
n
f
i
g
WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client http://git-scm.com/download/win at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getSSHExecutable(CliGitAPIImpl.java:1375) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.createWindowsGitSSH(CliGitAPIImpl.java:1381) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1159) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1136) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1127) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:2057) at hudson.plugins.git.UserRemoteConfig
WrappingRunnable.run(TaskThread.java:61)atjava.lang.Thread.run(Thread.java:745)Causedby:java.lang.RuntimeException:sshexecutablenotfound.Thegitpluginonlysupportsofficialgitclienthttp://git−scm.com/download/winatorg.jenkinsci.plugins.gitclient.CliGitAPIImpl.getSSHExecutable(CliGitAPIImpl.java:1375)atorg.jenkinsci.plugins.gitclient.CliGitAPIImpl.createWindowsGitSSH(CliGitAPIImpl.java:1381)atorg.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1159)atorg.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1136)atorg.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1127)atorg.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:2057)athudson.plugins.git.UserRemoteConfigDescriptorImpl.doCheckUrl(UserRemoteConfig.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745)
… 70 more