Module: Legion::Extensions::Jira::Issues::Runners::Links

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/jira/issues/runners/links.rb

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #upload_connection

Instance Method Details



13
14
15
16
17
18
19
20
21
22
# File 'lib/legion/extensions/jira/issues/runners/links.rb', line 13

def create_issue_link(type_name:, inward_issue:, outward_issue:, comment: nil, **)
  body = {
    type:         { name: type_name },
    inwardIssue:  { key: inward_issue },
    outwardIssue: { key: outward_issue }
  }
  body[:comment] = { body: comment } if comment
  resp = connection(**).post('/rest/api/3/issueLink', body)
  { created: resp.status == 201 }
end


29
30
31
32
# File 'lib/legion/extensions/jira/issues/runners/links.rb', line 29

def delete_issue_link(link_id:, **)
  resp = connection(**).delete("/rest/api/3/issueLink/#{link_id}")
  { deleted: resp.status == 204, link_id: link_id }
end


24
25
26
27
# File 'lib/legion/extensions/jira/issues/runners/links.rb', line 24

def get_issue_link(link_id:, **)
  resp = connection(**).get("/rest/api/3/issueLink/#{link_id}")
  { link: resp.body }
end


39
40
41
42
# File 'lib/legion/extensions/jira/issues/runners/links.rb', line 39

def get_link_type(link_type_id:, **)
  resp = connection(**).get("/rest/api/3/issueLinkType/#{link_type_id}")
  { link_type: resp.body }
end


34
35
36
37
# File 'lib/legion/extensions/jira/issues/runners/links.rb', line 34

def list_link_types(**)
  resp = connection(**).get('/rest/api/3/issueLinkType')
  { link_types: resp.body }
end