Prty::Confluence::Client - Confluence-Wiki Client
Prty::Hash
Ein Objekt der Klasse repräsentiert einen Client, der über das Confluence REST API mit einem Confluence-Server kommunizieren kann.
Die Implementierung der Klasse stellt die maßgeblichen Mechnismen zur Kommunikation mit dem Server zur Verfügung, realisiert z.Zt. jedoch nur einen kleinen Ausschnitt der Funktionalität des Confluence REST API. Die Implementierung wird nach Bedarf erweitert.
$cli = $class->new(@keyVal);
Instantiiere einen Client für Confluence mit den Eigenschaften @keyval und liefere eine Referenz auf dieses Objekt zurück.
Basis-URL des Confluence Wiki, z.B. "https://<name>.atlassian.net".
Name des Confluence-Benutzers, z.B. "admin".
Passwort des Confluence-Benutzers.
Gib Laufzeit-Informationen auf STDERR aus.
Client-Objekt (Typ Prty::Confluence::Client)
Client für Atlassian Demo-Instanz:
$cli = Prty::Confluence::Client->new( url => 'https://<name>.atlassian.net', user => 'admin', password => '<password>', verbose => 1, );
$cli->createPage($parentId,$title,$markup,@opts);
Erzeuge eine Confluence-Seite mit Titel $title und Inhalt $markup (= Wiki Code) als Unterseite von der Seite mit der Seiten-Id $parentId. Die erzeugte Seite wird (notwendigerweise) demselben Space wie die übergeordnete Seite zugeordnet.
Die Page-Id der übergeordneten Seite.
Der Titel der Seite.
Seiteninhalt in Confluence Wiki Markup.
Setze eine Warnung an den Anfang der Seite, dass die Seite automatisch generiert wurde.
nichts
$pag = $cli->deletePage($pageId);
Lösche die Confluence-Seite mit der Seiten-Id $pageId.
Seiten-Id
Nichts
$pag = $cli->getPage($pageId);
Rufe die Confluence-Seite mit der Seiten-Id $pageId ab und liefere ein Seiten-Objekt vom Typ Prty::Confluence::Page zurück.
Seiten-Objekt (Typ Prty::Confluence::Page)
$cli->updatePage($pageId,$markup,@opts);
Ersetze den Inhalt der Confluence-Seite $pageId durch den neuen Inhalt $markup. Für die Aktualisierung sind vier Angaben erforderlich:
die PageId der Seite
der Inhalt der Seite
der Titel der Seite
die neue Versionsnummer der Seite
Um die neue Versionsnummer der Seite vergeben zu können, wird intern zunächst der aktuelle Stand der Seite abgerufen, der u.a. die bestehende Versionsnummer enthält. Die Versionsnummer ist eine ganze Zahl, die mit jeder Aktualisierung um 1 erhöht werden muss.
Der Titel der Seite wird aus dem aktuellen Stand der Seite übernommen, sofern er nicht mit der Option -title überschrieben wird.
Seiteninhalt in Confluence Wiki Markup
Setze eine Warnung an den Anfang der Seite, dass die Seite automatisch erzeugt wurde.
Setze den Seitentitel.
Die folgenden Methoden bilden die Grundlage für die Kommunikation mit dem Confluence-Server. Sie werden normalerweise nicht direkt gerufen.
$res = $cli->send($method,$path); $res = $cli->send($method,$path,$contentType,$content);
Sende einen HTTP-Request vom Typ $method mit dem REST-Pfad $path und dem Body $content vom Typ $contentType an den Confluence-Server und liefere die resultierende HTTP-Anwort zurück. Im Fehlerfall wirft die Methode eine Exception.
Die HTTP-Methode, z.B. 'PUT'.
Der REST-Pfad, z.B. 'rest/api/content/32788'.
Der Content-Type des HTTP-Body, z.B. 'application/json'.
Der Inhalt des HTTP-Body, z.B. (auf die Toplevel-Attribute umbrochen)
{"version":{"number":24}, "body":{"storage":{"representation":"wiki","value":"{cheese}"}}, "title":"Testseite", "type":"page"}
HTTP-Antwort (Typ HTTP::Response)
$url = $cli->url; $url = $cli->url($path);
Erzeuge einen REST-API URL bestehend aus dem beim Konstruktor-Aufruf angegebenen Server-URL und dem Pfad $path und liefere diesen zurück. Ohne Argument wird der Server-URL geliefert.
REST-API Pfad ohne führenden Slash, z.B. 'wiki/rest/api/content/32788'.
URL (String)
Der Code
$cli = Prty::Confluence::Client->new( url => 'https://<name>.atlassian.net', ... ); $url = $cli->url('wiki/rest/api/content/32788');
liefert
https://<name>.atlassian.net/wiki/rest/api/content/32788
1.107
Frank Seitz, http://fseitz.de/
Copyright (C) 2017 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Prty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prty
CPAN shell
perl -MCPAN -e shell install Prty
For more information on module installation, please visit the detailed CPAN module installation guide.