2015-08-07 1 views
1

J'ai été capable d'utiliser PHP pour générer des problèmes JIRA, mais je me demandais s'il était possible de créer aussi des pages wiki Confluence qui renvoient au problème JIRA. Je n'ai pas encore réussi à faire ce travail. Quelqu'un at-il des exemples sur la façon dont cela est accompli?Utiliser PHP pour créer des pages Wiki Confluence

Répondre

0

Vous pouvez facilement créer une nouvelle page Confluence à l'aide de l'API REST. Voici un exemple utilisant curl:

curl -u admin:admin -X POST -H 'Content-Type: application/json' -d'{"type":"page","title":"new page","space":{"key":"TST"},"body":{"storage":{"value":"<p>This is a new page</p>","representation":"storage"}}}' http://localhost:8080/confluence/rest/api/content/ 

La prochaine chose à faire serait que PHP l'appelle. Vérifiez les points suivants des exemples:

Après avoir fait cela, vous pouvez également intégrer une macro JIRA dans la page Confluence pour zing supplémentaire. Cela voudrait dire que la boucle d'origine ajouter la macro JIRA comme format de stockage (dans une page Confluence, cliquez sur Outils (ou « ... » maintenant) et sélectionnez View Storage Format pour un exemple.

Voici un exemple de la macro JIRA:

<ac:structured-macro ac:name="jira"> 
    <ac:parameter ac:name="server">Example JIRA</ac:parameter> 
    <ac:parameter ac:name="serverId">fdsafds-68es-3615-a6f7-71427b983092</ac:parameter> 
    <ac:parameter ac:name="key">XYZ057-172</ac:parameter> 
</ac:structured-macro> 

Vous aurez besoin de comprendre votre serveur nom, ServerId & JIRA question clé vous

.

Cela signifierait la boucle originale ressemble à ceci:

curl -u admin:admin -X POST -H 'Content-Type: application/json' -d'{"type":"page","title":"new page","space":{"key":"TST"},"body":{"storage":{"value":"<p>This is a new page with a JIRA macro added:</p><ac:structured-macro ac:name="jira"><ac:parameter ac:name="server">Example JIRA</ac:parameter><ac:parameter ac:name="serverId">fdsafds-68es-3615-a6f7-71427b983092</ac:parameter><ac:parameter ac:name="key">XYZ057-172</ac:parameter></ac:structured-macro>","representation":"storage"}}}' http://localhost:8080/confluence/rest/api/content/ 
+0

Merci! Je l'avais compris il y a un certain temps, mais je dirais que votre réponse est correcte. Appréciez-le. – Wes

0

Avec ce code en php, vous pouvez créer Confluence Pages:

<?php 

    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_URL, "http://localhost:8090/rest/api/content/"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"type\":\"page\",\"title\":\"inserttitle\",\"space\":{\"key\":\"insertspace\"},\"ancestors\":[{\"type\":\"page\",\"id\":insertancestor}],\"body\":{\"storage\":{\"value\":\"<p>This is a new page</p>\",\"representation\":\"storage\"}}}"); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_USERPWD, "insertusername" . ":" . "insertpassword"); 

    $headers = array(); 
    $headers[] = "Content-Type: application/json"; 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

    $result = curl_exec($ch); 
    if (curl_errno($ch)) { 
     echo 'Error:' . curl_error($ch); 
    } 
    curl_close ($ch); 

    ?>