Class: Lazylead::Confluence
- Inherits:
-
Object
- Object
- Lazylead::Confluence
- Defined in:
- lib/lazylead/confluence.rb
Overview
Represents single Confluence instance.
- Author
Yurii Dubinka ([email protected])
- Copyright
Copyright (c) 2019-2020 Yurii Dubinka
- License
MIT
Instance Method Summary collapse
-
#fetch_page_id(space, title) ⇒ Object
Fetch the page url with pageId (Atlassian global id) using confluence space name and page title.
-
#initialize(conf) ⇒ Confluence
constructor
A new instance of Confluence.
-
#make_link(url, type = "Wiki Page") ⇒ Object
Construct the remote link from Jira ticket to Confluence page.
-
#url ⇒ Object
Confluence instance url like http://confluence.com https://confluence.com.
Constructor Details
#initialize(conf) ⇒ Confluence
Returns a new instance of Confluence.
35 36 37 38 39 40 |
# File 'lib/lazylead/confluence.rb', line 35 def initialize(conf) @conf = conf @http = Faraday.new(url: @conf.url) do |conn| conn.request :authorization, :basic, @conf.user, @conf.pass end end |
Instance Method Details
#fetch_page_id(space, title) ⇒ Object
#/DEV Unable to find confluence pages where title has ":" symbol. The symbol ":" might be replaced by "%3A". The search needs to consider this case as well.
Fetch the page url with pageId (Atlassian global id) using confluence space name and page title.
73 74 75 76 77 78 79 80 81 |
# File 'lib/lazylead/confluence.rb', line 73 def fetch_page_id(space, title) resp = @http.get( "/rest/api/content", limit: 1, spaceKey: space, title: title ).body return "" if resp.blank? pages = JSON.parse(resp) return "" if pages["results"].empty? "#{@conf.url}/pages/viewpage.action?pageId=#{pages['results'].first['id']}" end |
#make_link(url, type = "Wiki Page") ⇒ Object
Construct the remote link from Jira ticket to Confluence page. Read more:
54 55 56 57 58 59 60 61 |
# File 'lib/lazylead/confluence.rb', line 54 def make_link(url, type = "Wiki Page") { globalId: "appId=#{@conf.app}&pageId=#{url[/pageId=(?<id>\d+)/, 1]}", application: { type: @conf.type, name: @conf.name }, relationship: type, object: { url: url, title: type } } end |
#url ⇒ Object
Confluence instance url like http://confluence.com https://confluence.com
45 46 47 |
# File 'lib/lazylead/confluence.rb', line 45 def url @conf.url end |