Как получить доступ к Atlassian с помощью PHP

1

Я хочу получить контент из моего Atlassian с именем пользователя и паролем.

URL-адрес обычно выглядит так:

http://my-own-site.atlassian.net/wiki/pages/viewpage.action?spaceKey=TO&title=Any-Wiki-Title

Можно ли использовать PHP CURL для извлечения контента с этой страницы?

Пока я получаю ошибку 401 auth reqd.

Я просмотрел Stackoverflow, и все, что я получаю, - это доступ к базовым страницам atlassian.com и bitbucket.org.

Теги:
curl
atlassian

2 ответа

1
Лучший ответ

С помощью этого кода в 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);

    ?>

И с помощью этого кода вы можете получать контент из Confluence:

<?php

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://localhost:8090/rest/api/content/**insertid**");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    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);   

?>



   echo $result;

Измените параметр. Я отметил слова вставкой *

1

Да, конечно, можно получить доступ к продуктам Atlassian, используя PHP и cURL. Я делаю это все время, чтобы создавать/изменять проблемы с Jira

Вам нужно будет найти/написать библиотеку (или набор библиотек), которая позволит вам получить доступ к вызовам API REST. В моем случае я написал базовую библиотеку REST, которая затем может быть унаследована для создания Jira, Confluence, любых других REST-сервисов

Найдите сайт Atlassian для документации, чтобы найти API REST для продукта, который вы используете (Confluence в вашем случае, я бы предположил)

Не забывайте, что API REST использует методы GET, POST, PUT и DELETE, поэтому вашей библиотеке необходимо будет обрабатывать все эти

Что касается вашей ошибки, я * думаю * ваш логин должен быть разрешен для доступа к вызовам API

  • 0
    спасибо за ваш ответ, но я не понимаю, почему все эти страницы ссылаются на localhost: port. Какое это имеет отношение к localhost?
  • 1
    Вы должны заменить localhost:port именем сервера / IP-адресом и портом, через который осуществляется доступ к вашей установке Atlassian.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню