Overview

Namespaces

  • Alvine
    • Infrastructure
      • Jenkins
        • Build
          • Action
          • SCM
        • Computer
          • Launcher
          • Monitor
          • Node
        • Job
          • Action
            • Type
          • Config
            • Builders
              • PublishOverSSH
            • BuildWrappers
            • Property
              • ParametersDefinition
                • Parameter
              • SecurityMatrix
                • Permission
                  • Build
                  • Computer
                  • Credential
                  • Jenkins
                  • Job
                  • Release
                  • SCM
                  • View
            • Publisher
            • SCM
              • SVN
                • Browser
            • Trigger
          • QueueItem
          • SCM
        • Plugin
        • Security
          • Authorization
          • Credential
            • PrivateKeySource
            • SCM
            • Store
              • Specification
          • Realm

Classes

  • Build
  • Client
  • Component
  • Computer
  • ConfigException
  • Credential
  • Credentials
  • Environment
  • Job
  • Model
  • Plugin
  • ResponseException
  • Security
  • User
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated

Class Client

Client

Über den folgenden Quelltext wird ein Client erstellt und das Bauen für den Job freestyle gestartet.

$xml = <<<EOF
&lt;!-- Konfiguration --&gt;
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');
Alvine\Infrastructure\Api\Rest\Client
Extended by Alvine\Infrastructure\Jenkins\Client
Namespace: Alvine\Infrastructure\Jenkins
Package: Alvine\Infrastructure\Jenkins
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision:$
Since: 20140603
Link: alvine.io
Link: https://cloud.digitalocean.com/api_access
Located at Client.class.php
Methods summary
protected Alvine\Types\ArrayHelper
# getArrayHelperFromResponse( Alvine\Net\Http\Response $response )

Hilfsmethode

Hilfsmethode

Erstellt aus einer Rückgabe ein ArrayHelper-Objekt.

Parameters

$response

Returns

Alvine\Types\ArrayHelper

Throws

Alvine\Types\TypeException
public Alvine\Infrastructure\Jenkins\Build
# getBuild( string $name, integer $buildNumber )

Build

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"

Parameters

$name
Name des Jobs
$buildNumber
Nummer des builds

Returns

Alvine\Infrastructure\Jenkins\Build

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Build>
# getBuilds( string $name )

Builds

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)

Parameters

$name
Name des Jobs

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Build>

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Job
# getJob( string $name )

Job

Job

Holen aller Daten des Jobs mit dem Namen $name vom Jenkins-Server.

Parameters

$name
Name des Jobs

Returns

Alvine\Infrastructure\Jenkins\Job
Job

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Job>
# getJobs( )

Jobliste

Jobliste

Auflistung alle in Jenkins mit den Zugangsdaten sichtbaren Jobs

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Job>

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
public Alvine\Infrastructure\Jenkins\Job\Config
# getJobConfig( string $name )

Konfiguration auslesen

Konfiguration auslesen

Parameters

$name
Name des Jobs

Returns

Alvine\Infrastructure\Jenkins\Job\Config
Konfiguration vom Server

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Build\Log
# getBuildLog( string $name, integer $buildNumber )

Ausgabe des Build laden

Ausgabe des Build laden

Parameters

$name
Name
$buildNumber
Nummer

Returns

Alvine\Infrastructure\Jenkins\Build\Log

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Client
# createJob( string $name, Alvine\Infrastructure\Jenkins\Job\Config $config )

Job anlegen

Job anlegen

ein Job wird über eine XML-Konfiguration angelegt.

$xml = '...'; // XML-Zeichenkette
$c = $client->createJob('freestyle', new
        \Alvine\Infrastructure\Jenkins\Job\Config($xml));

Parameters

$name
Name des Jobs
$config
Konfiguration

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Client
# updateJob( string $name, Alvine\Infrastructure\Jenkins\Job\Config $config )

Job Konfiguration ändern

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);

Parameters

$name
Name des Jobs
$config
Konfiguration

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
protected Alvine\Infrastructure\Jenkins\Client
# setEnableDisableModeToJob( string $name, string $mode )

Status setzen

Status setzen

Ein Job kann deaktiviert werden, um zum Beispiel die Ausführung in einer bestimmten zeit zu verhindern.

Parameters

$name
Name des Jobs
$mode
enable oder disable

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Client
# disableJob( string $name )

Job deaktivieren

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.

Parameters

$name
Name des Jobs

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Client
# enableJob( string $name )

Job aktivieren

Job aktivieren

einen vorher deaktivierten Vorgang wieder aktivieren.

Parameters

$name
Name des Jobs

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Client
# build( string $name )

Bauen

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.

Parameters

$name
Name des Jobs

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Client
# buildWithParameters( string $name, Alvine\Net\Http\FormData $formdata )

Bauen mit Parametern anstoßen

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.

Parameters

$name
Name des Jobs
$formdata
Parameter

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Client
# deleteJob( string $name )

Job löschen

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');

Parameters

$name

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\User
# getUser( string $name )

Benutzer

Benutzer

Der Benutzer enhält einige wichtige Informationen zu dem User.

Parameters

$name
Benutzername

Returns

Alvine\Infrastructure\Jenkins\User
Benutzer

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Infrastructure\Jenkins\Client
# deleteComputerNode( string $name )

Node entfernen

Node entfernen

Parameters

$name
Name der Node

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Client
# addComputerNode( Alvine\Infrastructure\Jenkins\Computer\Node $node )

Node hinzufügen

Node hinzufügen

Parameters

$node

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Computer
# getComputer( string $name )

Computer laden

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)

Parameters

$name
Name

Returns

Alvine\Infrastructure\Jenkins\Computer

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Computer>
# getComputers( )

Computerliste

Computerliste

Aulistung aller Computer im Jenkins-Cluster

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Computer>
Computer

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
public Alvine\Infrastructure\Jenkins\Client
# addSCMCredential( string $name, Alvine\Infrastructure\Jenkins\Security\Credential\SCM $credential, string $type = 'hudson.scm.SubversionSCM' )

Zugangsdaten für SCM

Zugangsdaten für SCM

Parameters

$name
Jobname
$credential
Zugangsdaten
$type
Typ

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Credentials
# getDomainCredentials( string $domain = '_' )

Hinterlegte Zugangsdaten

Hinterlegte Zugangsdaten

$credentials = $client->getDomainCredentials('alvine');
foreach($credentials->getCredentials() as $obj) {
  $credential = $client->getDomainCredential($obj->getID(), 'alvine');
  echo $credential->getFullName()."\n";
}

Parameters

$domain
Domain

Returns

Alvine\Infrastructure\Jenkins\Credentials
Zugangsdatenliste der Domain
public
# getDomainCredential( string $id, string $domain = '_' )

Details zu einzelnen Zugangsdaten ermitteln

Details zu einzelnen Zugangsdaten ermitteln

$credentials = $client->getDomainCredentials('alvine');
foreach($credentials->getCredentials() as $obj) {
  $credential = $client->getDomainCredential($obj->getID(), 'alvine');
  echo $credential->getFullName()."\n";
}

Parameters

$id
ID ID derZugangsdaten
$domain
Domain Domain
public Alvine\Infrastructure\Jenkins\Client
# quietDown( )

Jenkins herunterfahren

Jenkins herunterfahren

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Client
# cancelQuietDown( )

Jenkins herunterfahren abbrechen

Jenkins herunterfahren abbrechen

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Client
# addCredentialDomain( Alvine\Infrastructure\Jenkins\Security\Credential\Store\Domain $domain )

Domain hinzufügen

Domain hinzufügen

Parameters

$domain

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Client
# addCredential( Alvine\Infrastructure\Jenkins\Security\Credential\Generic $credential, string $domain = Alvine\Infrastructure\Jenkins\Security\Credential\Store\Domain::GLOBAL_DOMAIN )

Zugangsdaten hinzufügen

Zugangsdaten hinzufügen

Parameters

$credential
Zugangsdaten
$domain
Domain

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Plugin\Available>
# getAvailablePlugins( )

Verfügbare Plugins

Verfügbare Plugins

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Plugin\Available>
public Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Plugin\Installed>
# getInstalledPlugins( )

Installierte Plugins

Installierte Plugins

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Plugin\Installed>
public boolean
# isRestartRequired( )

Überprüfen ob Jenkins neu gestartet werden muss.

Überprüfen ob Jenkins neu gestartet werden muss.

Returns

boolean
Neustart bei true notwendig
public Alvine\Infrastructure\Jenkins\Client
# performPluginUpdateCheck( )

Prüfen ob Updates vorliegen

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.

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Plugin>
# getAvailablePluginUpdates( )

Verfügbare Updates

Verfügbare Updates

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\Jenkins\Plugin>
protected Alvine\Infrastructure\Jenkins\Client
# doPluginAction( string $pluginName, string $action )

Plugin-Aktion ausführen

Plugin-Aktion ausführen

Parameters

$pluginName
Name des Plugins
$action
Aktion

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Client
# unpinPlugin( string $pluginName )

Plugin entsperren

Plugin entsperren

Parameters

$pluginName
Name des Plugins

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Client
# pinPlugin( string $pluginName )

Plugin sperren

Plugin sperren

Parameters

$pluginName
Name des Plugins

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Client
# uninstallPlugin( string $pluginName )

Plugin deinstallieren

Plugin deinstallieren

Parameters

$pluginName
Name des Plugins

Returns

Alvine\Infrastructure\Jenkins\Client
public Alvine\Infrastructure\Jenkins\Client
# installPlugin( string $pluginName, string $version = 'latest' )

Plugin installieren

Plugin installieren

Parameters

$pluginName
Name des Plugins
$version
Version

Returns

Alvine\Infrastructure\Jenkins\Client

Throws

Alvine\Net\Http\ServerException
Fehler beim Installieren der Plugins
public Alvine\Infrastructure\Jenkins\Client
# configureSecurity( Alvine\Infrastructure\Jenkins\Security $security )

Sicherheit konfigurieren

Sicherheit konfigurieren

Parameters

$security

Returns

Alvine\Infrastructure\Jenkins\Client
Constants summary
string STATUS_OK

Antwortstatus

Antwortstatus

# 'OK'
string APIPATH

Pfad auf die API mit json Ausgabe

Pfad auf die API mit json Ausgabe

# '/api/json'
string FIELD_ERROR

Header mit der Fehlermeldung

Header mit der Fehlermeldung

# 'X-Error'
alvine.infrastructure.jenkins API-Dokumentation 0.11.0 | © schukai GmbH | Impressum