Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab GitLab
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 38,038
    • Issues 38,038
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 1,345
    • Merge requests 1,345
  • Requirements
    • Requirements
    • List
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #231352

Closed
Open
Created Jul 23, 2020 by Fabio Pitino@fabiopitino🔴Maintainer

Create CI Lint API endpoint scoped to project

In !37134 (merged) we expanded the CI Lint to use a dry run mode which goes deeper in the pipeline creation stack, providing a simulation of the actual pipeline creation.

The dry run mode was implemented only for Projects::Ci::LintsController#create while the API endpoint still uses the legacy method via YamlProcessor. Converting the existing API endpoint to use dry run is not possible because it's project agnostic. The dry run is project-aware.

To solve this problem we could introduce a new API endpoint scoped to projects: POST v4/projects/:id/ci/lint which would have dry run on by default.

This endpoint should return:

{ 
  status: 'failed', # or success
  errors: [ ... ],
  warnings: [ ... ],
  jobs: [ ... ] # if status: success
}
Edited Jul 23, 2020 by Fabio Pitino
Assignee
Assign to
13.6
Milestone
13.6 (Past due)
Assign milestone
Time tracking