Skip to content

Commit 24af304

Browse files
committed
docs(templates): added section for project templates
1 parent a71be72 commit 24af304

File tree

1 file changed

+71
-1
lines changed

1 file changed

+71
-1
lines changed

docs/gl_objects/templates.rst

+71-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Reference
9999
+ :class:`gitlab.v4.objects.DockerfileManager`
100100
+ :attr:`gitlab.Gitlab.gitlabciymls`
101101

102-
* GitLab API: Not documented.
102+
* GitLab API: https://docs.gitlab.com/ce/api/templates/dockerfiles.html
103103

104104
Examples
105105
--------
@@ -112,3 +112,73 @@ Get a Dockerfile template::
112112

113113
dockerfile = gl.dockerfiles.get('Python')
114114
print(dockerfile.content)
115+
116+
Project templates
117+
=========================
118+
119+
These templates are project-specific versions of the templates above, as
120+
well as issue and merge request templates.
121+
122+
Reference
123+
---------
124+
125+
* v4 API:
126+
127+
+ :class:`gitlab.v4.objects.ProjectLicenseTemplate`
128+
+ :class:`gitlab.v4.objects.ProjectLicenseTemplateManager`
129+
+ :attr:`gitlab.v4.objects.Project.license_templates`
130+
+ :class:`gitlab.v4.objects.ProjectGitignoreTemplate`
131+
+ :class:`gitlab.v4.objects.ProjectGitignoreTemplateManager`
132+
+ :attr:`gitlab.v4.objects.Project.gitignore_templates`
133+
+ :class:`gitlab.v4.objects.ProjectGitlabciymlTemplate`
134+
+ :class:`gitlab.v4.objects.ProjectGitlabciymlTemplateManager`
135+
+ :attr:`gitlab.v4.objects.Project.gitlabciyml_templates`
136+
+ :class:`gitlab.v4.objects.ProjectDockerfileTemplate`
137+
+ :class:`gitlab.v4.objects.ProjectDockerfileTemplateManager`
138+
+ :attr:`gitlab.v4.objects.Project.dockerfile_templates`
139+
+ :class:`gitlab.v4.objects.ProjectIssueTemplate`
140+
+ :class:`gitlab.v4.objects.ProjectIssueTemplateManager`
141+
+ :attr:`gitlab.v4.objects.Project.issue_templates`
142+
+ :class:`gitlab.v4.objects.ProjectMergeRequestTemplate`
143+
+ :class:`gitlab.v4.objects.ProjectMergeRequestTemplateManager`
144+
+ :attr:`gitlab.v4.objects.Project.merge_request_templates`
145+
146+
* GitLab API: https://docs.gitlab.com/ce/api/project_templates.html
147+
148+
Examples
149+
--------
150+
151+
List known project templates::
152+
153+
license_templates = project.license_templates.list()
154+
gitignore_templates = project.gitignore_templates.list()
155+
gitlabciyml_templates = project.gitlabciyml_templates.list()
156+
dockerfile_templates = project.dockerfile_templates.list()
157+
issue_templates = project.issue_templates.list()
158+
merge_request_templates = project.merge_request_templates.list()
159+
160+
Get project templates::
161+
162+
license_template = project.license_templates.get('apache-2.0')
163+
gitignore_template = project.gitignore_templates.get('Python')
164+
gitlabciyml_template = project.gitlabciyml_templates.get('Pelican')
165+
dockerfile_template = project.dockerfile_templates.get('Python')
166+
issue_template = project.issue_templates.get('Default')
167+
merge_request_template = project.merge_request_templates.get('Default')
168+
169+
print(license_template.content)
170+
print(gitignore_template.content)
171+
print(gitlabciyml_template.content)
172+
print(dockerfile_template.content)
173+
print(issue_template.content)
174+
print(merge_request_template.content)
175+
176+
Create an issue or merge request using a description template::
177+
178+
issue = project.issues.create({'title': 'I have a bug',
179+
'description': issue_template.content})
180+
mr = project.mergerequests.create({'source_branch': 'cool_feature',
181+
'target_branch': 'main',
182+
'title': 'merge cool feature',
183+
'description': merge_request_template.content})
184+

0 commit comments

Comments
 (0)