Powershell:
$acctname = "admin"
$password = "password"
$server = "localhost"
$port = "8080"
$jobName = "test02"
$jobToken = "test02_authentication_token"
$params = @{uri = "http://${server}:${port}/job/${jobName}/build?token=${jobToken}";
Method = 'Get';
Headers = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$(${acctname}):$(${password})"));}}
Invoke-RestMethod @params
Python:
import requests
api_proto = 'http'
api_url = 'localhost'
api_port = '8080'
api_job = 'test02'
api_token = 'test02_authentication_token'
api_user = 'admin'
api_pass = 'password'
api_resp = requests.get(api_proto + '://' + api_user + ':' + api_pass + '@' + api_url + ':' + api_port + '/job/' + api_job + '/build?token=' + api_token)
if api_resp.status_code == 201 :
print(api_resp)
else:
print('could not trigger job: ' + api_job)
Perl:
use strict;
use warnings;
use autodie;
use REST::Client;
use MIME::Base64;
my $api_proto = 'http'; #HTTP/HTTPS
my $api_url = 'localhost'; #Server IP
my $api_port = '8080'; #Port number
my $api_job = 'test02'; #Jenkins job name
my $api_token = 'test02_authentication_token'; #Job remote trigger authentication token
my $api_user = 'admin'; #Jenkins account username
my $api_pass = 'password'; #Jenkins account password
my $client = REST::Client->new();
$client->addHeader('Authorization', 'Basic '.encode_base64($api_user . ':' . $api_pass));
$client->GET($api_proto.'://'.$api_url.':'.$api_port.'/job/'.$api_job.'/build?token='.$api_token);
print $client->responseContent();
print $client->responseCode();
PHP:
<?php
$api_url = 'localhost';
$api_port = '8080';
$api_user = 'admin';
$api_pass = 'password';
$api_job = 'test02';
$api_token = 'test02_authentication_token';
$domain = 'http://'.$api_user.':'.$api_pass.'@'.$api_url.':'.$api_port.'/job/'.$api_job.'/build?token='.$api_token;
function get_http_response_code($domain) {
$headers = get_headers($domain);
return substr($headers[0], 9, 3);
}
$get_http_response_code = get_http_response_code($domain);
if ( $get_http_response_code == 201 ) {
echo "OKAY! \n ".$api_job." was triggered successfully...";
} else {
echo "Nokay! \n Something went wrong.. please try again!!";
}
?>
CURL/WGET: https://wiki.jenkins.io/display/JENKINS/Remote+access+API
$acctname = "admin"
$password = "password"
$server = "localhost"
$port = "8080"
$jobName = "test02"
$jobToken = "test02_authentication_token"
$params = @{uri = "http://${server}:${port}/job/${jobName}/build?token=${jobToken}";
Method = 'Get';
Headers = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$(${acctname}):$(${password})"));}}
Invoke-RestMethod @params
Python:
import requests
api_proto = 'http'
api_url = 'localhost'
api_port = '8080'
api_job = 'test02'
api_token = 'test02_authentication_token'
api_user = 'admin'
api_pass = 'password'
api_resp = requests.get(api_proto + '://' + api_user + ':' + api_pass + '@' + api_url + ':' + api_port + '/job/' + api_job + '/build?token=' + api_token)
if api_resp.status_code == 201 :
print(api_resp)
else:
print('could not trigger job: ' + api_job)
Perl:
use strict;
use warnings;
use autodie;
use REST::Client;
use MIME::Base64;
my $api_proto = 'http'; #HTTP/HTTPS
my $api_url = 'localhost'; #Server IP
my $api_port = '8080'; #Port number
my $api_job = 'test02'; #Jenkins job name
my $api_token = 'test02_authentication_token'; #Job remote trigger authentication token
my $api_user = 'admin'; #Jenkins account username
my $api_pass = 'password'; #Jenkins account password
my $client = REST::Client->new();
$client->addHeader('Authorization', 'Basic '.encode_base64($api_user . ':' . $api_pass));
$client->GET($api_proto.'://'.$api_url.':'.$api_port.'/job/'.$api_job.'/build?token='.$api_token);
print $client->responseContent();
print $client->responseCode();
PHP:
<?php
$api_url = 'localhost';
$api_port = '8080';
$api_user = 'admin';
$api_pass = 'password';
$api_job = 'test02';
$api_token = 'test02_authentication_token';
$domain = 'http://'.$api_user.':'.$api_pass.'@'.$api_url.':'.$api_port.'/job/'.$api_job.'/build?token='.$api_token;
function get_http_response_code($domain) {
$headers = get_headers($domain);
return substr($headers[0], 9, 3);
}
$get_http_response_code = get_http_response_code($domain);
if ( $get_http_response_code == 201 ) {
echo "OKAY! \n ".$api_job." was triggered successfully...";
} else {
echo "Nokay! \n Something went wrong.. please try again!!";
}
?>
CURL/WGET: https://wiki.jenkins.io/display/JENKINS/Remote+access+API
This snippet triggers a Jenkins job from outside the web UI by calling the job build URL with an authentication token. Remote triggers like this let you start builds from scripts, schedulers, or other systems.
Each job has its own token configured in its trigger settings, and the request must include it. The same pattern is the basis for chaining jobs and integrating Jenkins with external automation.

No comments:
Post a Comment
Note: Only a member of this blog may post a comment.