Class: Infrawrench::LinearNamespace
- Inherits:
-
Object
- Object
- Infrawrench::LinearNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.linear
Instance Method Summary collapse
-
#delete(org_id: nil, request_options: nil) ⇒ Hash
Disconnect Linear.
-
#get(org_id: nil, request_options: nil) ⇒ Hash
Get the org's Linear connection.
-
#initialize(transport) ⇒ LinearNamespace
constructor
private
A new instance of LinearNamespace.
-
#issues(body:, org_id: nil, request_options: nil) ⇒ Hash
File a finding as a Linear issue.
-
#links(org_id: nil, source_kind: nil, source_id: nil, request_options: nil) ⇒ Array<Hash>
Look up filed issues for a set of findings.
-
#teams(org_id: nil, request_options: nil) ⇒ Array<Hash>
List Linear teams.
-
#update(body:, org_id: nil, request_options: nil) ⇒ Hash
Connect Linear, or update the connection.
-
#verify(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Check Linear credentials.
Constructor Details
#initialize(transport) ⇒ LinearNamespace
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of LinearNamespace.
9520 9521 9522 |
# File 'lib/infrawrench/client.rb', line 9520 def initialize(transport) @transport = transport end |
Instance Method Details
#delete(org_id: nil, request_options: nil) ⇒ Hash
Disconnect Linear
Issue links already recorded are kept, so filed findings stay marked as filed.
Requires permission: linear:write.
DELETE /api/org/orgId/linear
Raises on 404: Not found
9540 9541 9542 9543 9544 9545 9546 9547 |
# File 'lib/infrawrench/client.rb', line 9540 def delete(org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/linear", path_params: { "orgId" => org_id }, request_options: ) end |
#get(org_id: nil, request_options: nil) ⇒ Hash
Get the org's Linear connection
The stored API key is never returned; keyHint stands in for it.
Requires permission: linear:read.
GET /api/org/orgId/linear
9562 9563 9564 9565 9566 9567 9568 9569 |
# File 'lib/infrawrench/client.rb', line 9562 def get(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/linear", path_params: { "orgId" => org_id }, request_options: ) end |
#issues(body:, org_id: nil, request_options: nil) ⇒ Hash
File a finding as a Linear issue
Creates the issue via the issueCreate mutation, then records the link between it and the finding. The link is what lets a list view show "already filed" instead of offering the button again.
Requires permission: linear:write.
POST /api/org/orgId/linear/issues
Raises on 400: Bad request
Raises on 502: Linear refused to create the issue, or was unreachable
9592 9593 9594 9595 9596 9597 9598 9599 9600 |
# File 'lib/infrawrench/client.rb', line 9592 def issues(body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/linear/issues", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#links(org_id: nil, source_kind: nil, source_id: nil, request_options: nil) ⇒ Array<Hash>
Look up filed issues for a set of findings
Requires permission: linear:read.
GET /api/org/orgId/linear/links
Raises on 400: Bad request
9620 9621 9622 9623 9624 9625 9626 9627 9628 |
# File 'lib/infrawrench/client.rb', line 9620 def links(org_id: nil, source_kind: nil, source_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/linear/links", path_params: { "orgId" => org_id }, query: { "sourceKind" => source_kind, "sourceId" => source_id }, request_options: ) end |
#teams(org_id: nil, request_options: nil) ⇒ Array<Hash>
List Linear teams
Backs the team picker, so nobody has to know a team id by hand — issueCreate requires one, and every issue belongs to exactly one team.
Requires permission: linear:read.
GET /api/org/orgId/linear/teams
Raises on 400: Bad request
9647 9648 9649 9650 9651 9652 9653 9654 |
# File 'lib/infrawrench/client.rb', line 9647 def teams(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/linear/teams", path_params: { "orgId" => org_id }, request_options: ) end |
#update(body:, org_id: nil, request_options: nil) ⇒ Hash
Connect Linear, or update the connection
Requires permission: linear:write.
PUT /api/org/orgId/linear
Raises on 400: Bad request
9671 9672 9673 9674 9675 9676 9677 9678 9679 |
# File 'lib/infrawrench/client.rb', line 9671 def update(body:, org_id: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/linear", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#verify(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Check Linear credentials
Runs the viewer query against the Linear GraphQL API, so a mistyped or
revoked key is reported on the settings form rather than on the first
attempt to file an issue.
Requires permission: linear:write.
POST /api/org/orgId/linear/verify
Raises on 400: Bad request
Raises on 502: Linear rejected the key or was unreachable
9702 9703 9704 9705 9706 9707 9708 9709 9710 |
# File 'lib/infrawrench/client.rb', line 9702 def verify(org_id: nil, body: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/linear/verify", path_params: { "orgId" => org_id }, body: body, request_options: ) end |