ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ToolJet Jira 数据源接入指南:连接配置、支持资源与操作详解

ToolJet Jira 数据源接入指南:连接配置、支持资源与操作详解 ToolJet Jira 数据源接入指南连接配置、支持资源与操作详解【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJetToolJet 提供官方的 Jira 市场插件让你可以在内部工具、仪表盘和业务应用中直接连接 Jira 实例完成问题Issue、用户User、工时日志Worklog与看板Board的读取和写入操作。本文以官方文档为骨架结合插件源码marketplace/plugins/jira说明连接参数、14 种操作的完整用法与参数示例帮助你在 ToolJet 查询面板中快速搭建 Jira 数据查询。插件概览ToolJet 的 Jira 插件以市场插件Marketplace Plugin的形式独立存在于仓库中目录为 marketplace/plugins/jira核心组成如下lib/index.ts插件入口实现QueryService接口负责建立连接、分发查询与测试连接lib/jira-client.ts基于jira.js封装的 Jira 客户端聚合了 Agile 看板与 Version 3 的 Issue、User、Worklog 等 API 模块lib/query_operations.ts将 UI 表单参数映射为对应 Jira REST API 调用的核心逻辑lib/manifest.json定义数据源连接表单URL、Email、Token 字段及认证方式lib/operations.json定义查询面板中资源、操作及每个参数的标签、类型与占位提示。从manifest.json可以看到该数据源采用Basicpersonal access token认证方式Token 字段标记为encrypted: true在存储与展示时会被加密处理。建立 Jira 数据源连接在 ToolJet 中连接 Jira 数据源有两种入口在编辑器底部的查询面板中点击 Add new data source按钮选择 Jira在 ToolJet 仪表盘导航到Data Sources页面进行添加。连接 Jira 实例需要填写以下三项信息字段说明示例URL你的 Jira 实例地址https://your-domain.atlassian.netEmailJira 账户邮箱youcompany.comTokenJira API Token个人访问令牌xxxxxxxxxxxxxxxx提示API Token 可在 Jira 账户的Manage account Security API Tokens中生成。从 lib/index.ts 的getConnection方法可以看到插件使用email作为 Basic 认证的用户名、personal_token作为密码配合url构造jira.js客户端。testConnection方法则调用client.myself.getCurrentUser()验证凭据有效性lib/index.ts即点击“测试连接”会拉取当前登录用户信息来确认配置无误。创建 Jira 查询连接建立后按以下步骤发起查询点击编辑器底部查询管理器中的按钮选择已添加的 Jira 数据源选择要操作的资源Resource与操作Operation填写对应参数运行查询即可在结果面板中查看返回数据。提示查询结果可以通过 ToolJet 的转换Transformations功能进行二次加工例如筛选字段、格式化数据后再绑定到组件。从源码层面看一次查询的执行链路如下lib/index.tsrun()根据queryOptions.resource分发到issueResource、userResource、worklogResource或boardResource各*Resource函数再根据operation字段调用具体的 API 方法lib/query_operations.ts成功时返回{ status: ok, data: res }失败时抛出QueryError错误响应中会附带 Jira 返回的statusCode与response.data便于排查。支持的操作一览ToolJet Jira 插件共支持 4 类资源、14 种操作Issue问题Get Issue获取指定问题详情Create Issue创建新问题Delete Issue删除问题Assign Issue将问题指派给用户Edit Issue编辑问题字段User用户Get User获取用户详情Find Users by Query按查询条件搜索用户Find Assignable Users查找可指派用户Worklog工时日志Get Issue Worklogs获取问题的工时日志Add Worklog添加工时记录Delete Worklog删除工时记录Board看板Get Issues for Backlog获取看板待办列表中的问题Get All Boards获取用户可见的所有看板Get Issues for Board获取指定看板上的问题Issue 操作Get Issue获取指定 Jira 问题的详细信息。参数Issue key要获取的问题的 key 或 idParams/Body附加参数如要返回的字段fields、展开选项expand等。示例Issue Key: 10001 Params/Body: { fields: summary,description,created, expand: renderedFields,names }源码实现对应client.issues.getIssue()lib/query_operations.tsParams/Body的内容会以 JSON5 解析后展开为请求参数returnObject函数处理支持字符串形式的 JSON 输入。operations.json中get_issue的 placeholder 还提示expand可支持renderedFields, names, schema, transitions, operations, editmeta, changelog, versionedRepresentations等取值updateHistory、properties也可作为附加字段传入。Create Issue创建一个新的 Jira 问题。参数Params/Body要创建的问题详情。示例Params/Body: { fields: { project: { key: SCRUM }, summary: A particular bug needs to be fixed., description: The XYZ feature is not working as expected., issuetype: { name: Bug }, assignee: { accountId: 712020:4581444c-054e-41d8-90ed-6d1d849557f7 }, labels: [ bug, urgent ] } }创建问题时fields至少需要包含project.key、summary与issuetype.name。实现上对应client.issues.createIssue()lib/query_operations.ts整个 body 由Params/Body传入。利用 ToolJet 的变量插值你可以把表单组件的值动态写入 summary、description例如{{components.form.data.summary}}。Delete Issue删除指定的 Jira 问题。参数Issue key要删除的问题的 key 或 idDelete subtasks是否同时删除该问题的子任务取值为Yes或No。示例Issue Key: 10001 Delete Subtasks: Yes // Can be Yes or No源码中Delete Subtasks为Yes时deleteSubtasks会被置为truelib/query_operations.ts删除成功后返回如The issue 10001 and its subtasks have been deleted.的成功消息。Assign Issue将问题指派给指定用户。参数Issue key要指派的问题的 key 或 idAccount id被指派用户的账户 ID。示例Issue Key: 10001 Account id: 712020:4581444c-054e-41d8-90ed-6d1d849557f7实现上调用client.issues.assignIssue()lib/query_operations.ts。Jira 的accountId通常形如712020:4581444c-054e-41d8-90ed-6d1d849557f7可通过“Find users by query”等用户类操作获取。Edit Issue修改已有 Jira 问题的字段。参数Issue key要修改的问题的 key 或 idParams/Body要更新的字段及其新值。示例Issue Key: 10007 Params/Body: { fields: { summary: Updated issue summary, description: Updated issue description } }对应实现为client.issues.editIssue()lib/query_operations.tsbody 中的fields只包含需要变更的字段即可。operations.json中该操作的 placeholder 还展示了可同时更新assignee、reporter、labels等字段的完整示例。User 操作Get User获取指定 Jira 用户的详情。参数Account id要获取的用户的账户 IDExpand响应中额外包含的用户信息如groups、applicationRoles等。示例Account id: 5b10a2844c20165700ede21g Expand: groups,applicationRoles对应实现为client.users.getUser()lib/query_operations.ts。Find Users by Query基于查询条件搜索 Jira 用户。参数Query查询字符串匹配用户属性如名称、邮箱等Start at分页起始索引从 0 开始Max results每页返回的最大用户数。示例Query: is assignee of PROJ Start at: 1 Max results: 10对应实现为client.userSearch.findUsersByQuery()lib/query_operations.ts其中Start at与Max results会被转为数值类型再传给 API。operations.json中的占位提示为is assignee of {issue_key or project_key}这类 JQL 风格查询。Find Assignable Users查找可以被指派到问题上的用户。参数Query查询字符串匹配姓名、用户名或邮箱Account id指定用户用于查询某用户是否可指派Project key限定查询的项目 key 或 idIssue key限定查询的问题 key 或 idStart at分页起始索引Max results每页返回的最大用户数Action descriptor id用于过滤的动作描述符 IDRecommended是否只返回推荐用户Yes/No。注意Query 与 Account id 是互斥参数一次查询只能使用其中一个。示例Query: Mark // Search for users with Mark in their name, username, or email Account id: 5b10a2844c20165700ede21g Project key: PROJ Issue key: SCRUM-1 Start at: 1 Max results: 10 Action descriptor id: 12345 Recommended: Yes对应实现为client.userSearch.findAssignableUsers()lib/query_operations.ts其中Recommended: Yes会转换为布尔值true传给recommend参数。Worklog 操作Get Issue Worklogs获取指定问题下的工时日志。参数Issue key问题 key 或 idStart at分页起始索引Max results每页返回的最大工时日志数Started after只返回开始时间在此之后的工时日志值为毫秒级 UNIX 时间戳Started before只返回开始时间在此之前的工时日志值为毫秒级 UNIX 时间戳。示例Issue Key: SCRUM-1 Start at: 1 Max results: 10 Started after: 1626228754515 Started before: 1726228754515对应实现为client.issueWorklogs.getIssueWorklog()lib/query_operations.tsstarted_after、started_before同样会被转换为数值。毫秒时间戳可直接由 JS 表达式生成例如{{Date.now()}}。Add Worklog为问题添加一条工时记录。参数Issue key问题 key 或 idParams/Body工时记录详情。示例Issue Key: SCRUM-1 Params/Body: { comment: I did some work here., created: 2017-03-14T10:35:37.0970000, id: 100028, issueId: SCRUM-1, started: 2017-03-14T10:35:37.0970000, timeSpent: 3h 20m }对应实现为client.issueWorklogs.addWorklog()lib/query_operations.ts。核心字段为comment备注与timeSpent耗时支持3h 20m、1d等 Jira 时长格式started为开始时间 ISO 字符串created、id、issueId一般由 Jira 返回后可复用。Delete Worklog删除问题下的某条工时记录。参数Issue key工时记录所属问题的 key 或 idWorklog id要删除的工时记录 IDParams/Body附加参数如notifyUsers是否通知用户、adjustEstimate如何调整剩余估算如auto等。示例Issue Key: SCRUM-1 Worklog id: 100010 Params/Body: { notifyUsers: true, adjustEstimate: auto }对应实现为client.issueWorklogs.deleteWorklog()lib/query_operations.ts成功后返回The worklog with id 100010 has been deleted.的确认消息。Board 操作Get Issues for Backlog获取指定看板待办Backlog中的问题。参数Board id看板 IDStart at分页起始索引Max results每页返回的最大问题数Expand响应中额外包含的问题信息如changelog等Params/Body附加参数如要返回的字段列表fields。示例Board id: 1 Start at: 1 Max results: 10 Expand: changelog Params/Body: { fields: [summary, description, created], }对应实现为client.board.getIssuesForBacklog()lib/query_operations.ts。看板 ID 可通过下面的 “Get All Boards” 操作获取。Get All Boards获取当前用户可见的所有看板。参数Project key按项目限定看板范围Start at分页起始索引Name按名称搜索看板Max results每页返回的最大看板数Expand额外包含的看板信息如admins、permissions、favourite等。示例Project key: PROJ Start at: 1 Name: SCRUM Max results: 10 Expand: projects对应实现为client.board.getAllBoards()lib/query_operations.ts其中项目过滤参数名在源码中为projectKeyOrId名称过滤参数为name表单中对应的键为board_name。Get Issues for Board获取指定看板上的所有问题。参数Board id看板 IDStart at分页起始索引Max results每页返回的最大问题数Expand额外包含的问题信息Params/Body附加参数如字段列表fields。示例Board id: 1 Start at: 1 Max results: 10 Expand: changelog Params/Body: { fields: [summary, description, created], }对应实现为client.board.getIssuesForBoard()lib/query_operations.tsParams/Body同样会展开为请求参数。在应用中使用 Jira 查询结果Jira 查询返回的数据会暴露为查询变量的data与rawData见 manifest.json 中的exposedVariables你可以在组件中通过{{queries.queryName.data}}引用。典型用法包括用Table组件展示“Get Issues for Board”返回的问题列表用Form Create Issue组合实现“在内部工具中直接提交 Bug/需求”的录入流程用Dropdown多选绑定“Find Users by Query”的结果配合“Assign Issue”实现一键指派用“Add Worklog”配合耗时表单沉淀开发工时数据。再配合 ToolJet 的数据转换与查询间依赖触发即可将 Jira 数据无缝嵌入业务看板与自动化流程。小结本文完整覆盖了 ToolJet Jira 市场插件的连接配置与全部 14 种操作。关键要点回顾连接只需URL Email API Token三项凭据采用 Basic 认证并加密存储查询面板按Resource → Operation → 参数三级组织Params/Body类参数支持 JSON5 语法与 ToolJet 变量插值插件底层基于jira.jsIssue/User/Worklog/Board 四类 API 模块分别封装在 jira-client.ts 中各操作与 Jira REST API 一一对应分页参数Start at/Max results、时间参数Started after/Started before毫秒时间戳会被插件转换为数值后透传。如需查看插件的完整表单定义与参数占位提示可继续阅读 operations.json 与 manifest.json源码级调用细节见 query_operations.ts。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表