Skip to content

Commit

Permalink
Add issue templates (#262)
Browse files Browse the repository at this point in the history
Adding issue templates ahead of moving BCApps open-source.


When opening an issue you get this page:

![image](https://github.com/microsoft/BCApps/assets/117829001/87f7c12f-58fe-4aca-8600-dd82cd3093ae)

The only types of issues you can create are Bug reports, issues related
to BCIdeas and vulnerabilities. The remaining options like "Feature
requests" takes you to BCideas. Reporting a product defect with customer
impact takes you to aka.ms/bcsupport

![image](https://github.com/microsoft/BCApps/assets/117829001/2dd49148-20c4-4b4c-8f06-838b837fcd84)


![image](https://github.com/microsoft/BCApps/assets/117829001/b2a2831d-380a-44e3-b5a0-b2999b05686b)

---------

Co-authored-by: Maria Zhelezova <[email protected]>
  • Loading branch information
aholstrup1 and mazhelez authored Oct 30, 2023
1 parent bb65ddb commit 984a526
Show file tree
Hide file tree
Showing 4 changed files with 166 additions and 0 deletions.
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/bcidea.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Suggest a feature for contribution
description: Suggest a feature you would like to implement, which is based on a BC idea.
title: "[BC Idea]: "
labels: ["bcidea"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to create a BC Idea issue!
⚠️⚠️ BEFORE WE GET STARTED ⚠️⚠️
Please do not create an issue for a BC Idea unless you intend to implement it yourself. If you are not planning to implement the BC Idea yourself, please go to aka.ms/bcideas and upvote the feature on BC Ideas instead.
Before you create a new issue please:
🔎 Search existing issues to avoid creating duplicates.
Read more about what and how to contribute in the CONTRIBUTIONS document of this repository: https://github.com/microsoft/BCApps/blob/main/CONTRIBUTING.md.
- type: input
id: bcidea
attributes:
label: BC Idea Link
description: Please link to the BC Idea
placeholder: ex. https://experience.dynamics.com/ideas/idea/?ideaid=123456
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: Please include the description from the BC Ideas page
placeholder: Description of BC Idea
validations:
required: true
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Report and address a bug
description: Create a bug report for a product defect you would like to address yourself
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
⚠️⚠️ BEFORE WE GET STARTED ⚠️⚠️
This is not the right place to report product defects with customer impact to Microsoft! Issues reported in this repository do not fall under SLAs (Service Level Agreements) and hence have no guaranteed time to mitigation. If your customers are experiencing product defects or you have discovered a severe issue in the product, please follow the steps outlined in https://learn.microsoft.com/dynamics365/business-central/dev-itpro/technical-support to get your issue routed to the right team at Microsoft and to get it treated with the right priority.
Before you create a new issue, please check the following:
🔎 Search existing issues to avoid creating duplicates.
🧪 Test using the latest bcinsider builds to see if your issue has already been fixed
Read more about what and how to contribute in the CONTRIBUTIONS document of this repository: https://github.com/microsoft/BCApps/blob/main/CONTRIBUTING.md.
- type: textarea
id: describe-the-issue
attributes:
label: Describe the issue
description: A clear and concise description of what the issue is
placeholder: Describe the issue
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: Describe what behavior you expected
placeholder: Expected behavior
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: List of steps to reproduce
placeholder: Steps to reproduce
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context
description: If needed add any other context about the problem here or include screenshots
placeholder: Additional context, screenshots, log output, etc.
validations:
required: true
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Request a feature
url: http://aka.ms/bcideas
about: Please go to http://aka.ms/bcideas to log your idea. Creating an issue here is not the right way.
- name: Report a bug which has customer impact
url: http://aka.ms/bcsupport
about: Please follow the steps on http://aka.ms/bcsupport to get support. Creating an issue here is not the right way.
74 changes: 74 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Contributing

## What to contribute

This project primarily welcomes contributions of two types:

- Pull Requests for pre-approved features, which are based on BC Ideas (http://aka.ms/bcideas) that have been picked as candidates for code contribution projects.
- Pull Requests with fixes and improvements addressing pre-approved issues, which are non-customer reported.

In either case, **an approved GitHub issue in state "approved", must exist, before a Pull Request can be created**. Once a Pull Request is created it **must** be linked to a GitHub issue.

**⚠IMPORTANT⚠:** This is not the right place to report product defects with customer impact to Microsoft! Issues created in this repository won't get picked up by the Microsoft engineering team and issues reported in this repository do not fall under SLAs (Service Level Agreements) and hence have no guaranteed time to mitigation, just as provided fixes won't get backported to all supported versions of the product.

If your customers are experiencing product defects or you have discovered a severe issue in the product, please follow the steps outlined in ["Technical Support for Dynamics 365 Business Central"](https://docs.microsoft.com/dynamics365/business-central/dev-itpro/technical-support) to get your issue routed to the right team at Microsoft and to get it treated with the right priority.

## How to contribute

In the case that you would like to contribute code to this project, you first must establish what kind of contribution we're dealing with:

**A)** A small bug fix, product improvement, paper cut, conveniences customers just can't live without, things you've been fixing for years and from version to version, things you are now forced to create as per tenant extension and which you can't monetize or things you're just tired of fixing over and over again.

**B)** New capabilities or implementations of larger changes to the existing application platform.

Let's take a look at what it takes to contribute with **A)**:


1. **Create a new issue**

Before a Pull Request can be created, it is required to have an issue registered, which has been approved for development by Microsoft. This is done to ensure that community members aren't wasting their time on writing code, which later cannot be accepted.

2. **Wait for approval**

Now that your issue is registered, Microsoft will triage your issue and either approve or reject it. An approved issue will have a label "approved".

3. **Create a Pull Request**

Now a Pull Request can be created. It is important that the Pull Request is linked to an approved issue. **Pull Requests which aren't linked to approved issues will get rejected.**

If it is your first contribution, you are required to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com. When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the Pull Request appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.


4. **Get a succesful build and code review approval**

Before your Pull Request can be merged, it must have successful required status checks, all conversations resolved and an approval from a code owner. This code review can be done by both Microsoft and members of the community. This ensures that quality of the code is on par with Microsoft's and the community's standards.

5. **Final validation**

Before the code can be deployed, Microsoft will do a final validation of the Pull Request and issue. Should the change be mentioned in the release notes? Did some of the initially planned work spill over? Is the work on the issue truly done/done?

6. **Merge the Pull Request**

You've reached the end! When the Pull Request is completed and merged, the change will ship with an upcoming release of the product.

If you would like to add new capabilities to the product as described in **B)**, the process is similar to **A)**, except you need to link your issue to a idea on [BCIdeas](http://aka.ms/bcideas). Therefore, the process is as follows:

1. **Find or register your idea on [BCIdeas](http://aka.ms/bcideas)**

- Start by searching for existing approved issues here on GitHub related to your idea. If you cannot find an approved issue, look for existing ideas on BCIdeas, which cover the scenario your were thinking about implementing; ideally ideas with some votes. If you find an idea you'd like to use as open source contribution issue, inform Microsoft that you intend to do a contribution and a product manager will tag the idea. In the less likely event that you don't find any idea which points in the direction of the feature you intended to work on, you can go ahead and log a new idea, describing the new capability you would like to add to the product. Don't forget mention that the idea is suitable for open source contribution.
- Wait for approval: If you created a new idea, a Microsoft product manager will revise the idea. If the idea is aligned with the strategy of the application platform and is considered feasible to implement, the idea will get approved and marked as "open for contribution". Once the idea has "open for contribution" mentioned as part of idea title, an issue will be created and approved immediately in this repository.
- Find allies: If you reused an existing idea, check [Application Functionality group on Business Central Yammer portal](https://www.yammer.com/dynamicsnavdev/#/threads/inGroup?type=in_group&feedId=8846299) for any input from other partners (just search for idea title). There you can also find partners in crime (= other developers with same issue) that can help with the development or review of your future PR.

2. **Get the issue into "approved" state**

Once the issue is created on GitHub, it still needs to be approved. Once approved, the rest of the process is identical to the process described in **A)**.

## More Resources
* This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.

* If you are a beginner at contributing, start by following the [GitHub guidelines](https://docs.github.com/en/get-started/quickstart/fork-a-repo).

* If you are new to developing for Business Central, visit [Developers Learning Catalog](https://docs.microsoft.com/dynamics365/business-central/readiness/readiness-learning-developers).

0 comments on commit 984a526

Please sign in to comment.