PACT Online Catalog

This repository holds the PACT Online Catalog.

Contribute

To contribute to the PACT Online Catalog with an Data Model Extension, a Conformant Solution, or a Conformance Test Result, please follow these steps:

1. Fork the pact-catalog repository

1.1 Fork and clone the pact-catalog repository

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 git@github.com:<your-github-id>/pact-catalog.git

1.2 Enable workflows

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.

2. Checkout a new branch

Run

git checkout -b <your-branch>

3. Create a new user in the users directory

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

4. Fill in your user's details

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.

5. Follow the contribution-specific tests

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.

6. Commit and push your branch

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.

7. Open a Pull Request

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.