github-tools / github-tools/github-release-notes

Allow manual changes to persist across --override

オープン
#139 コメント 3 件 リアクション 1 件 担当者 0 名 GitHub で見る
enhancement
主要言語
JavaScript
スター
897
フォーク
313
PR マージ指標
30日以内にマージされた PR はありません

説明

Hello,

We've been happily using GREN on an enterprise Github instance to generate release notes based on PR data. We have a use-case where we'd like to add additional, hand-crafted release notes on top of the GREN-generated data that could be persisted even when using `--override`. This would be really useful in adding migration guides for major/breaking releases. We often end up regenerating the GREN release notes in order to add clarifications to PR titles.

Would it be possible to have the GREN-generated data live in a special block that GREN could replace rather than overwriting the entire body?

e.g., for the following release body:

```markdown
// Hand-crafted release notes here
# Migration Guide
...

// Generated GREN data goes here

```

When using `--override`, GREN would only replace/regenerate the contents between the `GREN-BEGIN` and `GREN-END` comment blocks so that any manual additions to the release notes are not overwritten. Since these blocks are just HTML comments, they wouldn't end up visible in the overall release page.

FWIW, here's the `.grenrc` that we're using. Unfortunately I can't share the specific repo data because enterprise 😕

```js
module.exports = {
dataSource: 'prs',
prefix: '',
onlyMilestones: false,
groupBy: {
'💥 Breaking Changes 💥': ['Major (Breaking Change)'],
'✨ Non-Breaking New Features ✨': ['Minor (New Feature)'],
'🛠️ Bug Fixes + Misc 🛠️': ['Patch (Bug Fix)']
},
changelogFilename: 'CHANGELOG.md'
};
```

Thanks!

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず --override のエントリーポイントと、GREN がリリース本文を生成する方法を追跡します。コンテキストとして .grenrc と CHANGELOG.md の設定例を使用します。既存のリリース内容がどのように取得され、置き換えられるかを確認し、続いて GREN-BEGIN と GREN-END マーカーの動作を定義します。マーカーが存在しない場合の動作も含めてください。手動の内容がそのまま保持され、生成されたブロックだけが更新されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
release
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。