Action
Linear Multiple Issues
Create Multiple Issues in LInear
By Thomas Foutz
2024-08-13
Steps
-
script
var credential = Credential.create("Linear.app", "Insert Linear.app token generated on Linear.app account page."); credential.addTextField("apptoken", "App Token"); credential.addTextField("teamid", "Team ID"); credential.authorize(); var appToken = credential.getValue("apptoken"); var teamId = credential.getValue("teamid"); if (draft.content.length == 0) { alert("Draft is blank"); context.cancel("Draft was blank"); } else { var lines = draft.content.split("\n"); // Iterate over each line in the draft and create a new issue for (var i = 0; i < lines.length; i++) { let issueTitle = lines[i].trim(); if (issueTitle.length > 0) { var variables = { "title": issueTitle, "description": "", "teamId": teamId }; // Prepare GraphQL query for creating the issue var graphqlQuery = ` mutation IssueCreate($title: String!, $teamId: String!, $description: String) { issueCreate(input: { title: $title, description: $description, teamId: $teamId }) { success issue { identifier url } } }`; // Create issue var http = HTTP.create(); var response = http.request({ "url": "https://api.linear.app/graphql", "method": "POST", "encoding": "json", "data": { "query": graphqlQuery, "variables": variables }, "headers": { "Authorization": appToken, "Content-Type": "application/json" } }); if (response.statusCode != 200 && response.statusCode != 202) { console.log("Failed to create issue: " + response.statusCode); } else { console.log("Issue created successfully: " + response.responseText); } } } }
Options
-
After Success Default Notification Info Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.