Client
class Client extends Client
Client
Über den folgenden Quelltext wird ein Client erstellt und das Bauen für den Job freestyle gestartet.
$xml = <<<EOF
<!-- Konfiguration -->
EOF;
$user = new Alvine\Security\Authentication\User('myLogin');
$password = new Alvine\Security\Authentication\Credential\Password('myPassword');
$credential = new \Alvine\Net\Http\Authentication\Scheme\Basic($user, $password);
$client = new \Alvine\Infrastructure\Jenkins\Client(new Alvine\Net\Resource\URI('http://jenkins/'));
$client->setCredential($credential);
$client->createJob('freestyle',new \Alvine\Infrastructure\Jenkins\Job\Config($xml));
$client->build('freestyle');
Constants
STATUS_OK |
Antwortstatus |
APIPATH |
Pfad auf die API mit json Ausgabe |
FIELD_ERROR |
Header mit der Fehlermeldung |
Methods
Hilfsmethode
Builds
Jobliste
Konfiguration auslesen
Ausgabe des Build laden
Status setzen
Job deaktivieren
Bauen mit Parametern anstoßen
Node entfernen
Computer laden
Computerliste
Zugangsdaten für SCM
Hinterlegte Zugangsdaten
Details zu einzelnen Zugangsdaten ermitteln
Jenkins herunterfahren abbrechen
Zugangsdaten hinzufügen
Verfügbare Plugins
Installierte Plugins
Überprüfen ob Jenkins neu gestartet werden muss.
Prüfen ob Updates vorliegen
Verfügbare Updates
Plugin-Aktion ausführen
Plugin entsperren
Plugin deinstallieren
Plugin installieren
Details
at line 84
protected ArrayHelper
getArrayHelperFromResponse(Response $response)
Hilfsmethode
Erstellt aus einer Rückgabe ein ArrayHelper-Objekt.
at line 121
Build
getBuild(string $name, integer $buildNumber)
Build
Mit dieser Methode lässt sich der Durchlauf $buildNumber im Projekt $name abrufen.
$client = new \Alvine\Infrastructure\Jenkins\Client(new Alvine\Net\Resource\URI('http://jenkins/'));
$obj = $client->getBuild('myProject',3);
echo $obj->getFullDisplayName();
Das Ergebnis ist in diesem Fall "myProject #3"
at line 149
Build>
getBuilds(string $name)
Builds
Um eine Liste mit allen verfügbaren Build von Jenkins abzurufen, kann mit getBuild eine Collection abgerufen werden. Die Collection enthält alle Informationen, die auch von (see \Alvine\Infrastructure\Jenkins\Build)
at line 177
Job
getJob(string $name)
Job
Holen aller Daten des Jobs mit dem Namen $name vom Jenkins-Server.
at line 200
Job>
getJobs()
Jobliste
Auflistung alle in Jenkins mit den Zugangsdaten sichtbaren Jobs
at line 230
Config
getJobConfig(string $name)
Konfiguration auslesen
at line 255
Log
getBuildLog(string $name, integer $buildNumber)
Ausgabe des Build laden
at line 286
Client
createJob(string $name, Config $config)
Job anlegen
ein Job wird über eine XML-Konfiguration angelegt.
$xml = '...'; // XML-Zeichenkette
$c = $client->createJob('freestyle', new
\Alvine\Infrastructure\Jenkins\Job\Config($xml));
at line 328
Client
updateJob(string $name, Config $config)
Job Konfiguration ändern
Die Änderung der Konfiguration erfolgt über das Einspielen einer neuen Konfigurations-XML.
$xml = '...'; // XML-Konfiguration
$config = new \Alvine\Infrastructure\Jenkins\Job\Config($xml);
$log = $client->updateJob('freestyle', $config);
at line 364
protected Client
setEnableDisableModeToJob(string $name, string $mode)
Status setzen
Ein Job kann deaktiviert werden, um zum Beispiel die Ausführung in einer bestimmten zeit zu verhindern.
at line 394
Client
disableJob(string $name)
Job deaktivieren
Ein Job kann deaktiviert werden, um zum Beispiel die Ausführung in einer bestimmten zeit zu verhindern. Ein deaktiverter Job führt keine SCM Abfrage durch und ist auch über die Benutzerschnittstelle nicht startbar.
at line 413
Client
enableJob(string $name)
Job aktivieren
einen vorher deaktivierten Vorgang wieder aktivieren.
at line 436
Client
build(string $name)
Bauen
Dieser Befehl startet einen Build-Durchlauf ohne Parameter. Sind für den Job Parameter definiert, so muss stattdessen (see \Alvine\Infrastructure\Jenkins\Client::buildWithParameters()) verwendet werden.
at line 474
Client
buildWithParameters(string $name, FormData $formdata)
Bauen mit Parametern anstoßen
Für das Bauen mit Parametern müssen die Parameter als Objekt der Klasse see \Alvine\Net\Http\FormData übergeben werden.
at line 516
Client
deleteJob(string $name)
Job löschen
Achtung: Nach dem Löschen sind die Daten nicht mehr verfügbar und können nicht wiederhergestellt werden.
$user = new Alvine\Security\Authentication\User('myLogin');
$password = new Alvine\Security\Authentication\Credential\Password('myPassword');
$credential = new \Alvine\Net\Http\Authentication\Scheme\Basic($user, $password);
$client = new \Alvine\Infrastructure\Jenkins\Client(new Alvine\Net\Resource\URI('http://jenkins/'));
$client->setCredential($credential);
$client->deleteJob('freestyle');
at line 542
User
getUser(string $name)
Benutzer
Der Benutzer enhält einige wichtige Informationen zu dem User.
at line 559
Client
deleteComputerNode(string $name)
Node entfernen
at line 614
Computer
getComputer(string $name)
Computer laden
Jenkins kann in einem Cluster mit mehreren Rechnern betrieben werden. Über die Methoden \Alvine\Infrastructure\Jenkins\Client::getComuters() und \Alvine\Infrastructure\Jenkins\Client::getComputer() können diese Informationen abgefragt werden.
Besonders wichtig sind hier die Informationen zu Auslastung und Festplattenkapazität.
Hinweis: Beim Master ist der Name in Klammern zu setzen (master)
at line 636
Computer>
getComputers()
Computerliste
Aulistung aller Computer im Jenkins-Cluster
at line 660
Client
addSCMCredential(string $name, SCM $credential, string $type = 'hudson.scm.SubversionSCM')
Zugangsdaten für SCM
at line 684
Credentials
getDomainCredentials(string $domain = '_')
Hinterlegte Zugangsdaten
$credentials = $client->getDomainCredentials('alvine');
foreach($credentials->getCredentials() as $obj) {
$credential = $client->getDomainCredential($obj->getID(), 'alvine');
echo $credential->getFullName()."\n";
}
at line 705
getDomainCredential(string $id, string $domain = '_')
Details zu einzelnen Zugangsdaten ermitteln
$credentials = $client->getDomainCredentials('alvine');
foreach($credentials->getCredentials() as $obj) {
$credential = $client->getDomainCredential($obj->getID(), 'alvine');
echo $credential->getFullName()."\n";
}
at line 718
Client
quietDown()
Jenkins herunterfahren
at line 729
Client
cancelQuietDown()
Jenkins herunterfahren abbrechen
at line 761
Client
addCredential(Generic $credential, string $domain = Security\Credential\Store\Domain::GLOBAL_DOMAIN)
Zugangsdaten hinzufügen
at line 777
Available>
getAvailablePlugins()
Verfügbare Plugins
at line 798
Installed>
getInstalledPlugins()
Installierte Plugins
at line 819
boolean
isRestartRequired()
Überprüfen ob Jenkins neu gestartet werden muss.
at line 836
Client
performPluginUpdateCheck()
Prüfen ob Updates vorliegen
Falls Updates vorliegen, so können diese mittels Client::getAvailablePluginUpdates() ermittelt werden. Nach einem Neustart Client::quietDown() stehen die Plugins dann zur Verfügung.
at line 847
Plugin>
getAvailablePluginUpdates()
Verfügbare Updates
at line 871
protected Client
doPluginAction(string $pluginName, string $action)
Plugin-Aktion ausführen
at line 884
Client
unpinPlugin(string $pluginName)
Plugin entsperren
at line 895
Client
pinPlugin(string $pluginName)
Plugin sperren
at line 906
Client
uninstallPlugin(string $pluginName)
Plugin deinstallieren
at line 920
Client
installPlugin(string $pluginName, string $version = 'latest')
Plugin installieren