Skip to content

Commit 433baa9

Browse files
committed
[DOC-13702]: Write documentation for the Release Note Generator
1 parent a68c76b commit 433baa9

File tree

4 files changed

+57
-9
lines changed

4 files changed

+57
-9
lines changed

home/modules/contribute/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
4040
* Release Note Generator
4141
** xref:release-note-generator/design-guide.adoc[Release Note Generator Design Guide]
42+
** xref:release-note-generator/adding-a-new-product.adoc[Adding a New Product]
4243
4344
4445
//* Additional Resources (Pending)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
= Adding a New Product
2+
:description: Demonstrates how to add a new product to the Release Note Generator.
3+
:page-pagination: prev
4+
:page-topic-type: howto
5+
6+
[abstract]
7+
{description}
8+
9+
== Prerequisites
10+
This guide is intended for technical writers and developers who are familiar with the Release Note Generator. If you are new to the tool, please refer to the link:https://confluence.issues.couchbase.com/wiki/spaces/DOCS/pages/3338961232/Other+Tools[installation and use of the Release Note Generator] guide for more information.
11+
Before you begin, make sure that you have the release note generator installed and running.
12+
13+

home/modules/contribute/pages/release-note-generator/design-guide.adoc

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
= Couchbase Release Note Generator Design Guide
22
:description: This document describes the architecture and high-level design of the Couchbase Release Note Generator.
3-
:page-topic-type: concepts
3+
:page-topic-type: concept
4+
:page-pagination: next
45

5-
:jql-fn: footnote:[JIRA Query Language]
6-
:jinja-fn: footnote:[For more information on Jinja templates, see https://jinja.palletsprojects.com]
6+
:jql-fn: footnote:jql-footnote[JIRA Query Language]
77
[abstract]
88
{description}
99

@@ -57,9 +57,10 @@ StoA@{animation: slow, curve: linear}
5757
and displays them on screen.
5858
. The user selects one of the release sets (`Couchbase Server`, `Couchbase Mobile`, `Couchbase Operator` ...)
5959
. The user enters a series of parameters as defined in the selected `release set`: (`release date`, `release label` ...)
60-
.The script executes the JQL{empty}{jql-fn} statement defined in the `release set` supplying the parameters entered by the user.
60+
.The script executes the JQL{empty}{jql-fn} statement defined in the `release set`,
61+
supplying the parameters entered by the user.
6162
. The script collects the JIRA tickets that match the query.
62-
. The script loads the Jinja{empty}{jinja-fn} template defined in the release set and uses it to render the release note as an AsciiDoc file.
63+
. The script loads the Jinja template defined in the release set and uses it to render the release note as an AsciiDoc file.
6364

6465

6566
== Logic Flow
@@ -96,7 +97,7 @@ release_settings:
9697
9798
----
9899

99-
At this high-level, the contents of the configuration file are pretty straightforward:
100+
At this high level, the contents of the configuration file are pretty straightforward:
100101

101102
[horizontal]
102103
version::
@@ -112,7 +113,7 @@ The location of the JinJa templates that the script will use to render the relea
112113
jira_batch_size::
113114
Instead of fetching the Jira tickets in one go, the script can retrieve them in batches of a given size.
114115
+
115-
NOTE: In practice, a release note shouldn't contain more that 50 tickets,
116+
NOTE: In practice, a release note shouldn't contain more than 50 tickets,
116117
so there is probably little point in changing the value.
117118

118119
release_settings::
@@ -188,6 +189,7 @@ The prompt that is displayed for the user to enter the required information.
188189
In our example, the prompts displayed will look something like this,
189190
each item being filled in by the user before the script displays the next prompt.
190191

192+
.Get parameters from the user
191193
image::release-note-generator/retrieve-parameters.png[]
192194

193195
TIP: The script will save the parameters as they're entered,
@@ -226,13 +228,41 @@ the API will only retrieve items that have a security level set to `public` or `
226228
====
227229

228230
jql::
229-
A valid JQL statement that the script will use to retrieve the tickets.
231+
A valid JQL{empty}footnote:jql-footnote[] statement that the script will use to retrieve the tickets.
230232
Pay close attention to the field parameters delimited by `{{}}`;
231233
these are the named parameters that will be replaced with the values
232234
entered by the user from the xref:#fields[`fields`] section.
233235

234236
=== Step {counter:flow}: Render the release note
235237

238+
Having retrieved the tickets that match the JQL,
239+
the script will pick up the template designated for the release set.
240+
241+
[source, yaml]
242+
----
243+
template: couchbase-server-bug-fixes.jinja2
244+
----
245+
246+
[NOTE]
247+
.Remember the `templates` location!
248+
====
249+
The location of the Jinja templates is defined in the `templates` section of the configuration file.
250+
====
251+
252+
The script will take the collection of tickets and run them through the template, producing the final AsciiDoc file.
253+
254+
NOTE: The Jinja template system is very similar to template engines such as JSP, ASP, and ThymeLeaf.
255+
The scope of its function is beyond the scope of this design guide,
256+
but you can find information and tutorials at https://jinja.palletsprojects.com
257+
258+
== Further reading
259+
260+
For more information on Jinja templates, refer to the official documentation at link:https://jinja.palletsprojects.com[].
261+
262+
We have also created a guide for developers on link:https://confluence.issues.couchbase.com/wiki/spaces/DOCS/pages/3230269470/A+Developer+s+Guide+to+Release+Notes[how to prepare Jira tickets for inclusion in release notes].
263+
264+
There is also a guide for technical writers covering the link:https://confluence.issues.couchbase.com/wiki/spaces/DOCS/pages/3338961232/Other+Tools[installation and use of the Release Note Generator].
265+
236266

237267

238268

kroki/docker-compose.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
version: "3"
21
services:
32
kroki:
43
image: yuzutech/kroki
@@ -14,19 +13,24 @@ services:
1413
- KROKI_EXCALIDRAW_HOST=excalidraw
1514
ports:
1615
- "9500:8000"
16+
restart: always
1717
blockdiag:
1818
image: yuzutech/kroki-blockdiag
1919
expose:
2020
- "8001"
21+
restart: always
2122
mermaid:
2223
image: yuzutech/kroki-mermaid
2324
expose:
2425
- "8002"
26+
restart: always
2527
bpmn:
2628
image: yuzutech/kroki-bpmn
2729
expose:
2830
- "8003"
31+
restart: always
2932
excalidraw:
3033
image: yuzutech/kroki-excalidraw
3134
expose:
3235
- "8004"
36+
restart: always

0 commit comments

Comments
 (0)