feat(api): add content_ref and dry_run_ref parameters to ProjectCiLin… · python-gitlab/python-gitlab@e8d2538

2 files changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -46,6 +46,18 @@ Lint a project's CI configuration::

4646

assert lint_result.valid is True # Test that the .gitlab-ci.yml is valid

4747

print(lint_result.merged_yaml) # Print the merged YAML file

4848
49+

Lint a project's CI configuration from a specific branch or tag::

50+
51+

lint_result = project.ci_lint.get(content_ref="main")

52+

assert lint_result.valid is True # Test that the .gitlab-ci.yml is valid

53+

print(lint_result.merged_yaml) # Print the merged YAML file

54+
55+

Lint a project's CI configuration with dry run simulation::

56+
57+

lint_result = project.ci_lint.get(dry_run=True, dry_run_ref="develop")

58+

assert lint_result.valid is True # Test that the .gitlab-ci.yml is valid

59+

print(lint_result.merged_yaml) # Print the merged YAML file

60+
4961

Lint a CI YAML configuration with a namespace::

5062
5163

lint_result = project.ci_lint.create({"content": gitlab_ci_yml})

Original file line numberDiff line numberDiff line change

@@ -51,7 +51,14 @@ class ProjectCiLintManager(

5151

_path = "/projects/{project_id}/ci/lint"

5252

_obj_cls = ProjectCiLint

5353

_from_parent_attrs = {"project_id": "id"}

54-

_optional_get_attrs = ("dry_run", "include_jobs", "ref")

54+

_optional_get_attrs = (

55+

"content_ref",

56+

"dry_run",

57+

"dry_run_ref",

58+

"include_jobs",

59+

"ref",

60+

)

61+
5562

_create_attrs = RequiredOptional(

5663

required=("content",), optional=("dry_run", "include_jobs", "ref")

5764

)