{"id":16645416,"url":"https://github.com/korosuke613/linear-app-create-issue-action","last_synced_at":"2025-10-30T12:31:48.679Z","repository":{"id":39177489,"uuid":"367809879","full_name":"korosuke613/linear-app-create-issue-action","owner":"korosuke613","description":"GitHub Action to create an Issue for Linear.app.","archived":false,"fork":false,"pushed_at":"2023-01-05T13:35:27.000Z","size":1168,"stargazers_count":6,"open_issues_count":18,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-02T08:42:07.458Z","etag":null,"topics":["github-action","linear-app","nodejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/korosuke613.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2021-05-16T07:13:47.000Z","updated_at":"2025-01-08T14:55:15.000Z","dependencies_parsed_at":"2022-07-29T02:38:45.400Z","dependency_job_id":null,"html_url":"https://github.com/korosuke613/linear-app-create-issue-action","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":"actions/typescript-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korosuke613%2Flinear-app-create-issue-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korosuke613%2Flinear-app-create-issue-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korosuke613%2Flinear-app-create-issue-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korosuke613%2Flinear-app-create-issue-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/korosuke613","download_url":"https://codeload.github.com/korosuke613/linear-app-create-issue-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238968443,"owners_count":19560586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-action","linear-app","nodejs"],"created_at":"2024-10-12T08:23:42.048Z","updated_at":"2025-10-30T12:31:43.305Z","avatar_url":"https://github.com/korosuke613.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# linear-app-create-issue-action\n\nGitHub Action to create an Issue for [Linear.app](https://linear.app/).\n\n[![build-test](https://github.com/korosuke613/linear-app-create-issue-action/actions/workflows/ci.yml/badge.svg)](https://github.com/korosuke613/linear-app-create-issue-action/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/korosuke613/linear-app-create-issue-action/branch/main/graph/badge.svg?token=2XrAav9ZlE)](https://codecov.io/gh/korosuke613/linear-app-create-issue-action)\n\n## Usage\n\n### Input\nSee [action.yml](./action.yml)\n\n|arg|description|required|type|\n|---|---|---|---|\n|issueFilePath|File path of Issue markdown|yes|string|\n|apiKey|api key of Linear.app ([ref](https://developers.linear.app/docs/graphql/working-with-the-graphql-api#personal-api-keys))|yes|string|\n|teamId|team id of Linear.app ([ref](#faq-get-teamid-stateid))|yes|string|\n|stateId|state id of Linear.app ([ref](#faq-get-teamid-stateid))|yes|string|\n|isDryrun|enable dryrun (not create issue) |no|boolean|\n|embed|embed variable. (ex: \"month=July,day=13\")|no|string|\n\n## Usage\n\n### Create Issue file\nCreate issue file in markdown format. Write the contents of [IssueCreateInput](https://github.com/linear/linear/blob/8553690da1455e2f6a109bed65223bc5400fa7c2/packages/sdk/src/schema.graphql#L2021) in YAML format on the line enclosed by ---. title is required.\n\nIf you want to change the value of YAML dynamically, you can replace `${something}` when executing the action.\n\n[example-issue.md](./example/example-issue.md)\n```markdown\n---\ntitle: Issue file example (${day}, ${month}) # title is required\nestimate: 1\n---\nThis block is description.\n\n## Items\n* Item 1\n* Item 2\n* Item 3\n\n## CheckBoxes\n- [ ] CheckBox 1\n- [ ] CheckBox 2\n\n*created by [korosuke613/linear-app-create-issue-action](https://github.com/korosuke613/linear-app-create-issue-action)*\n```\n\n### Create Workflow\nCreate a workflow `.yml` file in your repositories `.github/workflows` directory. An example workflow is available below. For more information, reference the GitHub Help Documentation for [Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file).\n\nIf you want to replace ${something} in YAML, use `embed` with `key1=value1,key2=value2,...`.\n\n[create-issue-every-friday.yml](example/create-issue-every-friday.yml)\n```yaml\nname: Create Issue every friday\non:\n  schedule:\n    - cron: \"0 8 * * 5\"  # At 08:00 on Friday (UTC).\n\njobs:\n  create-issue:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: korosuke613/linear-app-create-issue-action@v1\n        with:\n          issueFilePath: \"./example/example-issue.md\"\n          apiKey: ${{ secrets.YOUR_API_TOKEN_OF_LINEAR_APP }}\n          teamId: ${{ secrets.YOUR_TEAM_ID_OF_LINEAR_APP }}\n          stateId: ${{ secrets.YOUR_STATE_ID_OF_LINEAR_APP }}\n          embed: month=July,day=13\n```\n\n**result**\n![](./images/result_example.png)\n\n## FAQ\n\n\u003ca name=\"faq-get-teamid-stateid\"\u003e\u003c/a\u003e\n### How do I get teamId and stateId?\nCall the Linear API. An example is shown below.\n\n#### teamId\n\ninput\n\n```shell\ncurl \\\n  -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: \u003cReplace this with your Linear API Key\u003e\" \\\n  --data '{ \"query\": \"{ teams { nodes { id name } } }\" }' \\\n  https://api.linear.app/graphql | jq\n```\n\noutput\n\n```json\n{\n  \"data\": {\n    \"teams\": {\n      \"nodes\": [\n        {\n          \"id\": \"eeaa0cbd-xxxx-xxxx-xxxx-1c701c3485f1\",\n          \"name\": \"korosuke613\"\n        }\n      ]\n    }\n  }\n}\n```\n\n#### stateId\n\ninput\n\n```shell\ncurl \\\n  -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: \u003cReplace this with your Linear API Key\u003e\" \\\n  --data '{ \"query\": \"{ workflowStates { nodes { id name type } } }\" }' \\\n  https://api.linear.app/graphql | jq\n```\n\noutput\n\n```json5\n{\n  \"data\": {\n    \"workflowStates\": {\n      \"nodes\": [\n        {\n          \"id\": \"76984209-xxxx-xxxx-xxxx-78eb458a7cbe\",\n          \"name\": \"In Review\",\n          \"type\": \"started\"\n        },\n        {\n          \"id\": \"e788ada6-xxxx-xxxx-xxxx-5717c26104ad\",\n          \"name\": \"Todo\",\n          \"type\": \"unstarted\"\n        },\n        {\n          \"id\": \"c02edc3a-xxxx-xxxx-xxxx-85c349766a13\",\n          \"name\": \"Backlog\",\n          \"type\": \"backlog\"\n        },\n        // etc..\n      ]\n    }\n  }\n}\n```\n\n## License\nThe scripts and documentation in this project are released under the [MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorosuke613%2Flinear-app-create-issue-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkorosuke613%2Flinear-app-create-issue-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorosuke613%2Flinear-app-create-issue-action/lists"}