Add templates of issue and pull request (#505)
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..b7e00f3
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,111 @@
+name: Bug Report
+title: "[Bug] Please Describe the Bug"
+description: Create a report to help us identify any unintended flaws/errors/faults.
+labels: [ "type/bug" ]
+body:
+ - type: checkboxes
+ attributes:
+ label: Before Creating the Bug Report
+ options:
+ - label: >
+ I found a bug, not just asking a question, which should be created in [GitHub Discussions](https://github.com/apache/rocketmq-clients/discussions).
+ required: true
+ - label: >
+ I have searched the [GitHub Issues](https://github.com/apache/rocketmq-clients/issues) and [GitHub Discussions](https://github.com/apache/rocketmq-clients/discussions) of this repository and believe that this is not a duplicate.
+ required: true
+ - label: >
+ I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.
+ required: true
+
+ - type: dropdown
+ attributes:
+ label: Programming Language of the Client
+ options:
+ - Java
+ - C++
+ - C#
+ - Go
+ - Rust
+ - Python
+ - Node.js
+ - PHP
+ - Not related to the specified programming language
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Runtime Platform Environment
+ description: Describe the runtime platform environment.
+ placeholder: >
+ OS: (e.g., "Ubuntu 20.04")
+ OS: (e.g., "Windows Server 2019")
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: RocketMQ Version of the Client/Server
+ description: Describe the RocketMQ version.
+ placeholder: >
+ version: (e.g. 5.1.0|5.0.4)
+ Git commit id: (e.g. c88b5cfa72e204962929eea105687647146112c6)
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Run or Compiler Version
+ description: Run or Compiler version.
+ placeholder: >
+ Compiler: (e.g., "Oracle JDK 11.0.17")
+ OS: (e.g., "Ubuntu 20.04")
+ Runtime (if different from JDK above): (e.g., "Oracle JRE 8u251")
+ OS (if different from OS compiled on): (e.g., "Windows Server 2019")
+ validations:
+ required: false
+
+ - type: textarea
+ attributes:
+ label: Describe the Bug
+ description: Describe what happened.
+ placeholder: >
+ A clear and concise description of what the bug is.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Steps to Reproduce
+ description: Describe the steps to reproduce the bug here.
+ placeholder: >
+ If possible, provide a recipe for reproducing the error.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: What Did You Expect to See?
+ description: You expect to see result.
+ placeholder: >
+ A clear and concise description of what you expected to see.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: What Did You See Instead?
+ description: You instead to see result.
+ placeholder: >
+ A clear and concise description of what you saw instead.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Additional Context
+ description: Additional context.
+ placeholder: >
+ Add any other context about the problem here.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..8289bb7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Ask Question
+ url: https://github.com/apache/rocketmq-clients/discussions
+ about: Please go to GitHub Disccusions to ask questions.
diff --git a/.github/ISSUE_TEMPLATE/enhancement_request.yml b/.github/ISSUE_TEMPLATE/enhancement_request.yml
new file mode 100644
index 0000000..5ef5972
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/enhancement_request.yml
@@ -0,0 +1,73 @@
+name: Enhancement Request
+title: "[Enhancement] Please Describe the Enhancement"
+description: Suggest an enhancement for this project.
+labels: [ "type/enhancement" ]
+body:
+ - type: checkboxes
+ attributes:
+ label: Before Creating the Enhancement Request
+ description: >
+ Most of issues should be classified as bug or feature request. An issue should be considered as an enhancement when it proposes improvements to
+ existing functionality or user experience, without necessarily introducing new features or fixing existing bugs.
+ options:
+ - label: >
+ I have confirmed that this should be classified as an enhancement rather than a bug/feature.
+ required: true
+
+ - type: dropdown
+ attributes:
+ label: Programming Language of the Client
+ options:
+ - Java
+ - C++
+ - C#
+ - Go
+ - Rust
+ - Python
+ - Node.js
+ - PHP
+ - Not related to the specified programming language
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Summary
+ placeholder: >
+ A clear and concise description of the enhancement you would like to see in the project.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Motivation
+ placeholder: >
+ Explain why you believe this enhancement is necessary, and how it benefits the project and community.
+ Include any specific use cases that you have in mind.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Describe the Solution You'd Like
+ placeholder: >
+ Describe the enhancement you propose, detailing the change and implementation steps involved.
+ If you have multiple solutions, please list them separately.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Describe Alternatives You've Considered
+ placeholder: >
+ List any alternative enhancements or implementations you have considered, and explain why they may not be as effective or appropriate.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Additional Context
+ placeholder: >
+ Add any relevant context, screenshots, prototypes, or other supplementary information to help illustrate the enhancement.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..b3110eb
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,56 @@
+name: Feature Request
+title: "[Feature] Please Describe the Feature"
+description: Suggest an idea for this project.
+labels: [ "type/new feature" ]
+body:
+ - type: dropdown
+ attributes:
+ label: Programming Language of the Client
+ options:
+ - Java
+ - C++
+ - C#
+ - Go
+ - Rust
+ - Python
+ - Node.js
+ - PHP
+ - Not related to the specified programming language
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Is Your Feature Request Related to a Problem?
+ description: Please Describe It.
+ placeholder: >
+ A clear and concise description of what the problem is.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Describe the Solution You'd Like
+ description: Describe how you solved it.
+ placeholder: >
+ A clear and concise description of what you want to happen.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Describe Alternatives You've Considered
+ description: Describe your solution
+ placeholder: >
+ A clear and concise description of any alternative solutions or features you've considered.
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Additional Context
+ description: Additional context.
+ placeholder: >
+ Add any other context about the problem here.
+ validations:
+ required: false
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..0f50fc5
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,15 @@
+<!-- Please make sure the target branch is right. In most case, the target branch should be `master`. -->
+
+### Which Issue(s) This PR Fixes
+
+<!-- Please ensure that the related issue has already been created, and [link this pull request to that issue using keywords](<https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword>) to ensure automatic closure. -->
+
+Fixes #issue_id
+
+### Brief Description
+
+<!-- Write a brief description for your pull request to help the maintainer understand the reasons behind your changes. -->
+
+### How Did You Test This Change?
+
+<!-- In order to ensure the code quality of Apache RocketMQ, we expect every pull request to have undergone thorough testing. -->