OneDev Documentation

website·Indexed 35 days ago

https://docs.onedev.io

Documentation for OneDev, a DevOps platform featuring project package management, CI/CD pipelines, and integrated workspaces. Includes guides for publishing Maven, PyPI, Cargo, RubyGems, and Helm packages, as well as security configurations for 2FA, SSO with Okta, and OAuth with Office365. Provides installation and upgrade instructions for bare metal, Docker, and Kubernetes environments.

Tokens
55.6K
Snippets
180
Records
381
Agent score
68%

What's inside OneDev

  1. Overview of OneDev Service Desk functionality

    The OneDev service desk enables customers to submit support tickets via email without requiring a OneDev account. Key features include:

    • Email-to-Issue Creation: Emails sent to project-specific addresses create issues in the corresponding project.
    • Email-Based Communication: Replies to notification emails are posted as issue comments, allowing discussions to happen entirely over email.
    • Automatic Watchlists: All recipients of the initial email are added to the ticket's watch list for activity notifications.
    • Content Handling: HTML content and attachments from emails are preserved in the web UI.
    • Threading: Emails are kept in a single thread to maintain context.
    • Confidentiality: Tickets are confidential by default (configurable via Issue Creation Settings).
  2. Overview of Groovy scripting in OneDev

    OneDev uses Groovy scripts to provide dynamic behavior for issue fields, job parameters, build spec inputs, and variable substitution. Reusable scripts are defined under Administration → Groovy Scripts and are referenced by name in other configurations. Scripts execute on the OneDev server and have access to server APIs such as OneDev.getInstance(...) and EditContext. The required return type for a script depends on its specific usage context, which is detailed in the UI description of the scripting option.
  3. Overview of OneDev Workspaces

    OneDev workspaces allow developers to review and write code directly on the server via a browser with full terminal access. They eliminate the need for local cloning or environment setup, allowing users to start a workspace from any branch, tag, or commit. Workspaces remain active even after the browser is closed.

    • Community Edition: Runs workspaces on the OneDev server using containers or shells.
    • Enterprise Edition: Supports workspace provisioners that run on agents or as Kubernetes pods to scale capacity and offload server resources.
  4. Interact with AI Users via Chat and Collaboration

    OneDev AI users can be utilized in two primary ways:

    1. Chat Interface: Accessible from anywhere in OneDev to ask questions, analyze code, summarize issue/PR comments, or edit CI/CD specifications.
    2. Issue and Pull Request Collaboration: AI users can be mentioned in discussions, assigned to issues, added as PR reviewers, or tasked with fixing failed builds and resolving merge conflicts on their own pull requests.
  5. Understand OneDev issue and pull request notification logic

    OneDev determines whether to send a notification for an Issue or Pull Request update by evaluating a list of saved queries in order from top to bottom. Once a match is found, OneDev stops iterating and applies the watch setting associated with that query:

    • Watch: Notification is sent for any activity on the issue.
    • Watch if involved: Notification is sent only if the user is actively watching the issue.
    • Do not watch: No notification is sent.

    Users can change the watch setting by clicking the circle next to the query name in the notification settings.

  6. Use TOD with OneDev Workspaces for zero-setup AI coding

    Official OneDev workspace images come pre-installed with TOD and its companion skills, pre-configured to communicate with the current OneDev instance. Users can immediately start using terminal agents (such as Codex, Claude Code, Cursor, or OpenCode) within the workspace to work on issues, pull requests, builds, or CI/CD specs without manual installation or configuration.
  7. Markdown syntax support in OneDev

    OneDev supports GitHub Flavored Markdown (GFM) as its primary markdown standard, with additional extensions for Mermaid charts, PlantUML diagrams, and KaTeX math equations.
  8. Interact with the OneDev AI user

    The AI user can be accessed via the chat interface at any time. The AI user is provided with tools based on the current page and context. Importantly, when chatting, the AI user operates using the current user's permissions; the specific access rules configured on the AI user account itself are bypassed.
  9. Ask questions about a codebase

    While browsing files, you can ask the AI user questions about the current codebase. Note that the AI relies on the codebase index to search code; if OneDev is still indexing the codebase, wait for the process to finish before asking questions to ensure accurate results.
  10. Understand OneDev Project hierarchy and paths

    A Project is the core organizational unit in OneDev used to hold code, issues, and builds. Projects are organized hierarchically to facilitate setting inheritance.

    Project Path Logic:

    • If a project has no parent, the path is simply the project name.
    • If a project has a parent, the path is <parent project path>/<project name>.

    Example: If projectA is the parent of projectB, and projectB is the parent of projectC, the project path for projectC is projectA/projectB/projectC.

  11. Implement High Availability and Horizontal Scaling with OneDev Clustering

    OneDev Enterprise edition supports clustering by allowing multiple OneDev servers to connect to the same database. This configuration automatically forms a cluster, enabling developers to distribute projects across different servers for horizontal scaling and replicate project repositories, artifacts, and packages to ensure high availability.
  12. Collaborate with an AI user on Issues and Pull Requests

    Once the AI user is configured with a workspace and permissions, it can perform the following tasks:

    • Issue Implementation: Assign issues to the AI user to implement work, open pull requests, respond to feedback, and fix merge conflicts or CI/CD failures.
    • PR Management: Add the AI user as a reviewer or assignee to review changes, request changes, and merge pull requests.
    • CI/CD Fixes: Configure CI/CD jobs to trigger the AI user to attempt an automatic fix when a build fails.
    • Direct Interaction: Mention the AI user in issue or pull request comments to request work, ask questions, or request plans.