7.5 KiB
Contributing
Welcome, and thank you for your interest in contributing to the AL developer tools! The goal of this document is to provide a high-level overview of how you can get involved.
Asking questions
Have a question? Rather than opening an issue, please use one of the following resources:
- Business Central Community
- mibuso forum
- Yammer groups for partners
- Monthly themed Office Hours
- Twitter community, using #bcalhelp tag
The community will be eager to assist you and your well-worded question will serve as a resource to others searching for help.
Reporting issues
Have you identified a reproducible problem in the AL compiler or developer tools? Here's how you can make reporting your issue as effective as possible.
Identify where to report
The Dynamics 365 Business Central team accepts feedback through multiple channels and repositories. Try to file the issue through the correct channel to ensure that your issue is addressed effectively and efficiently.
Security vulnerabilities
Please follow the instructions in this document to ensure that the issue is handled with the highest priority.
Bugs
For bugs in the latest version of the AL language extension from the Visual Studio Code Marketplace or any of the static analysis tools that accompany the AL Language extension, use the current GitHub repository. You should always use the latest version of the AL Language extension when targeting any version of Business Central.
If you are targeting Dynamics NAV 2018 or older, you must use the AL extension provided in the DVD and use the support channel to report issues.
For issues concerning versions of Business Central that are in mainstream support you should use the support channel.
Extensibility of first-party AL applications
For issues related to the extensibility of applications authored by Microsoft, such as the System Application
or the Base Application
, use the ALAppExtensions repository.
Feature requests and suggestions
For new features in AL/Visual Studio Code language and tools, as well as Business Central in general, use Business Central Ideas.
For suggestions for new static analysis rules or improvements to existing static analysis rules, use Business Central Ideas.
Posting your suggestion on Business Central Ideas will allow other members of the community to vote on your idea and will allow us to prioritize based accordingly.
Look for an existing issue
Before you create a new issue, please do a search in open issues to see if the issue has already been filed.
Be sure to scan through the most popular issues, and vote on/add to existing issue if applicable.
If you find that your issue already exists in this repository, make relevant comments and add your reaction. Use a reaction in place of a "+1" comment:
- 👍 - upvote
- 👎 - downvote
If you cannot find an existing issue that describes your bug, create a new issue using the guidelines below.
Writing good bug reports
File a single issue per problem. Do not enumerate multiple bugs or feature requests in the same issue.
Use the latest version of the AL language extension from the Visual Studio Code Marketplace or shipped as part of the AL Developer Preview builds for Dynamics 365 Business Central.
Disable all extensions except the AL Language extension.
Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
The more information you can provide, the more likely someone will be successful at reproducing the issue and finding a fix.
Please include the following with each issue:
1. Describe the bug A clear and concise description of what the bug is.
2. To Reproduce Steps to reproduce the behavior:
- Go to '...'
AL code snippet that demonstrates the issue or a link to a code repository the developers can easily pull down to recreate the issue locally
Note: Because the developers need to copy and paste the code snippet, including a code snippet as a media file (i.e. .gif) is not sufficient.
3. Expected behavior A clear and concise description of what you expected to happen.
4. Actual behavior A clear and concise description of what happened accompanied by images, animations, or a link to a video showing the issue occurring.
5. Versions:
- AL Language. Go to Visual Studio Code → Extensions panel → AL Language
- Visual Studio Code: Go to Visual Studio Code → Help → About
- Business Central. In the web client, go to Help → Help and Support → Troubleshooting
- List of Visual Studio Code extensions that you have installed. Go to Visual Studio Code → Extensions panel
Final checklist
Please remember to do the following:
-
Search the issue repository to ensure you are reporting a new issue
-
Reproduce the issue after switching off all extensions except the AL Language extension
-
Simplify your code around the issue to better isolate the problem
Follow your issue
Once submitted, your issue will through the issue tracking workflow. Please read the document to understand what will happen next, so that you know what to expect, and how to continue to assist throughout the process.
Support
If you have encountered an issue in a version of the AL compiler and developer tools that is in mainstream support, or in the application, platform, or another component of Dynamics 365 Business Central, please read the following articles on how to get support for the Dynamics 365 Business Central product:
Contributor License Agreement
This project welcomes contributions and suggestions. Most contributions require you 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 PR 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.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.