Templates¶
You can request templates for different type of files:
License files
.gitignore files
GitLab CI configuration files
Dockerfiles
License templates¶
Reference¶
Examples¶
List known license templates:
licenses = gl.licenses.list()
Generate a license content for a project:
license = gl.licenses.get('apache-2.0', project='foobar', fullname='John Doe')
print(license.content)
.gitignore templates¶
Reference¶
Examples¶
List known gitignore templates:
gitignores = gl.gitignores.list()
Get a gitignore template:
gitignore = gl.gitignores.get('Python')
print(gitignore.content)
GitLab CI templates¶
Reference¶
Examples¶
List known GitLab CI templates:
gitlabciymls = gl.gitlabciymls.list()
Get a GitLab CI template:
gitlabciyml = gl.gitlabciymls.get('Pelican')
print(gitlabciyml.content)
Dockerfile templates¶
Reference¶
Examples¶
List known Dockerfile templates:
dockerfiles = gl.dockerfiles.list()
Get a Dockerfile template:
dockerfile = gl.dockerfiles.get('Python')
print(dockerfile.content)
Project templates¶
These templates are project-specific versions of the templates above, as well as issue and merge request templates.
Reference¶
v4 API:
GitLab API: https://docs.gitlab.com/ce/api/project_templates.html
Examples¶
List known project templates:
license_templates = project.license_templates.list()
gitignore_templates = project.gitignore_templates.list()
gitlabciyml_templates = project.gitlabciyml_templates.list()
dockerfile_templates = project.dockerfile_templates.list()
issue_templates = project.issue_templates.list()
merge_request_templates = project.merge_request_templates.list()
Get project templates:
license_template = project.license_templates.get('apache-2.0')
gitignore_template = project.gitignore_templates.get('Python')
gitlabciyml_template = project.gitlabciyml_templates.get('Pelican')
dockerfile_template = project.dockerfile_templates.get('Python')
issue_template = project.issue_templates.get('Default')
merge_request_template = project.merge_request_templates.get('Default')
print(license_template.content)
print(gitignore_template.content)
print(gitlabciyml_template.content)
print(dockerfile_template.content)
print(issue_template.content)
print(merge_request_template.content)
Create an issue or merge request using a description template:
issue = project.issues.create({'title': 'I have a bug',
'description': issue_template.content})
mr = project.mergerequests.create({'source_branch': 'cool_feature',
'target_branch': 'main',
'title': 'merge cool feature',
'description': merge_request_template.content})