Примеры Ruby confluence4r - PullRequest
       23

Примеры Ruby confluence4r

0 голосов
/ 06 ноября 2010

Я не могу найти, где можно скачать гем confluence4r, и он не работает, когда я это делаю:

gem install confluence4r

Я скачал один здесь: http://confluence.atlassian.com/display/DISC/Confluence4r

Я могу войти в систему

server = Confluence::RPC.new("http://wiki/")
server.login("username","password")

но как только я делаю что-то еще, это терпит неудачу

server.getSpace("key")

но подождите .. Я делаю это во второй раз, и это работает ...

server.getSpace("key")

{"name"=>"key example", "homePage"=>"235325", "url"=>"http://wiki/display/key", "type"=>"global", "description"=>"description example", "key"=>"key"}

Вотошибка, которую я получаю с первой попытки, прежде чем заставить ее работать со второй попытки:

EOFError: end of file reached

из /usr/lib/ruby/1.8/net/protocol.rb:135:in sysread' from /usr/lib/ruby/1.8/net/protocol.rb:135:in rbuf_fill 'из /usr/lib/ruby/1.8/timeout.rb:62:in timeout' from /usr/lib/ruby/1.8/timeout.rb:93:in timeout 'из /usr/lib/ruby/1.8/net/protocol.rb:134:in rbuf_fill' from /usr/lib/ruby/1.8/net/protocol.rb:116:in readuntil' из / usr /lib / ruby ​​/ 1.8 / net / protocol.rb: 126: в readline' from /usr/lib/ruby/1.8/net/http.rb:2024:in read_status_line 'из /usr/lib/ruby/1.8/net/http.rb:2013:in read_new' from /usr/lib/ruby/1.8/net/http.rb:1050:in request' из / usr / lib /ruby / 1.8 / net / http.rb: 992: в post2' from /usr/lib/ruby/1.8/xmlrpc/client.rb:538:in do_rpc 'из /usr/lib/ruby/1.8/xmlrpc/client.rb:420:in call2' from /usr/lib/ruby/1.8/xmlrpc/client.rb:410:in call' из / usr / lib / ruby ​​/1.8 / xmlrpc / client.rb: 617: в send' from /usr/lib/ruby/1.8/xmlrpc/client.rb:617:in method_missing 'из ./confluence4r.rb:35 *in send' from ./confluence4r.rb:35:in method_missing'

Есть идеи, почему я получаю ошибку?

РЕДАКТИРОВАТЬ

Хорошо, вместо этого я использую часть этого драгоценного камня, и он работает нормально:

gem install confluencer
@api = Confluence::Client.new(:url => "http://wiki")
@api.login("username","password")
user = @api.getUser("username")
pp user

{"name"=>"username",
 "url"=>"http://wiki/display/~username",
 "fullname"=>"Full Name",
 "email"=>"EmailAddress@example.com"}

Теперь проблема в том, что я не могудобавить что-нибудь, но я могу сделать, получает и все.Он просто зависает, и я верю, что снова и снова повторяю попытки.Может быть, моя вики не работает ..

create_user = @api.createUser("username","password","First LastName","Email@example.com")
pp create_user

Зависает на create_user

Ответы [ 2 ]

1 голос
/ 06 ноября 2010

Хорошо, теперь используйте только XMLRPC Client, и все работает

require 'xmlrpc/client'

confluence = XMLRPC::Client.new2("http://wiki/rpc/xmlrpc").proxy("confluence1")
token = confluence.login("username", "password")

user = {
"name" => user_name,
"fullname" => full_name,
"email" => email
}

confluence.addUser(token, user, user_name)

Я проверил это на слиянии от 2,8 до 3,4 - это было гораздо проще!

0 голосов
/ 26 февраля 2014

FYI, использование кода confluence4r.rb завершается неудачно с Confluence v4. Простое решение состоит в том, чтобы изменить ... @conf = server.proxy ("confluence1") К @conf = server.proxy ("confluence2")

Сообщение об ошибке: confluence.rb: 38: в rescue in method_missing': java.lang.Exception: com.atlassian.confluence.rpc.RemoteException: Unsupported operation: Wiki formatted content can no longer be retrieved from this API. Please use the version 2 API. The version 2 WSDL is available at: https://wiki.globalrelay. net/rpc/soap-axis/confluenceservice-v2?wsdl. XML-RPC requests should prefixed with "confluence2.". (RuntimeError) from confluence.rb:31:in method_missing '

...