@augspb

Страница 81 из 97
Александр
31.07.2018
06:27:47
Alexander
31.07.2018
07:12:27
Друзья всем привет. Подскажите, есть ли какой то способ хранить контент (jira, confluence) не на локальной ФС сервера, а в S3 хранилище? Не спрашивайте зачем, следующий вопрос будет про контейнеризацию :).

Stas
31.07.2018
07:13:27
Стас, привет. Только добрался до компа. Во-первых curl под виндой ведёт себя иначе чем под Линухом, увы тот синтаксис со всякими апострофами он больше про линукс. Чтобы под виндой, да и пол Линухом нормально работать с РЕСТ АПИ, я уже давно не использую его базовую функциональность из мануалов Атлассиан. Во-вторых я пользую Confluence CLI, так мне лучше и удобнее с рестом работать. (тут пример команд) Также там есть много ништяков простых для добавления файлов на страницу и.т.п. Например, если хочу увидеть список страниц в пространстве просто будет так confluence.bat --server https://YOURDOMAIN.COM --user vasya --password "vasya" --action getPageList --space "TST" А если твой вариант, как узнать реальное количество страниц, то вот так хак: Вот пример confluence.bat --server https://YOURDOMAIN.COM --user vasya --password "vasya" --action getPageList --space TST --file test.txt 36 pages in list written to file: test.txt Качать тут
Саша, привет! Спасибо! CLI посмотрю. Там проблема с таким запросом: Но вот как быть с запросом PUT? curl -u admin:admin -X PUT -H 'Content-Type: application/json' -d'{"id":"3604482","type":"page", "title":"new page","space":{"key":"TST"},"body":{"storage":{"value": "<p>This is the updated text for the new page</p>","representation":"storage"}}, "version":{"number":2}}' http://example.net/confluence/rest/api/content/3604482

Нужно поместить блок кода таблицы на все страницы пространства.

Google
Stas
31.07.2018
07:14:27
Файл поместить через POST --- нет проблем.

А вот пакет данных -- никак.

Что-то с синтаксисом не то после -d.

Danila
31.07.2018
07:15:56
Что там может быть не то? Это просто курл прости г-споди, у вас может быть курл новый старый, сделайте curl -h и посмотрите, может там поменялось что-то

Stas
31.07.2018
07:16:07
Вот так тоже не работает curl -k -S -v -u admin -X PUT -H "Content-Type: application/json" -d'{"id":"3604482","type":"page", "title":"new page","space":{"key":"TST"},"body":{"storage":{"value": "<p>This is the updated text for the new page</p>","representation":"storage"}}, "version":{"number":2}}' http://example.net/confluence/rest/api/content/3604482

Danila
31.07.2018
07:17:02
Нихрена себе

Stas
31.07.2018
07:17:47
--data/-d на винде не предполагает кавычки перед JSON, судя по справке.

Danila
31.07.2018
07:18:24
Какую ошибку дает вам курл?

Даже не так. У вас хром есть?

Даже не так. У вас хром есть?
Попробуйте воспользоваться этой тулзой, чтобы с рестом общаться. Наверное, так будет проще и быстрее https://chrome.google.com/webstore/detail/aejoelaoggembcahagimdiliamlcdmfm

Stas
31.07.2018
07:22:55
Какую ошибку дает вам курл?
Если копировать пример как есть (ординарные кавычки): curl -v -S -u admin -X PUT -H 'Content-Type: application/json' -d'{"id":"3604482","type":"page", "title":"new page","space":{"key":"~TST"},"body":{"storage":{"value": "<p>This is the updated text for the new page</p>","representation":"storage"}}, "version":{"number":2}}' http://example.net/confluence/rest/api/content/3604482 Возвращает curl: (6) Could not resolve host: application Очевидно на винде (семёрка) с кавычками синтаксис другой.

Google
Danila
31.07.2018
07:23:31
А, ну бывает

Кавычки на двойные замените

После -d кавычку ставьте перед скобкой, а не после -d сразу, там пробел нужен

И дело не особо в винде, хотя в винде тоже, но не совсем, но мне не нравится это извращение

Ярослав
31.07.2018
07:40:11
А ваще все кишит статьями как это все развернуть на aws за 10 минут

Stas
31.07.2018
07:54:30
Кавычки на двойные замените
Если заменить кавычки во всех аргументах, кроме -d вот так: curl -S -v -u user -X PUT -H "Content-Type: application/json" -d '{"id":"3604482","type":"page", "title":"new page","space":{"key":"~TST"},"body":{"storage":{"value": "<p>This is the updated text for the new page</p>","representation":"storage"}}, "version":{"number":2}}' http://example.net/confluence/rest/api/content/3604482 Уже интереснее, потому что возвращает: {"statusCode":500, "message":"org.codehaus.jackson.JsonParseException: Unexpected character (‘‘‘ (code 39)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: com.atlassian.confluence.plugins.restapi.filtersLimitingRequestFilter$1@43bd0f71; line: 1, column: 2]"}* Closing connection

Экран \" в аргументе -d не работает. То же с "" и ^"

Andrey
31.07.2018
08:00:18
Экран \" в аргументе -d не работает. То же с "" и ^"
Ок, буду через час на работе, попробую найти windows и проверю.

Danila
31.07.2018
08:02:05
Друзья, чтобы не сталкиваться с такими проблемами, могу предложить очень дельный воркэраунд: используйте linux-окружение.

Stas
31.07.2018
08:11:30
Друзья, чтобы не сталкиваться с такими проблемами, могу предложить очень дельный воркэраунд: используйте linux-окружение.
Таки всё верно, но не всегда возможно. У меня здесь виндос седьмой в по сути режиме киоска, даже консоли разработчика нет в браузере.

Sergey
31.07.2018
08:13:07
Да и плагинов для браузеров море

Stas
31.07.2018
08:22:47
Друзья, чтобы не сталкиваться с такими проблемами, могу предложить очень дельный воркэраунд: используйте linux-окружение.
Не понял, заменить двойные на ординарные в JSON-запросе? Если оставить только ординарные, ругается консоль: Не удаётся найти указанный файл. curl -S -v -u user -X PUT -H "Content-Type: application/json" -d '{'id':'3604482','type':'page', 'title':'new page','space':{'key':'~TST'},'body':{'storage':{'value': '<p>This is the updated text for the new page</p>','representation','storage'}}, 'version':{'number':2}}' http://example.net/confluence/rest/api/content/3604482 А если заменить двойные на ординарные только в JSON-пакете, а аргумент -d напротив оформить в двойных, возникает уже ошибка от сервера Confluence, та же 500. Bummers! curl -S -v -u user -X PUT -H "Content-Type: application/json" -d "{'id':'3604482','type':'page', 'title':'new page','space':{'key':'~TST'},'body':{'storage':{'value': '<p>This is the updated text for the new page</p>','representation','storage'}}, 'version':{'number':2}}" http://example.net/confluence/rest/api/content/3604482

Nikita
31.07.2018
08:29:58
Я бы попытался использовать двойные ковычки в аргументах, а сам JSON из файла взять (где тоже двойные ковычки везде). curl --data "@/path/to/filename". Извиняюсь, если это уже было выше.

Stas
31.07.2018
09:24:26
Я бы попытался использовать двойные ковычки в аргументах, а сам JSON из файла взять (где тоже двойные ковычки везде). curl --data "@/path/to/filename". Извиняюсь, если это уже было выше.
Я сделал так: 1) Скопировал всё, что стоит в аргументе параметра -d (весь JSON-payload) в текстовый файл: {"id":"3604482","type":"page", "title":"new page","space":{"key":"~TST"},"body":{"storage":{"value": "<p>This is the updated text for the new page</p>","representation":"storage"}}, "version":{"number":2}} 2) Составил запрос: curl -S -v -u user -X PUT -d @json.txt http://example.net/confluence/rest/api/content/3604482 И получил статус: HTTP Status 415. Если есть идеи, буду рад.

Google
Nikita
31.07.2018
09:38:38
забыл поставить content-type заголовок

Stas
31.07.2018
10:14:16
Может уже всё таки попробуешь Confluence CLI :) --action modifyPage --space "zclimarkdown" --title "markdown" --markdown --content2 "#Text appended to the end."
Пока закрытая коробка, нет способа запихнуть CLI туда ( curl был уже ). Но я продвинулся, благодаря вам всем.

Александр
31.07.2018
10:15:08
Дык кли не надо ставить просто скачай пакет



Stas
31.07.2018
10:32:17
забыл поставить content-type заголовок
О! Гениально. Это оно. Сделал так: curl -S -v -u user -X PUT -H "Content-Type: application/json" -d @json.txt http://example.net/confluence/rest/api/content/3604482 Вернулось Status code: 409, "message":"Version must be incremented on update. Current version is: 4". Так как у меня в JSON было 2, поставил 5, и всё обновилось. Можно как-то добавлять текст на страницу, а не перезаписывать его? Или надо вначале GET, а потом туда добавлять свой json? А то у меня переписалась вся страница...

Дык кли не надо ставить просто скачай пакет
Дык, как интернет там появится, так сразу. А так только локальная маршрутизация.

Александр
31.07.2018
10:40:04
Дык, как интернет там появится, так сразу. А так только локальная маршрутизация.
Карочь это просто другой клиент, у тебя должен быть доступен конфлюенс

Stas
31.07.2018
10:41:02
Карочь это просто другой клиент, у тебя должен быть доступен конфлюенс
А он умеет добавлять в тело? Или нужно логику писать?

Александр
31.07.2018
11:06:20
А он умеет добавлять в тело? Или нужно логику писать?
Там свой референс по командам я выше приводил пример и ссылки

Stas
31.07.2018
11:12:24
Там свой референс по командам я выше приводил пример и ссылки
Вижу, что можно так: confluence.bat --action modifyPage --targetServer "http://example.net" --space "~TEST" --id "846922693" --title "My title" --content2 "#Text appended" А где данные для входа указываются? Логин отдельной командой? Он на сеанс запоминается?

Admin
ERROR: S client not available

Александр
31.07.2018
11:13:55


Stas
31.07.2018
11:15:17
? Чукча не читатель, ты ж понимаешь. )) Спасибо.

Что-то не могу понять, а как его с HTTPS научить работать, да ещё, чтобы самоподписный сертификат принимал? Есть параметр вроде -k в curl?

Александр
31.07.2018
11:19:53
Просто адрес пишешь с https, там не надо таких парметров, по крайней мере в облаке

Stas
31.07.2018
11:22:45
Просто адрес пишешь с https, там не надо таких парметров, по крайней мере в облаке
Там Java ругается на сертификат, ей бы как-нибудь сказать, чтобы съела недоверенный...

Александр
31.07.2018
11:23:22
Скрин покажи

Nikita
31.07.2018
11:24:01
Добавь его в jks

Google
Nikita
31.07.2018
11:24:14
через keytool, например

Stas
31.07.2018
12:24:20
Скрин покажи
Client error: Invalid request: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targets.

Александр
31.07.2018
12:34:40
Stas
31.07.2018
12:35:38
Че та с Явой https://stackoverflow.com/questions/9210514/unable-to-find-valid-certification-path-to-requested-target-error-even-after-c
Да не, просто сертификат самоподписный, надо его в keystore добавить.

Чтоб я помнил, как это делается.

Александр
31.07.2018
12:36:05
Аааа

Stas
31.07.2018
12:36:07
Нужен openssl.

Марфа
31.07.2018
14:30:29
Привет) А кто-нибудь знает как можно сделать, чтобы на канбан-доске нельзя было перетащить задачу в статус, где уже есть максимальное кол-во задач ?

Gonchik
01.08.2018
05:18:07
Боты, которые нападают от чего их логины берут хэш? Если hash(display name).equals(username) = бот?

Gonchik
01.08.2018
06:18:07
Думаешь там хэш а не случайная строка?
Это просто гипотеза;) и я задумался как оперативней блокировать

Ярослав
01.08.2018
06:22:13
так можно ж по дисплей нейм стартс виз

Stassio
01.08.2018
06:22:27
блокируй по молчанию

Sergey
01.08.2018
06:22:43
По длине имени

Stassio
01.08.2018
06:22:43
пришел, не представился за сутки - кикай

Страница 81 из 97