|
10 | 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 | 11 | Before you begin, make sure that you have the release note generator installed and running. |
12 | 12 |
|
| 13 | +You should also familiarize yourself with the xref:./design-guide.adoc[]. |
| 14 | + |
| 15 | +You will also need a code editor or an IDE for editing the YAML configuration file. |
| 16 | + |
| 17 | +You should also have a terminal application running. |
| 18 | + |
| 19 | +== Overview |
| 20 | + |
| 21 | +The Release Note Generator has been designed so that it can be extended to support new Couchbase products without having to |
| 22 | +alter the Python script itself. Adding a new product involves two steps: |
| 23 | + |
| 24 | +. Add the new product release set to `cb_release_notes_config.yaml`. |
| 25 | +. Create a new Jinja template for rendering the AsciiDoc file for your new release note. |
| 26 | + |
| 27 | +To demonstrate this process, we're going to create a new release note configuration for the Sync Gateway product. |
| 28 | + |
| 29 | +NOTE: You should run the following commands from the directory where your Release Notes Generator is installed. |
| 30 | + |
| 31 | +=== Step {counter: step}: Make a copy of your `cb_release_notes_config.yaml` file. |
| 32 | + |
| 33 | +You can make a copy of the file using the following terminal command: |
| 34 | + |
| 35 | +[source, shell] |
| 36 | +---- |
| 37 | +cp cb_release_notes_config.yaml cb_release_notes_config.yaml.spare |
| 38 | +---- |
| 39 | + |
| 40 | +=== Step {counter: step}: Name your release product |
| 41 | + |
| 42 | +Edit the original `cb_release_notes_config.yaml` file |
| 43 | +and add the new `name` item underneath the `release_settings` section: |
| 44 | + |
| 45 | +[source, yaml] |
| 46 | +---- |
| 47 | +release_settings: |
| 48 | + - name: "Sync Gateway" |
| 49 | +---- |
| 50 | + |
| 51 | +=== Step {counter: step}: Define your parameters |
| 52 | + |
| 53 | +The user will need to supply parameters that need to be fed to the script. |
| 54 | +These can vary depending on what's going to appear on the release note, |
| 55 | +and what the JQL will need to gather the tickets. |
| 56 | +The most common parameters are: |
| 57 | + |
| 58 | +[horizontal] |
| 59 | + |
| 60 | +Release number:: |
| 61 | +The label that our JQL will use to find the release tag. |
| 62 | + |
| 63 | +Release date:: |
| 64 | +This will appear in the release note heading. |
| 65 | + |
| 66 | +File path:: |
| 67 | +This is a mandatory item needed for each release set. |
| 68 | +It supplies the name of the AsciiDoc file that the script generates. |
| 69 | + |
| 70 | +Other parameters that the SQL will need, (such as the project name), are fixed values |
| 71 | +and don't need to be parameterized. |
| 72 | + |
| 73 | +[source, yaml] |
| 74 | +---- |
| 75 | +release_settings: |
| 76 | + - name: "Sync Gateway" |
| 77 | + fields: |
| 78 | + - name: release_number |
| 79 | + type: text |
| 80 | + message: 'Enter the release number:' |
| 81 | + - name: release_date |
| 82 | + type: text |
| 83 | + message: 'Enter the release date (Month Year):' |
| 84 | + - name: file_path |
| 85 | + type: file |
| 86 | + message: 'Enter the file path for the release notes:' |
| 87 | +---- |
| 88 | + |
| 89 | +=== Step {counter: step}: Define your JQL statement |
| 90 | + |
| 91 | +Now, you add the URL and the JQL statements used to retrieve the Jira tickets that match your parameters: |
| 92 | + |
| 93 | +[source, yaml] |
| 94 | +---- |
| 95 | +release_settings: |
| 96 | + - name: "Sync Gateway" |
| 97 | + fields: |
| 98 | + - name: release_number |
| 99 | + type: text |
| 100 | + message: 'Enter the release number:' |
| 101 | + - name: release_date |
| 102 | + type: text |
| 103 | + message: 'Enter the release date (Month Year):' |
| 104 | + - name: file_path |
| 105 | + type: file |
| 106 | + message: 'Enter the file path for the release notes:' |
| 107 | + url: https://jira.issues.couchbase.com |
| 108 | + jql: project = CBG AND issuetype in (Bug, "New Feature", Epic, Improvement) |
| 109 | + AND (fixVersion = {{release_number}} OR labels IN (known_issue)) |
| 110 | + ORDER BY key ASC |
| 111 | +---- |
13 | 112 |
|
0 commit comments