Skip to content

Conversation

@factory-ben
Copy link
Collaborator

Automatically creates Linear tickets for new features when changelog files are updated and merged to main.

What it does

  • Triggers on push to main when docs/changelog/*.mdx files change
  • Parses the newest <Update> block for features under ## New features or ## Improvements
  • Creates Linear tickets via GraphQL API with:
    • Title: [version] Feature Name
    • Description with changelog context
    • Due date 7 days from creation
    • Optional: assignee, project, and label

Required secrets

  • LINEAR_API_KEY - Linear API key
  • LINEAR_TEAM_ID - Team to create issues in

Optional secrets

  • LINEAR_ASSIGNEE_ID - Auto-assign tickets
  • LINEAR_PROJECT_ID - Add to a project
  • LINEAR_LABEL_ID - Apply a label

Automatically creates Linear tickets for new features when changelog is updated and merged to main.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@factory-droid
Copy link
Contributor

factory-droid bot commented Dec 29, 2025

Droid finished @factory-ben's task —— View job


Code Review Complete

Reviewed the new changelog-to-linear.yml workflow. Found 2 minor robustness concerns:

  1. Line 92: JSON.parse could fail without helpful error context if Linear returns non-JSON responses (rate limiting, server errors)
  2. Line 55: fs.readFileSync lacks existence validation for cleaner failure messages

Both are low-severity suggestions for improved error handling. Overall the workflow logic looks solid.

- Add file existence check before reading changelog
- Wrap JSON.parse in try-catch for Linear API responses

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@factory-ben factory-ben merged commit 551cebf into main Dec 29, 2025
1 check passed
@factory-ben factory-ben deleted the ci/changelog-to-linear branch December 29, 2025 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants