All forms of contribution (i.e. raising issues and preparing pull requests) to the SFTI community is very welcome and highly appreciated!
This guide serves to set clear expectations for everyone involved within SFTI's account and payment stream so that we can improve the API specifications together while also creating a welcoming space for everyone to participate. Following these guidelines will help preserve high-quality SFTI specifications and enable smooth and fast integrations supported by the whole SFTI community.
If you are not yet part of the SFTI community but interested in contributing to the improvement and further development of the SFTI API's, then please follow the process described below.
1. Request a GitHub account
Create your account on GitHub site. The registration can be carried out autonomously: after fulfilling your email address, password and user name your new account will be verified by captcha and code on registered email address.
By completing the GitHub account registration you will be able to participate on the GitHub by raising issues and providing comments on issues and pull requests of the respective API stream.
2. Sign-in and inform info@common-api.ch
Reach out to info@common-api.ch by providing your GitHub user name and tell briefly for which API you are interested in contributing. You will be added to the list of community members.
In case that you want to issue pull requests and code actively please state it on your email. SFTI will get in touch with you and inform you about next steps within 5 working days.
3. Optional step: Completed GitHub onboarding with write permissions
After approval of write permissions you will be informed about the completed onboarding and you can access GitHub with the write permissions.
4. Start contributing
Now you are ready to contribute. Please check the process how to contribute in the next section.
If you are already part of the SFTI community and interested in contributing to the improvement and further development of the XS2A/payment API's, then please follow the process described below.
1. Raise an issue
At GitHub raise an issue, describe the initial situation and elaborate on the added value of the proposed change/improvement.
2. Present issue / change request
After a first review by the API stream leads you will be be invited to present and pitch the proposed change/improvement in the next working group meeting of the SFTI community.
3. Create a pull request
If the working group participants agree to your proposal a pull request will be created. Depending on the agreement with the stream leads, the pull request is created by you or the stream leads.
4. Approval of pull request
The pull request will then be presented and discussed in one of the next working group meetings. The participants then decide if the pull request can be approved and implemented (by merging it to the main branch) in one of the next releases. With the approval of the pull request and with the merging into the main branch, the associated issue will be closed. The requestor is responsible for ensuring that unrealized parts of the request (if any) are covered by a new request.
At the SFTI Wiki you can find more information about SFTI's API design principles, collaboration and implementation guidelines. If you contribute on API specifications, please pay special attention to SFTI's style guide and naming conventions. Make sure you are familiar with both guidelines before submitting your pull request, as there are special GitHub Actions implemented to check these rules automatically. Pull requests that do not pass all checks cannot be merged in to the main branch.
