验证脚本客户

要使脚本客户机(比如wget)调用需要授权的操作(比如调度构建),可以使用HTTP BASIC身份验证来指定用户名和API令牌。

Jenkins的早期版本要求您指定您的真必威国际有限公司实密码,并且只有在您的安全领域是基于密码的情况下才可用(例如,OpenID、Crowd和CAS插件无需密码就可以验证您的身份,所以您根本不需要任何密码!)仍然支持指定真实密码,但不建议这样做,因为有泄露密码的风险,而且人们倾向于在不同的地方重复使用相同的密码。

API令牌在您的个人配置页面中可用。在每一页右上角单击您的名字,然后单击“配置”以查看您的API令牌。(网址$ root /我/配置是一个很好的捷径。)您还可以从这里更改API令牌。

注意,Jenkins必威国际有限公司不进行任何授权协商。例如,它立即返回403(禁止)响应而不是401(未授权)响应,所以确保从第一个请求发送认证信息(又名“先发制人的认证”)。

壳牌与旋度

旋度command可用于大多数操作系统,包括Linux、macOS、Windows、FreeBSD等。

curl -X POST -L——user your-user-name:apiToken \ https://j必威国际有限公司enkins.example.com/job/your_job/build

与wget壳

wget命令需要——auth-no-challenge选项验证Jenkins:必威国际有限公司
wget——auth-no-challenge \——user=user——password=apiToken \ http://jen必威国际有限公司kins.example.com/job/your_job/build

使用cdancy/jenkins-rest的Groov必威国际有限公司y脚本

cdancy 必威国际有限公司/ jenkins-rest客户端极大地简化了REST API访问。下面的Groovy代码展示了如何向Jenkins进行身份验证并获得一些系统信息:必威国际有限公司

@Grab(集团=com.cdancy模块=必威国际有限公司jenkins-rest版本=0.0.18进口com.cdancy.必威国际有限公司jenkins.rest.JenkinsClient必威国际有限公司JenkinsClient客户端= JenkinsClient.builder() .endPoint(http://127.0.0.1:8080/ /可选的。默认为http://127.0.0.1:8080.credentials (用户:apiToken/ /可选的。.systemApi .build () println (client.api () () .systemInfo ())

有关更多信息,请参见cdancy 必威国际有限公司/ jenkins-rest维基

Perl LWP示例脚本客户端

下面的Perl示例使用LWP模块通过“Trigger builds remote”令牌启动Job:

# #使用LWP在请求对象#上运行Jenk必威国际有限公司ins作业# set authorization_basic,以使用BASIC HTTP授权,显然#已经通过#方式正确处理了抢占部分。#使用严格;使用警告;使用LWP;My $server = 'srvname';My $srvurl = "http://$server/必威国际有限公司jenkins";my $uagent = LWP::UserAgent->new;my $req = HTTP::Request->new(GET => "$srvurl/job/test/build?令牌= theTokenConfiguredForThisJob&cause = LWP +测试”);申请- > authorization_basic(“username@mydomain.com”,“apiToken”);我的$res = $uagent->请求($req); # Check the outcome of the response print "Result: " . $res->status_line . "\n"; print $res->headers->as_string; print "\n"; if (!$res->is_success) { print "Failed\n"; } else { print "Success!\n"; # print $res->content, "\n"; }

httpclient 4.3.x的Java示例

这将导致httpclient 4.3先发制人地发出身份验证:

进口java.io.IOException进口java.net.URI进口org.apache.http.HttpHost进口org.apache.http.HttpResponse进口org.apache.http.auth.AuthScope进口org.apache.http.auth.UsernamePasswordCredentials进口org.apache.http.client.AuthCache进口org.apache.http.client.ClientProtocolException进口org.apache.http.client.CredentialsProvider进口org.apache.http.client.methods.HttpGet进口org.apache.http.client.protocol.HttpClientContext进口org.apache.http.impl.auth.BasicScheme进口org.apache.http.impl.client.BasicAuthCache进口org.apache.http.impl.client.BasicCredentialsProvider进口org.apache.http.impl.client.CloseableHttpClient进口org.apache.http.impl.client.HttpClients进口org.apache.http.util.EntityUtils公共必威国际有限公司JenkinsScraper{公共字符串刮(字符串urlString,字符串用户名、字符串密码)抛出ClientProtocolException,IOException{URIuri =URI共创(urlString);HttpHost主机=uri.getPort HttpHost (uri.getHost () (), uri.getScheme ());CredentialsProvider credsProvider =BasicCredentialsProvider ();credsProvider.setCredentials (uri.getPort AuthScope (uri.getHost () ()),UsernamePasswordCredentials(用户名、密码));//创建AuthCache实例AuthCache AuthCache =BasicAuthCache ();//生成BASIC方案对象并将其添加到本地认证缓存BasicScheme basicAuth =BasicScheme ();authCache。把(主机、basicAuth);httpClient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();HttpGet HttpGet =HttpGet (uri);//将AuthCache添加到执行上下文localContext = HttpClientContext.create();localContext.setAuthCache (authCache);HttpResponse response = httpClient。执行(主机、httpGet localContext);返回EntityUtils.toString (response.getEntity ());}}


这个页面有帮助吗?

请通过此提交您对此页的反馈快速形成

或者,如果您不想填写快速表单,您可以简单地说明您是否认为此页面有帮助?

是的没有


在这里.

Baidu