Я был в состоянии использовать PHP для создания проблем JIRA, но мне было интересно, возможно ли также создать вики-страницы Confluence, которые ссылаются на проблему JIRA. Я еще не смог сделать эту работу. У кого-нибудь есть примеры того, как это сделать?
Вы можете легко создать новую страницу Confluence, используя REST API. Вот пример использования 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/
Следующее, что нужно сделать, — это вызвать PHP. Проверьте следующее для примеров:
Сделав это, вы также можете внедрить макрос JIRA на странице Confluence для дополнительного зинга. Это будет означать, что в исходном завитке будет добавлен макрос JIRA в качестве формата хранения (на странице «Слияние» нажмите «Инструменты» (или «…» сейчас) и выберите Посмотреть формат хранения для примера.
Вот пример макроса 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>
Вам нужно будет выяснить ваши сервер название, идентификатор_сервера & Выпуск JIRA ключ сам.
Это будет означать, что оригинальный локон выглядит так:
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/
С помощью этого кода в php вы можете создавать страницы слияния:
<?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);
?>