[PR #2467] [MERGED] feat(linear): add more Linear tools #2498

Closed
opened 2026-02-16 11:17:10 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-official-plugins/pull/2467
Author: @GareArc
Created: 1/22/2026
Status: Merged
Merged: 1/27/2026
Merged by: @GareArc

Base: mainHead: feature/linear-mcp-tools


📝 Commits (10+)

  • c8618a8 feat(linear): align tool coverage with MCP list/get endpoints
  • 622e579 chore(linear): bump plugin version to 0.0.2
  • 58be96e chore(linear): bump dify plugin sdk range
  • 5cd7160 fix(linear): remove sensitive data from log messages
  • ce9a340 fix(linear): prevent GraphQL injection by using query variables
  • 4324892 fix(linear): add comprehensive security hardening
  • 1210c6b Merge remote-tracking branch 'origin/main' into feature/linear-mcp-tools
  • c30de6c fix(linear): use typed filter variables for optional GraphQL filters
  • 039f07f chore(linear): remove unused legacy LinearClient
  • cee7041 refactor(linear): simplify duplicated fallback logic in get_user_issues

📊 Changes

34 files changed (+2440 additions, -633 deletions)

View changed files

📝 tools/linear/README.md (+94 -1)
📝 tools/linear/client/Linear.py (+224 -151)
📝 tools/linear/manifest.yaml (+1 -1)
📝 tools/linear/provider/linear.yaml (+11 -0)
📝 tools/linear/requirements.txt (+1 -1)
📝 tools/linear/tools/linear_add_comment.py (+64 -35)
tools/linear/tools/linear_client.py (+0 -146)
📝 tools/linear/tools/linear_create_issue.py (+93 -47)
tools/linear/tools/linear_get_document.py (+80 -0)
tools/linear/tools/linear_get_document.yaml (+39 -0)
tools/linear/tools/linear_get_issue.py (+105 -0)
tools/linear/tools/linear_get_issue.yaml (+39 -0)
tools/linear/tools/linear_get_project.py (+86 -0)
tools/linear/tools/linear_get_project.yaml (+39 -0)
tools/linear/tools/linear_get_team.py (+80 -0)
tools/linear/tools/linear_get_team.yaml (+39 -0)
📝 tools/linear/tools/linear_get_teams.py (+60 -47)
tools/linear/tools/linear_get_user.py (+80 -0)
tools/linear/tools/linear_get_user.yaml (+39 -0)
📝 tools/linear/tools/linear_get_user_issues.py (+122 -83)

...and 14 more files

📄 Description

Related Issues or Context

  • Context: Add more Linear tools (projects, cycles, documents, labels, statuses, issue/project/team/user/document get) and bump plugin version to 0.0.2.

This PR contains Changes to Non-Plugin

  • Documentation
  • Other

This PR contains Changes to Non-LLM Models Plugin

  • I have Run Comprehensive Tests Relevant to My Changes

This PR contains Changes to LLM Models Plugin

  • My Changes Affect Message Flow Handling (System Messages and User→Assistant Turn-Taking)
  • My Changes Affect Tool Interaction Flow (Multi-Round Usage and Output Handling, for both Agent App and Agent Node)
  • My Changes Affect Multimodal Input Handling (Images, PDFs, Audio, Video, etc.)
  • My Changes Affect Multimodal Output Generation (Images, Audio, Video, etc.)
  • My Changes Affect Structured Output Format (JSON, XML, etc.)
  • My Changes Affect Token Consumption Metrics
  • My Changes Affect Other LLM Functionalities (Reasoning Process, Grounding, Prompt Caching, etc.)
  • Other Changes (Add New Models, Fix Model Parameters etc.)

Version Control (Any Changes to the Plugin Will Require Bumping the Version)

  • I have Bumped Up the Version in Manifest.yaml (Top-Level Version Field, Not in Meta Section)

Dify Plugin SDK Version

  • I have Ensured dify_plugin>=0.3.0,<0.6.0 is in requirements.txt (SDK docs)

Environment Verification (If Any Code Changes)

Local Deployment Environment

  • Dify Version is: 1.11.2, I have Tested My Changes on Local Deployment Dify with a Clean Environment That Matches the Production Configuration.

SaaS Environment

  • I have Tested My Changes on cloud.dify.ai with a Clean Environment That Matches the Production Configuration

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langgenius/dify-official-plugins/pull/2467 **Author:** [@GareArc](https://github.com/GareArc) **Created:** 1/22/2026 **Status:** ✅ Merged **Merged:** 1/27/2026 **Merged by:** [@GareArc](https://github.com/GareArc) **Base:** `main` ← **Head:** `feature/linear-mcp-tools` --- ### 📝 Commits (10+) - [`c8618a8`](https://github.com/langgenius/dify-official-plugins/commit/c8618a8ede53f4c15a1f437ad193230e2fb10fb1) feat(linear): align tool coverage with MCP list/get endpoints - [`622e579`](https://github.com/langgenius/dify-official-plugins/commit/622e579f16678c640a672ccc3f1b47033890e3a4) chore(linear): bump plugin version to 0.0.2 - [`58be96e`](https://github.com/langgenius/dify-official-plugins/commit/58be96efe3443db5fc99d40526832b212d9f8695) chore(linear): bump dify plugin sdk range - [`5cd7160`](https://github.com/langgenius/dify-official-plugins/commit/5cd7160c5f5a7c05affc8c6a5d2f41d9a9063ed1) fix(linear): remove sensitive data from log messages - [`ce9a340`](https://github.com/langgenius/dify-official-plugins/commit/ce9a340bc11d9214ad70c113417fc57160718692) fix(linear): prevent GraphQL injection by using query variables - [`4324892`](https://github.com/langgenius/dify-official-plugins/commit/432489218aff2624c9beb194930c8fd180038834) fix(linear): add comprehensive security hardening - [`1210c6b`](https://github.com/langgenius/dify-official-plugins/commit/1210c6b469b3559b72566adb0adaf7b6e3065d14) Merge remote-tracking branch 'origin/main' into feature/linear-mcp-tools - [`c30de6c`](https://github.com/langgenius/dify-official-plugins/commit/c30de6c2ba4f170c617ce2f75cf96fc377db4fba) fix(linear): use typed filter variables for optional GraphQL filters - [`039f07f`](https://github.com/langgenius/dify-official-plugins/commit/039f07f94eedb205784e8a11033e9744a0f6a96c) chore(linear): remove unused legacy LinearClient - [`cee7041`](https://github.com/langgenius/dify-official-plugins/commit/cee7041eb9e4db1378703e11f55c6ba637a0baef) refactor(linear): simplify duplicated fallback logic in get_user_issues ### 📊 Changes **34 files changed** (+2440 additions, -633 deletions) <details> <summary>View changed files</summary> 📝 `tools/linear/README.md` (+94 -1) 📝 `tools/linear/client/Linear.py` (+224 -151) 📝 `tools/linear/manifest.yaml` (+1 -1) 📝 `tools/linear/provider/linear.yaml` (+11 -0) 📝 `tools/linear/requirements.txt` (+1 -1) 📝 `tools/linear/tools/linear_add_comment.py` (+64 -35) ➖ `tools/linear/tools/linear_client.py` (+0 -146) 📝 `tools/linear/tools/linear_create_issue.py` (+93 -47) ➕ `tools/linear/tools/linear_get_document.py` (+80 -0) ➕ `tools/linear/tools/linear_get_document.yaml` (+39 -0) ➕ `tools/linear/tools/linear_get_issue.py` (+105 -0) ➕ `tools/linear/tools/linear_get_issue.yaml` (+39 -0) ➕ `tools/linear/tools/linear_get_project.py` (+86 -0) ➕ `tools/linear/tools/linear_get_project.yaml` (+39 -0) ➕ `tools/linear/tools/linear_get_team.py` (+80 -0) ➕ `tools/linear/tools/linear_get_team.yaml` (+39 -0) 📝 `tools/linear/tools/linear_get_teams.py` (+60 -47) ➕ `tools/linear/tools/linear_get_user.py` (+80 -0) ➕ `tools/linear/tools/linear_get_user.yaml` (+39 -0) 📝 `tools/linear/tools/linear_get_user_issues.py` (+122 -83) _...and 14 more files_ </details> ### 📄 Description ## Related Issues or Context <!-- ⚠️ NOTE: This repository is for Dify Official Plugins only. For community contributions, please submit to https://github.com/langgenius/dify-plugins instead. - Link Related Issues if Applicable: #issue_number - Or Provide Context about Why this Change is Needed --> - Context: Add more Linear tools (projects, cycles, documents, labels, statuses, issue/project/team/user/document get) and bump plugin version to 0.0.2. ## This PR contains Changes to *Non-Plugin* <!-- Put an `x` in all the boxes that apply by replacing [ ] with [x] For example: - [x] Documentation --> - [ ] Documentation - [ ] Other ## This PR contains Changes to *Non-LLM Models Plugin* - [x] I have Run Comprehensive Tests Relevant to My Changes <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> ## This PR contains Changes to *LLM Models Plugin* <!-- LLM Models Test Example: --> <!-- https://github.com/langgenius/dify-official-plugins/blob/main/.assets/test-examples/llm-plugin-tests/llm_test_example.md --> - [ ] My Changes Affect Message Flow Handling (System Messages and User→Assistant Turn-Taking) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Tool Interaction Flow (Multi-Round Usage and Output Handling, for both Agent App and Agent Node) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Multimodal Input Handling (Images, PDFs, Audio, Video, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Multimodal Output Generation (Images, Audio, Video, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Structured Output Format (JSON, XML, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Token Consumption Metrics <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Other LLM Functionalities (Reasoning Process, Grounding, Prompt Caching, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] Other Changes (Add New Models, Fix Model Parameters etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> ## Version Control (Any Changes to the Plugin Will Require Bumping the Version) - [x] I have Bumped Up the Version in Manifest.yaml (Top-Level `Version` Field, Not in Meta Section) <!-- ⚠️ NOTE: Version Format: MAJOR.MINOR.PATCH - MAJOR (0.x.x): Reserved for Significant architectural changes or incompatible API modifications - MINOR (x.0.x): For New feature additions while maintaining backward compatibility - PATCH (x.x.0): For Backward-compatible bug fixes and minor improvements - Note: Each Version Component (MAJOR, MINOR, PATCH) Can Be 2 Digits, e.g., 10.11.22 --> ## Dify Plugin SDK Version - [x] I have Ensured `dify_plugin>=0.3.0,<0.6.0` is in requirements.txt ([SDK docs](https://github.com/langgenius/dify-plugin-sdks/blob/main/python/README.md)) ## Environment Verification (If Any Code Changes) <!-- ⚠️ NOTE: At Least One Environment Must Be Tested. --> ### Local Deployment Environment - [x] Dify Version is: `1.11.2`, I have Tested My Changes on Local Deployment Dify with a Clean Environment That Matches the Production Configuration. <!-- - Python Virtual Env Matching Manifest.yaml & requirements.txt - No Breaking Changes in Dify That May Affect the Testing Result --> ### SaaS Environment - [ ] I have Tested My Changes on cloud.dify.ai with a Clean Environment That Matches the Production Configuration <!-- - Python Virtual Env Matching Manifest.yaml & requirements.txt --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-16 11:17:10 -05:00
yindo closed this issue 2026-02-16 11:17:10 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-official-plugins#2498