Giter Club home page Giter Club logo

ontrack's People

Contributors

davidcadanneels avatar dcoraboeuf avatar flesire avatar jonbrohauge avatar pavelerofeevcollibra avatar sansguidon avatar skiant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ontrack's Issues

Branch templating

As a project owner, I want my branches to be created automatically according to a template.

The branches could be sync manually or automatically.

  • Wiki documentation for the templating of branches
  • Branch decorations
  • Model for the templating (impact on the branch model itself)
  • A SCM branch name given by the sync. source cannot be used directly for creating the name of a branch since naming conventions can be different. The name of the ontrack branch must be normalised.
  • Listing the branches (Git) - see git ls-remote
  • Listing the branches (Svn)
  • Template expression engine
  • Sandbox for the expression engine (other issue)
  • Model for the templating synchronisation
  • Specific function for the creation of a template definition
  • Cannot get a template definition from a branch that contains builds
  • Generic template engine (for recursion over the branch and its components)
  • Creation of a template definition
  • Template instance type
  • Template definition cannot be enabled (see for a dynamic computation of the state of a branch)
  • Decorations of template branches
  • Simple creation of a template instance from a definition
  • A template instance cannot be updated. Not changing anything here, a template instance can be edited, but any change might be overridden by a new synchronisation
  • Displays a report about the manual synchronisation
  • Reports synchronisation events through the event service
  • On sync, take into account the linked instances that are now outside of the sync list (absence policy)
  • Decorations of template instances
  • A template instance can be disconnected from its definition - it becomes then a normal branch. Note that we cannot just remove the template instance record ; this would just make the instance recreated again at the next synchronisation It is enough to delete the template instance record, any synchronisation will not erase this branch - it will just be marked as not being able to be updated and should be be marked as excluded by the synchronisation definition.
  • Creation of a template synchronisation
  • When updating the template definition, resync automatically Not needed, the resync can be done either manually or at the next schedule
  • GUI - being able to remove a parameter
  • GUI - no manual mode when no parameter

ACL project management

Allows authorised users to manage the authorisations of groups and users in each project.

Warning about issues which have commits beyond a SVN change log

When displaying the issues for a SVN change log, detects the issues which have revisions beyond the range the change log.

If the issue status is not Closed, this is an anomaly.

This kind of validation must be generic enough is order to be parameterised.

Filter on build names

Create a build filter on names:

  • build name regular expression
  • optional promotion level
  • do we keep the first build that does not comply?

This can be useful for getting the change log between two versions.

Extension to synchronise the builds with Artifactory

An extension could be configured at branch and/or project level to synchronise the builds of a branch with the builds found in Artifactory.

There should be a configuration (like for SVN or JIRA) that holds the URL and the credentials to access Artifactory.

A branch or project level, a configuration can be added with the following parameters:

  • the build name
  • the synchonisation schedule (number of minutes)

For each sync session, we must fetch the builds and check their promotion level (status in Artifactory) and create the associated promoted run if needed.

Copying configuration from another project/branch

As a project owner or administrator, I should be able to copy (and override, and/or replace) promotion levels from another project or branch.

This is of course restricted by visibility.

The same procedure can be applied for the other data of branches:

  • validation stamps.
  • properties
  • user filters

Cannot display the version

When clicking on the version link, we get the following error:

Error: [$injector:unpr] Unknown provider: aProvider <- a

It is likely an error in the ngmin task. Think about using ng-annotate (olov/ng-annotate) instead.

Events

Events are associated to some actions, like creating a branch or promoting a build, and are displayed on the associated pages.

Events visibility is associated to the corresponding rights, typically the right to view a project.

  • Event repository: saving
  • Event repository: querying & filtering
  • Navigation in event list
  • Auto refresh for event lists
  • List of events per page
  • All types of events
    • Structure events
    • Property changes events

Cannot search on JIRA tickets when having GitHub enabled repositories

java.lang.NumberFormatException: For input string: "ITEACH-14"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at net.nemerosa.ontrack.extension.github.GitHubIssueServiceExtension.getIssueId(GitHubIssueServiceExtension.java:119)
    at net.nemerosa.ontrack.extension.github.GitHubIssueServiceExtension.containsIssueKey(GitHubIssueServiceExtension.java:126)
    at net.nemerosa.ontrack.extension.issues.model.ConfiguredIssueService.containsIssueKey(ConfiguredIssueService.java:53)
    at net.nemerosa.ontrack.extension.git.GitIssueSearchExtension$GitIssueSearchProvider.scanIssue(GitIssueSearchExtension.java:130)

The containsIssueKey must be able to filter out non-GitHub keys.

Disabling projects and branches

Authorised people could disable/enable projects and branches.

What has to be defined:

  • which levels of authorisations?
  • how to show the disabled projects and branches (option in the tool menu on the home or project page)?

Loading indicator for AJAX calls

I want to have somewhere on the page (logo?) and indicator that shows that something is happening, linked to AJAX calls.

Some calls, like getting the application info, etc., should be able to disable this.

Exporting the change log

Given a branch and two build names, I want to get the change log as HTML in order to automate the change log generation.

It should be possible to configure the grouping of issues by type or label. Since this depends heavily on the issue service (GitHub, JIRA...), see what can be done.

Synchronisation of builds with Subversion tags

In a SVN-configured branch, one can generate builds based on tag names found in Subversion.

There must be an option to override or not the existing build tags.

Note that the same option exists for Git (v1).

The synchronisation can be launched on demand or executed regularly using an interval in minutes.

The synchronisation is configured through two extensions:

  • a property extension at branch level to define the setup of the synchronisation (override settings, interval). This can be done only if the branch is configured correctly with SVN
  • an action extension at branch level to launch the synchronisation manually

Branch switch

On the branch page, have a dropdown that allows the user to switch between all the branches of the same project.

Validation runs on the validation stamp page

On the validation stamp page, display the history of the validation runs. Note that there may be several runs for a same build, and that the same run can have several statuses.

API documentation

Having a way to generate the documentation of the ontrack REST API, either dynamically or statically at build time (to be determined).

Jobs: migrate SVN indexation & sync to the new Job service

The difficulty comes here from the fact that both the indexation & the sync can be triggered manually.

There must be a way to trigger a registered job automatically via a triggering mechanism, that would not wait for one minute to elapse.

An additional difficulty comes from the range indexation.

There could be a JobQueue service, where client jobs may post their request for a job to be executed.

The range indexation can be a specific type of job that can be posted on this queue.

Cannot find Git closest tag when tags are forked from the HEAD

In the nemerosa/iteach project, we have tags which are "detached" from the master branch:

* f1caffa Adapt some FIXMEs
* dfdbbcf ITEACH-28 Contracts from v1.1.1 can be null (cherry picked from commit bbd2208)
* 634c6b2 Prepare for release 1.3
| * 0f782dc (tag: 1.2.0) Version 1.2.0
|/  
* f8d8653 ITEACH-22 No need to reload the page
* 196996a ITEACH-22 Loading the calendar preferences

When looking for the earliest tag from f8d8653, 1.2.0 is not found because we look from the HEAD only down to the target commit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.