feat: add liner integration

This commit is contained in:
Muhsin Keloth
2024-05-02 13:39:57 +05:30
parent af39308851
commit ead7cc0c36
10 changed files with 135 additions and 3 deletions
+39
View File
@@ -0,0 +1,39 @@
require 'graphlient'
class Linear
BASE_URL = 'https://api.linear.app/graphql'.freeze
def initialize(api_key)
@api_key = api_key
raise ArgumentError, 'Missing Credentials' if @api_key.blank?
@client = Graphlient::Client.new(
BASE_URL,
headers: {
'Authorization' => @api_key,
'Content-Type' => 'application/json'
}
)
end
def list_issues
query = <<~GRAPHQL
query {
issues(first: 5) {
nodes {
id
title
}
}
}
GRAPHQL
begin
response = @client.query(query)
response.data.issues.nodes
rescue StandardError => e
# return error message
e.message
end
end
end