This repository holds the PACT Catalog.
To contribute to the PACT Online Catalog with an Data Model Extension, a Conformant Solution, or a Conformance Test Result, please follow these steps:
If you have GitHub CLI tools installed, open a terminal window and run
gh repo fork https://github.com/wbcsd/pact-catalog.git --clone
Otherwise, navigate to the pact-catalog repository and fork it in your browser (instructions can be found here).
Then, open a terminal window and run
git clone [email protected]:<your-github-id>/pact-catalog.git
Go to your forked repository on GitHub, click on the Actions
tab and then on the green button I understand my workflows, go ahead and enable them
:
Automatic validation will now run when you commit your branch to GitHub, allowing you to know whether your contribution to the catalog is syntactically correct and minimizing back-and-forth messages and turnover time.
Run
git checkout -b <your-branch>
NOTE: If you have already created a user, do not create a new one. Instead, please make sure the user you have created is in the
users
directory and that all fields are correct. Then, skip to step 5.
From the parent directory of your local repository run
Please note: All text between angle brackets (< >
) should be replaced by actual values. Please make sure that the value replacing <your-user-id>
only includes lowercase letters and dashes (instead of whitespace). The value replacing <solutionprovider | ngo | company>
should be "solutionprovider"
, "ngo"
, or "company"
, depending on your situation.
touch catalog/users/<your-user-id>.json
E.g., touch catalog/users/abc-corp.json
Open the json
file created in step 4. and fill it by adapting the following structure:
{
"id": "<your-user-id>", // e.g. 'ABC Corp' has user id "abc" or "abc-corp"
"kind": "<solutionprovider | ngo | company>", // select one
"name": "<Your Name>", // e.g. "ABC Corp"
"email": "<your-email>",
"website": "<your-website>",
"logo": "<url-to-your-logo>" // to be displayed in the collaborators page (optional)
}
If you already endorse Data Model Extensions, please include also the field "extensions_endorsed"
, based on the following structure:
"extensions_endorsed": [
{
"namespace": "@<user-id>", // the id of the user that developed the extension
"extension_name": "<extension-id>",
"version": "<extension-version>"
}
]
Please refer to this example to see how your <your-user-id>.json
file should look like.
If you want to contribute an Data Model Extension, please follow these steps.
If you want to contribute a Conformant Solution, please follow these steps.
If you want to contribute a Conformance Test Result, please follow these steps.
Once you have done that, please proceed to the next step.
From the parent directory of the repository, run
git add .
git commit -m "feat: <commit-message>"
git push origin <yourbranch>
Please replace <commit-message>
with a short description, such as add <extension-id> extension
, add <your-solution-id> solution
, or add <tested-solution-id> test result
.
Go to the original pact-catalog repository, choose the Pull requests
tab and click the New pull request
button.
Open a Pull Request to merge the branch <your-user-id>
from your forked repository into the main
branch of the pact-catalog
repository. Instructions on how to open Pull Requests across forks can be found here.
Please note: All text between angle brackets (< >
) should be replaced by actual values. Please make sure that the values replacing <your-user-id>
, <extenion-id>
, <extension-version>
,<your-solution-id>
only include lowercase letters and dashes (instead of whitespaces). The values replacing <extension-version>
and <your-solution-version>
should follow the X.Y.Z
format. Please make sure that these remain consistent.
Your Pull Request will be reviewed and your solution added to the PACT Online Catalog as soon as possible.
NOTE: Conformance test results are shown in the
Conformance
tab of a specific solution's page. If the tested solution has not yet been added to the catalog, the test data will not be visible. Rest assured, however, that it is included in the catalog and will become visible as soon as the tested solution is added.