”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > Jira、Linear 和 Asana 的笔源替代品

Jira、Linear 和 Asana 的笔源替代品

发布于2024-11-04
浏览:950

pen-source alternatives to Jira, Linear and Asana

像 Jira 这样的项目管理工具在软件开发中是必不可少的,但通常不受欢迎。这些工具可能会通过强制执行严格的流程来阻碍开发人员。尽管混乱,Jira 的高水平定制性使其在各行业中广受欢迎。

虽然定制是关键优势,但可以通过开源解决方案更有效地实施。

考虑到这一点,我编制了一份开源项目管理和问题跟踪工具列表,以帮助您找到最适合您需求的工具。

  1. Tegon - Linear、Jira 的开发优先开源替代品
  2. Taiga - 开源项目管理工具
  3. OpenProject - 团队的开源项目管理
  4. Huly - 一体化项目管理平台
  5. Plane - 释放客户价值的开源项目管理

请随意加注星标并为存储库做出贡献。


1. Tegon:Linear、Jira 的开发优先开源替代品

我使用过无数的项目管理工具,但从未对它们提供的用户体验或功能完全满意。

Tegon 的情况并非如此。它简单、轻量,旨在通过其强大的 Tegon Actions 框架处理复杂的工作流程,该框架可自动执行问题跟踪中的重复任务。以下是一些示例:

  • 创建问题时自动分配标签
  • PR 打开后立即生成 PR 审查的子问题
  • 使用 ? 直接从 Slack 创建问题表情符号
  • 将已完成问题的每周摘要和变更日志发送到 Slack

Tegon 还使用人工智能根据描述建议问题标题,并识别待办事项中的重复问题。

此外,Tegon 还充当全渠道错误报告工具,允许用户从多个来源自动创建错误,例如 Slack、Email、Discord、Zendesk 甚至 WhatsApp。

Tegon 入门:

第 1 步 - 在您的工作站上安装 Docker(请参阅说明)。确保您使用的是最新版本的 docker-compose。

第 2 步 - 在终端中运行以下命令:

git clone https://github.com/tegonhq/docker.git
cd docker

第 3 步 - 创建 .env 文件

cp .env.example .env

第 4 步 - 运行启动脚本并按照提示进行操作,它们会为您处理启动脚本设置 trigger.dev 和设置 tegon 的 2 个主要步骤。

./start.sh

第 5 步 - 您现在可以在 http://localhost:8000 检查 tegon

有关更多信息,请访问官方文档及其网站。

为 Tegon 存储库加注星标 ⭐


2. Taiga - 开源项目管理工具

Taiga 本地托管选项非常适合需要在自己的服务器上拥有所有数据和/或想要自定义 Taiga 的大型团队或多个小型团队:

  • 易于更新
  • 您选择的社区贡献
  • 已翻译为超过 20 种语言
  • 自定义您的安装
  • 无与伦比的安全性和控制

Taiga的发行模型有3个主要特点:

  • 高度灵活:问题模块可以独立使用,也可以与 Scrum 和看板一起使用,因其多功能性而成为团队的热门选择。

  • 可定制且高效:提供强大的过滤、排序和定制选项(例如问题类型、严重性和优先级),以简化工作流程并改进任务管理。

  • 与其他模块集成:问题可以提升到用户故事或看板卡,并且可以链接到冲刺以获得更集中的项目管理体验。

Taiga 入门:

第 1 步:克隆存储库

$ cd taiga-docker/
$ git checkout stable

第 2 步 - 启动应用程序

$ ./launch-all.sh

第 3 步 - 稍后,当应用程序启动时,您可以使用以下脚本继续创建超级用户:

$ ./taiga-manage.sh createsuperuser

第 4 步 - taiga-manage.sh 脚本允许在后台实例上启动 manage.py 命令:

$ ./taiga-manage.sh [COMMAND]

如果您在自己的机器上测试它,您可以通过 http://localhost:9000 访问该应用程序

您可以查看他们的文档以了解更多详细信息

为 Taiga 存储库加注星标 ⭐


3. OpenProject - 团队的开源项目管理

OpenProject 是一个基于网络的项目管理软件。其主要特点是:

  • 项目规划和调度
  • 产品路线图和发布规划
  • 任务管理和团队协作
  • 敏捷和 Scrum
  • 时间跟踪、成本报告和预算
  • 错误跟踪
  • 维基
  • 论坛
  • 会议议程和会议纪要

OpenProject 设计和功能与 Jira 类似,我注意到的关键不同之处在于它有多种任务类型 [阶段、里程碑、任务]
与 Jira 中的[史诗、故事、任务、错误]

查看他们的文档以获取有关托管的详细指南

为 OpenProject 存储库加注星标 ⭐


4. Huly - 一体化项目管理平台

Huly 是一个开源平台,可作为 Linear、Jira、Slack 和 Notion 的一体化替代品。

它通过将项目管理、知识库和通信工具整合到一个平台中,解决了创建超级应用程序的艰巨挑战。

Huly 中的文档可用于在团队成员之间共享参考资料、协作制定计划和路线图、存储会议记录和分配行动项目。Huly 中的文档可用于在团队成员之间共享参考资料、协作制定计划和路线图、存储会议记录并分配操作项

Huly 入门

第 1 步 - 安装 nginx 和 docker

$ sudo apt update
$ sudo apt install nginx
$ sudo snap install docker

第 2 步 - 克隆 huly-selfhost 存储库并配置 nginx

接下来,让我们克隆 huly-selfhost 存储库并配置服务器地址。请将 x.y.z.w 替换为您服务器的 IP 地址。

$ git clone https://github.com/hcengineering/huly-selfhost.git
$ cd huly-selfhost
$ ./setup.sh x.y.z.w # Replace x.y.z.w with your server's IP address
$ sudo ln -s $(pwd)/nginx.conf /etc/nginx/sites-enabled/

现在我们准备运行 Huly
最后,让我们重新启动 nginx 并使用 docker compose 运行 Huly。

$ sudo systemctl restart nginx
$ sudo docker compose up

现在,启动您的网络浏览器并享受 Huly!

为 Huly 存储库加注星标 ⭐


5. Plane——释放客户价值的开源项目管理

Plane 是一款开源项目管理工具,旨在跟踪问题、运行冲刺周期和管理产品路线图,而无需管理工具本身的复杂性。

它遵循与 ClickUp 类似的方法,旨在成为从文档到问题跟踪的所有内容的单一解决方案,全部在一个应用程序中。

飞机入门:

第 1 步 - 设置 Docker 环境

curl -fsSL https://get.docker.com | sh -

第 2 步 - 下载最新稳定版本

mkdirplane-selfhost

cd 平面-selfhost

curl -fsSL -o setup.sh https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/install.sh

chmod  x setup.sh

为飞机存储库加注星标 ⭐

版本声明 本文转载于:https://dev.to/tegonhq/5-open-source-tools-that-are-alternatives-of-jira-linear-and-asana-2no6?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • PDOStatement::bindParam() 中的前导冒号真的是可选的吗?
    PDOStatement::bindParam() 中的前导冒号真的是可选的吗?
    PDOStatement::bindParam() 中参数名称的前导冒号是否真的可选?PDOStatement::bindParam() 允许您使用占位符(例如:name)在查询中指定命名参数。文档指出命名占位符的参数标识符应使用格式:name。然而,据观察,:name 和 name 似乎都可以使用...
    编程 发布于2024-11-17
  • 如何在 JavaScript 中实现稳定排序以在排序过程中保持元素顺序?
    如何在 JavaScript 中实现稳定排序以在排序过程中保持元素顺序?
    JavaScript中的稳定排序目标:基于键对对象数组进行高效排序,保持一致性和稳定性。算法推荐: 虽然存在许多排序算法,但为了满足您对稳定性的特定需求,请考虑实现非稳定排序算法,如 QuickSort 或 MergeSort。稳定排序技术:为了确保稳定性,请在排序比较函数中添加一个附加条件。具体来...
    编程 发布于2024-11-17
  • 掌握复合组件:构建灵活且可重用的 React 组件
    掌握复合组件:构建灵活且可重用的 React 组件
    介绍 React 世界中非常有用且全面的东西是它的设计模式,因为它们有助于保持代码的可扩展性并为我们创建的组件添加意义。 有多种模式,在本文中我们将讨论复合组件,这是一种高级模式,对于创建灵活的复合接口特别有用。 什么是复合组件? 复合组件是 React 中的一种高...
    编程 发布于2024-11-17
  • 如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    MySQL配置不正确:相对路径的问题在Django中运行python manage.py runserver时,可能会遇到以下错误:ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-...
    编程 发布于2024-11-17
  • ## 双波形符运算符 (~~) 在 JavaScript 中有何作用?
    ## 双波形符运算符 (~~) 在 JavaScript 中有何作用?
    JavaScript 中的双波浪号运算符 (~~)在 JavaScript 中,~~ 运算符是一个类型强制运算符,它会删除 后面的所有内容数字的小数点。这与 ~ 运算符不同,~ 运算符是按位 NOT 运算符,可反转值的位。操作 运算符的工作原理是首先将其值转换为操作数为有符号 32 位整数。这意味着...
    编程 发布于2024-11-17
  • 如何在 Python 中执行模糊字符串比较?
    如何在 Python 中执行模糊字符串比较?
    Python 中的模糊字符串比较:有效模块在处理字符串中的潜在变化和错误时,需要进行模糊字符串比较。为这项任务找到合适的 Python 模块至关重要。这个问题寻求一个可以提供相似性百分比的模块,允许各种比较选项。 difflib: A Versatile Tool for Fuzzy Compari...
    编程 发布于2024-11-17
  • 如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
    如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
    在 PHP 中组合关联数组在 PHP 中,将两个关联数组组合成一个数组是一项常见任务。考虑以下请求:问题描述:提供的代码定义了两个关联数组,$array1和$array2。目标是创建一个新数组 $array3,它合并两个数组中的所有键值对。 此外,提供的数组具有唯一的 ID,而名称可能重合。要求是构...
    编程 发布于2024-11-17
  • 如何设置 Go 测试的工作目录?
    如何设置 Go 测试的工作目录?
    Go 测试中的工作目录在 Go 中,通常将配置文件放置在工作目录中并在代码中引用它们。但是,如果测试环境与生产环境不匹配,单元测试可能无法找到这些文件。要为 Go 测试指定工作目录,请探索以下解决方案:考虑使用运行时包中的 Caller 函数。调用者获取当前的测试源文件并返回其路径。该路径可用于设置...
    编程 发布于2024-11-17
  • 如何转义 PHP 正则表达式中的反斜杠?
    如何转义 PHP 正则表达式中的反斜杠?
    在 PHP 正则表达式中转义反斜杠要在 PHP 正则表达式模式中转义反斜杠,可以使用三个反斜杠 (\\ ) 或四个反斜杠 (\\\\)。虽然这两个选项都会产生成功的匹配,但它们的解释和用法存在细微差别。测试用例:考虑以下测试用例:// TEST 01: (3 backslashes) $patter...
    编程 发布于2024-11-17
  • 如何在 Python 中用逗号连接字符串:哪种方法最好?
    如何在 Python 中用逗号连接字符串:哪种方法最好?
    用逗号连接字符串:简洁的解决方案要连接列表中的字符串,在每对之间添加逗号,可以使用多种方法。一种流行的技术涉及将 ''.join() 函数与 lambda 函数 map() 结合使用。以下方法演示了此技术:result = ','.join(map(lambda x: x ','...
    编程 发布于2024-11-17
  • 在 Go 中使用 WebSocket 进行实时通信
    在 Go 中使用 WebSocket 进行实时通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    编程 发布于2024-11-17
  • 如何使用 Java 安全加密配置文件中的密码?
    如何使用 Java 安全加密配置文件中的密码?
    如何安全地加密配置文件中的密码加密配置文件中存储的密码对于保护敏感数据和防止未经授权的访问至关重要。使用Java 中基于密码的加密 (PBE)加密和解密密码的一种简单而有效的方法是利用 Java 的基于密码的加密 (PBE)。 PBE 允许您使用安全算法从密码中派生密钥,例如 PBKDF2WithH...
    编程 发布于2024-11-17
  • 如何在 PHP 中正确读取文本文件中的行并将其存储在数组中?
    如何在 PHP 中正确读取文本文件中的行并将其存储在数组中?
    访问数组中的文本行在编程中处理文本文件时,通常需要将每行文本存储在一个有组织的文件中用于进一步处理的数据结构。在提供的 PHP 代码片段中:$file = fopen("members.txt", "r"); while (!feof($file)) { ...
    编程 发布于2024-11-17
  • DockerMake 如何将多个 Docker 镜像合并为一个统一镜像?
    DockerMake 如何将多个 Docker 镜像合并为一个统一镜像?
    Docker 镜像组合:将多个镜像合并到一个层中将多个 Docker 镜像组合成一个统一的镜像是 Docker 本身不支持的功能。然而,由开源贡献者开发的 DockerMake 工具提供了一个解决方案来满足这一需求。DockerMake 使用 YAML 配置文件来定义目标镜像的组成。该文件指定构成最...
    编程 发布于2024-11-17
  • 大批
    大批
    方法是可以在对象上调用的 fns 数组是对象,因此它们在 JS 中也有方法。 slice(begin):将数组的一部分提取到新数组中,而不改变原始数组。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index p...
    编程 发布于2024-11-17

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3