Cross-project issues best practise (OD-1909)
sinb-dev opened 2 years ago

Thanks for this awesome software.

I have 4 projects. One parent with three child projects. One child is private.

Main project contains

  • UI which is public and contains submodule to Library project
  • Library which is public
  • Api which is private and contains submodule to Library project

What is best practise in order to manage issues when considering

  • What project to create issues in?
  • Commits should be linked with issues
  • Non technical users should be able to create an issue either using help desk or creating them in the web interface. They don't know what project to create the issue in
  • Some issues require commits in both UI and Library project.

The options I can so far are

  • Manage issues on main project though the API project is private.
  • Sync issues between children an main creating a lot of "duplicate issues"?

Maybe there's a third option I haven't considered

  • sinb-dev changed title 2 years ago
    Previous Value Current Value
    Crossproject linking issues
    Cross-project issues best practise
  • Robin Shen commented 2 years ago

    I'd suggest to put all issues in main project. OneDev has no problem linking issues in parent project in commits of child projects. Also latest OneDev version allows to define a short project key, so that issue referencing from other projects can be done via a short issue key: (check https://onedev.io/blogs/7 for details)

  • sinb-dev changed state to 'Closed' 2 years ago
    Previous Value Current Value
    Open
    Closed
  • sinb-dev commented 2 years ago

    Closing. I was surprised that cross-project linking was not available. It felt like it would make sense if it was. Thank you for your reply.

  • Robin Shen commented 2 years ago

    I was surprised that cross-project linking was not available

    What do you mean for cross-project linking? Commits can reference issues created in other projects without any problems.

  • sinb-dev commented 2 years ago

    Coming from Azure DevOps, I thought it made sense to have have User stories / Epics in my main project and link them to issues in the child projects. As a product owner I thought could then create a User story "User sends diagnostics data to api, so that developer can...." in a main project. From here I could then manage the user story by being linked to two issues - one in the private backend project and another issue in a public frontend project.

    I think my reasoning came from being used to another devops system. One where I only worked with a single repository with everything in it. I just had to realign with OneDev.io and working with multiple projects/repositories

    In order words I'm fine with the best practise suggestion you offered. Commits to child projects will be visible in the main project issue if I tag the commits with the issue key and number. This is fine.

    However I think project managers and product owners will probably lean towards DevOps like Azure or Jira. As a product owner I would, but as a open source developer I lean towards OneDev.io and I'm going to spend more time programming than organizing work items.

  • Robin Shen commented 2 years ago

    Thanks for the elaboration. This is totally possible in OneDev. Issue types, fields and links are fully customizable. You may configure an issue type "Epic" and add epics in main project, and link with other issues defined in child projects. For details of how issue links work, please check this tutorial.

    OneDev designs to be flexible, and you may choose the way you feel most comfortable, whether split work in multiple projects, or put them in a single project.

  • Robin Shen commented 2 years ago

    Want to mention that when link to issues in other projects in an issue, the project part of issue reference needs to be specified, for instance main/ui#100, or simply UI-100 if you specified project key as UI for main/ui.

  • sinb-dev commented 2 years ago

    Yeah, that works. Following the guide and creating an "Epic" (DUV-8) issue in parent project and a "User story" in a child project. I can definitely link those together if I write the User story issue manually. It didn't seem to suggest it before I wrote it "UI-19" in the parent project

    I think this is very powerful. I also teach programming (and the surrounding aspects like agile, Linux and server hosting). My students usually rely on GitHub, but GitHub is confusing (and bloated compared to this). OneDev seems straight to the point with both Git and CI/CD, and they can set one up themselves and play around with it with discretely and comfortably. I noticed you been asking for testimonials - I might submit one when I've become more familiar with it.

  • Robin Shen commented 2 years ago

    Thanks for willing to provide testimonials. That will be very helpful.

    As to link issue suggestion, by default, it only suggests issues in current project. However when you input key of other projects, for instance UI-, OneDev will then start to suggest issues in that project, and you can continue to type part of issue title to filter the results.

  • wojtek commented 2 years ago

    Want to mention that when link to issues in other projects in an issue, the project part of issue reference needs to be specified, for instance main/ui#100, or simply UI-100 if you specified project key as UI for main/ui.

    Sorry for hijacking the issue but I have a question for it (more towards using IDs for in cross-project commits). I assume that the reference is the one displayed in the issue sidebar (In this case it's quite simple as "OD-1909" but it can have parent project). But - the address of the issue is https://code.onedev.io/onedev/server/~issues/1909 (notice only number 1909) but reference and in the top breadcrumb we also have reference including OD- prefix. How is this prefix configured? The project name is server with parent onedev (thus onedev/server/).

    I assume this was introduced in OD-1883 ?

  • sinb-dev commented 2 years ago

    Hello The prefix is configured by heading to General Settings of a project. Enter at least two letters in the Key box right below the required project name. It's the second textbox in the General settings.

issue 1/1
Type
Question
Priority
Minor
Assignee
Labels
No labels
Issue Votes (0)
Watchers (3)
Reference
OD-1909
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover