Создание общедоступной проблемы Bitbucket API

Возможно ли, чтобы пользователи моего веб-сайта отправляли сообщения об ошибках в средство отслеживания проблем моего репозитория Bitbucket, не перенаправляя их на страницу Bitbucket?

Я знаю, что это возможно с аутентификацией, но кажется странным, что они могут добавить проблему без аутентификации с сайта Bitbucket, но не с API.


person Saad Farooq    schedule 16.01.2013    source источник
comment
Я тоже хотел бы знать. Прочитав документы, вы пытались создать задачу через REST API, т.е. confluence.atlassian.com/display/BITBUCKET/ ? В документах говорится, что вызов требует аутентификации для частных репозиториев или систем отслеживания проблем, но неясно, необходима ли она для общедоступных систем отслеживания.   -  person gnuf    schedule 16.01.2013
comment
Да, я пытался... он запрашивает аутентификацию. Неважно, является ли трекер общедоступным или частным. Я думаю, что аутентификация применяется на уровне конечной точки репозитория, а проблемы — это ресурс внутри.   -  person Saad Farooq    schedule 17.01.2013


Ответы (2)


Для этого я создал PHP-библиотеку, вы не говорите, на каком языке построен ваш веб-сайт, но этот плагин выполнит основную работу по созданию простой формы отправки сообщения об ошибке, отправке POST в BitBucket API с использованием базовой аутентификации и отправьте пользователю красивое электронное письмо с подтверждением с номером ошибки (и необязательным URL-адресом ошибки). Пользователю не нужно входить в систему... это делает ваш код на сервере.

Это здесь: http://syntaxseed.com/project/bitbucketphpbuglib/

person Sherri    schedule 10.05.2013
comment
Хорошо.. Я посмотрю немного. Меня больше всего беспокоит использование базовой аутентификации. Мы хотим, чтобы пользователи на сайте могли использовать эту функцию без необходимости использовать логин и пароль, и, поскольку весь код является общим, я действительно не хотел, чтобы имена пользователей и пароли летали повсюду. Мы закончили тем, что создали общего пользователя, имя пользователя и пароль которого теперь летают. - person Saad Farooq; 11.05.2013
comment
@SaadFarooq базовая аутентификация предназначена для подключения к вашей учетной записи BitBucket, она выполняется за кулисами вашим приложением, а не пользователем. - person Sherri; 29.04.2014

В итоге я использовал обычную аутентификацию с обычным пользователем.

Пользователь не обязательно должен быть частью команды, поэтому им может быть любой пользователь.

редактировать: это решено в моем сообщении, см. отправить задачу в битбакет с помощью oauth через API битбакета

$account_name = 'companyy';    
$repo_slug = 'issuer';

$oauth_params = array(
    'oauth_consumer_key'      => 'key',
    'oauth_consumer_secret'   => 'secret'
);

$issue = new issues();
//this was the missing peace of the puzzle . one single line
$issue->getClient()->addListener( new OAuthListener($oauth_params) );

$issue->create($account_name, $repo_slug, array(
    'title'     => 'title 123',
    'content'   => 'coententt123 ',
    'kind'      => 'proposal',
    'priority'  => 'blocker'
    ));
person Saad Farooq    schedule 30.01.2013