Verwenden wir die Python-Version des Confluence-API-Moduls.

Ich habe versucht, die Python-Version des Confluence-API-Moduls zu verwenden, daher werde ich sie vorstellen.

Einleitung / 20171227 Nachtrag

Für diejenigen, die zu diesem Artikel gekommen sind und denken, dass es ein Python-Modul für Confluence gibt.

Ab Dezember 2017 wurde das Repository, das sich zum Zeitpunkt des Schreibens dieses Artikels in Bitbucket befand, auf GitHub migriert. Es wird das folgende Repository sein.

Als ich zu GitHub wechselte, habe ich das Gefühl, dass es einfacher geworden ist, nach Updates zu suchen und Pull-Anfragen zu stellen!

Python API to Confluence

--Paket (pypi): https://pypi.python.org/pypi/confluence --Dokumentation: Dokumentation zum Python-Konfluenzmodul (über Sphinx) --Repository: https://bitbucket.org/phoebian/confluence

Die Tatsache, dass das Repository Bitbucket ist, ist wie Python & Atlassian!

Installation

Ich werde es mit pip ~ einfügen (es tut mir leid für die Auslassung ...)

% sudo pip install confluence
Password:
Downloading/unpacking confluence
Downloading confluence-0.1.tar.gz
…
Successfully installed confluence
Cleaning up...

Dokumentation in der Befehlszeile abrufen

Anmeldeinformationen können weggelassen werden, indem eine Konfigurationsdatei mit dem Namen config.ini erstellt wird. Dieses Mal werde ich die Parameter beim Erstellen des Objekts angeben.

Das Ziel Confluence ist Confluence für Jenkins.

python


>>> from confluence import Confluence
>>> conf = Confluence(profile=None, url="https://wiki.jenkins-ci.org", username="xxx", password="xxxx")
>>> o = conf.getPage("Jenkins Lernsitzung","JA")
>>> 
>>> print o['title']
Jenkins Lernsitzung
>>> 
>>> print o['content'][0:100]       
h2.Jenkins Lernsitzung

h3.Tokio

* [1. Hudson-Studiensitzung|Hudson-Lernsitzung]
* [2. Jenkins-Studiengruppe]
* [Die 3. Jenkins-Studiengruppe]
* [4. Jenkins
>>> o['id']
'58000672'
>>> 

Confluence für Jenkins scheint Version 3.4.7 zu sein, aber es war in Ordnung zum Lesen.

Über das Schreiben

Das Originalpaket (https://pypi.python.org/pypi/confluence) besteht hauptsächlich aus Page, nicht zum Posten / Aktualisieren von Blogs, sondern nur aus einfachen.

Seitenbetrieb

Wenn Sie im obigen Beispiel den Inhaltsteil des Page-Objekts ändern und auf conf.storePageContent (o) setzen, wird es überschrieben und aktualisiert. Wenn es keine ID gibt, handelt es sich um eine neue Registrierung.

Blog schreiben

Nun, da die ursprüngliche Confluence-API einfach ist, habe ich diejenige, die der Methode für Blog entspricht, in mein Repository gestellt. (Ich habe auch eine Methode hinzugefügt, um einen anderen angegebenen Benutzer zu zwingen, die fertige Seite anzusehen.)

Klicken Sie hier für ein Beispiel.

#Erstellen Sie ein Objekt zum Buchen
newPost = {}
newPost['content'] = content
newPost['title'] = title
newPost['space'] = '~mich selber'
newPost['author'] = 'Mein Login-Konto'

#Registrieren Sie sich als Blog
res = conf.storeBlogEntry(newPost)
print res['id']


#Tags anhängen (Seite),Blog gemeinsam)
conf.addLabelByName(u'Adventskalender',res['id'])

#Lassen Sie mich den Inhalt ansehen, zu dem ich gezwungen war (Seite),Blog gemeinsam)
conf.watchPageForUser(res['id'], "Konto der Person, die Sie sehen möchten")

Wird von der REST-API abgedeckt

Es gibt einige Methoden, die nicht in XML-RPC / SOAP der Confluence-API implementiert sind, aber ich werde sie ein wenig vorstellen, da sie mit REST betrieben werden können.

Eigentlich habe ich den vom Confluence-Bildschirm ausgeführten Prozess erfasst und nach etwas wie "Welche Art von Anfrage senden Sie?" Gesucht. (Es ist komisch)

Führen Sie in der Befehlszeile die folgenden Schritte aus, um sich bei Ihrem Konto zu authentifizieren-> Wie der angegebene Inhalt.

bash


curl https://URL des Zusammenflusses/rest/likes/1.0/content/__ID__/likes -X POST --user user:passwd

python


import requests

# res['id']Ist die Inhalts-ID
url = "https://URL des Zusammenflusses/rest/likes/1.0/content/%s/likes" % res['id']
requests.post(url, auth=(Konto,Passwort))

Gut! Das Zurückziehen ist in Ordnung, wenn Sie es so ändern, dass es nicht gefällt.

Recommended Posts

Verwenden wir die Python-Version des Confluence-API-Moduls.
Verwenden wir die API des allgemeinen Fensters für Regierungsstatistiken (e-Stat).
Verwenden wir die offenen Daten von "Mamebus" in Python
[Python] Verwenden Sie die Face-API von Microsoft Cognitive Services
Testen Sie die Version des Argparse-Moduls
pyenv-change die Python-Version von virtualenv
Verwenden Sie die Flickr-API von Python
Berühren wir die API der Netatmo Weather Station mit Python. #Python #Netatmo
Was ist die Standard-TLS-Version des Python-Anforderungsmoduls?
Übergeben Sie den Pfad des importierten Python-Moduls
Informationen zur virtuellen Umgebung von Python Version 3.7
[Python] Probieren Sie pydash der Python-Version von lodash aus
Überprüfen Sie den Pfad des importierten Python-Moduls
Test von emacs-org parser orgparse für Python
[Python] Lassen Sie uns das Modul regelmäßig nach Zeitplan ausführen
Verwenden Sie die neueste Version von PyCharm unter Ubuntu
Verwenden Sie OpenSeesPy unabhängig vom Betriebssystem oder der Python-Version
[Python] Ein grobes Verständnis des Protokollierungsmoduls
Versuchen Sie es mit dem Sammlungsmodul (ChainMap) von python3
Verwenden wir verschiedene Versionen von SQLite3 aus Python3!
Verwenden Sie das nghttp2 Python-Modul von Homebrew aus pyenvs Python
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
[Python] Ruft die Liste der im Modul definierten Klassen ab
Lassen Sie uns die Grundlagen des Python-Codes von TensorFlow aufschlüsseln
[Python] Lassen Sie uns die URL der Django-Administrator-Site ändern
Richten Sie die Version von chromedriver_binary aus
Mal sehen, wie def in Python verwendet wird
Lassen Sie uns Python Janome einfach verwenden
Verwenden Sie die Trello-API mit Python
Auf dem Weg zum Ruhestand von Python2
Verwenden Sie die Twitter-API mit Python
Über das Python-Modul venv
Automatisches Update des Python-Moduls
Upgrade von Python Anaconda
Überprüfen Sie die OpenSSL-Version von Python 2.6
Rufen Sie die API mit python3 auf.
Verwenden Sie die Unterschall-API mit Python3
Über die Funktionen von Python
Verwenden Sie die e-Stat-API von Python
Die Kraft der Pandas: Python
[Python of Hikari-] Kapitel 08-03 Modul (Import und Verwendung der Standardbibliothek)
Stellen Sie die neueste Version von Python in Linux (Debian) von Chromebook
Warum kann ich das Modul durch Importieren mit Python verwenden?
Erleichtern Sie die Anzeige von Python-Modulausnahmen
Anzeigen mit dem Python-Modul des mobilen Nifty Cloud-Backends
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Verwenden wir den verteilten Ausdruck von Wörtern schnell mit fastText!
26.11.2015 Python> Funktionsliste des Moduls anzeigen> Mathematik importieren> Verzeichnis (Mathematik)
Lassen Sie uns automatisch den Text des Songs anzeigen, der in iTunes in Python abgespielt wird (verbesserte Version).
[Python] Taple-Version des Pulldowns der Präfektur
Verwenden wir usercustomize.py anstelle von sitecustomize.py
Die Geschichte, dass die Version von Python 3.7.7 nicht an Heroku angepasst wurde
Die Geschichte von Python und die Geschichte von NaN
Erhöhen Sie die Version von pyenv selbst
Verwendung des optparse-Moduls
Wrap (Teil der) AtCoder Library in Cython zur Verwendung in Python
[Python] Der Stolperstein des Imports
Erster Python 3 ~ Der Beginn der Wiederholung ~
Klicken Sie in Python auf die Sesami-API