GitHub Action to create an Issue for Linear.app.
See action.yml
arg | description | required | type |
---|---|---|---|
issueFilePath | File path of Issue markdown | yes | string |
apiKey | api key of Linear.app (ref) | yes | string |
teamId | team id of Linear.app (ref) | yes | string |
stateId | state id of Linear.app (ref) | yes | string |
isDryrun | enable dryrun (not create issue) | no | boolean |
embed | embed variable. (ex: "month=July,day=13") | no | string |
Create issue file in markdown format. Write the contents of IssueCreateInput in YAML format on the line enclosed by ---. title is required.
If you want to change the value of YAML dynamically, you can replace ${something}
when executing the action.
---
title: Issue file example (${day}, ${month}) # title is required
estimate: 1
---
This block is description.
## Items
* Item 1
* Item 2
* Item 3
## CheckBoxes
- [ ] CheckBox 1
- [ ] CheckBox 2
*created by [korosuke613/linear-app-create-issue-action](https://github.com/korosuke613/linear-app-create-issue-action)*
Create 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.
If you want to replace ${something} in YAML, use embed
with key1=value1,key2=value2,...
.
name: Create Issue every friday
on:
schedule:
- cron: "0 8 * * 5" # At 08:00 on Friday (UTC).
jobs:
create-issue:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: korosuke613/linear-app-create-issue-action@v1
with:
issueFilePath: "./example/example-issue.md"
apiKey: ${{ secrets.YOUR_API_TOKEN_OF_LINEAR_APP }}
teamId: ${{ secrets.YOUR_TEAM_ID_OF_LINEAR_APP }}
stateId: ${{ secrets.YOUR_STATE_ID_OF_LINEAR_APP }}
embed: month=July,day=13
Call the Linear API. An example is shown below.
input
curl \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: <Replace this with your Linear API Key>" \
--data '{ "query": "{ teams { nodes { id name } } }" }' \
https://api.linear.app/graphql | jq
output
{
"data": {
"teams": {
"nodes": [
{
"id": "eeaa0cbd-xxxx-xxxx-xxxx-1c701c3485f1",
"name": "korosuke613"
}
]
}
}
}
input
curl \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: <Replace this with your Linear API Key>" \
--data '{ "query": "{ workflowStates { nodes { id name type } } }" }' \
https://api.linear.app/graphql | jq
output
{
"data": {
"workflowStates": {
"nodes": [
{
"id": "76984209-xxxx-xxxx-xxxx-78eb458a7cbe",
"name": "In Review",
"type": "started"
},
{
"id": "e788ada6-xxxx-xxxx-xxxx-5717c26104ad",
"name": "Todo",
"type": "unstarted"
},
{
"id": "c02edc3a-xxxx-xxxx-xxxx-85c349766a13",
"name": "Backlog",
"type": "backlog"
},
// etc..
]
}
}
}
The scripts and documentation in this project are released under the MIT License