Skip to content

Enclude-Components/IDonate-Integraid-Implementation

Repository files navigation

IDonate-Integraid-Implementation

An implementation of the Integraid package, configured to receive and process DonorImport donation requests.

Install Latest Release

Contents

  • Apex Classes
    • GetIDonateDonationBodyInvocable
    • IDonateDonation
    • IDonateDonationJSONParser
  • Custom Metadata
    • Endpoint
      • IDonate Donation
  • Flows
    • Process IDonate Integraid Request

Sample Donation Request

{
    "id": 2915262,
    "amount": 48.78,
    "currency": "EUR",
    "donorFname": "Bill",
    "donorLname": "Testington",
    "fundraiserTitle": "Bill’s Fundraising Page",
    "pageId": 11500000,
    "fundraiserTotal": "1152.81",
    "fundraiserCreatedOn": "2024-05-30",
    "fundraiserEndsOn": "2024-08-06"
}

Development

To work on this project in a scratch org Set up CumulusCI (if you haven't already)

Create a Feature Branch and Dev Scratch Org

  1. Create a feature branch called feature/my_feature_name More info on CCI Branch Naming Convention
  2. From the created branch, run cci flow run dev_org --org dev to deploy this project to a scratch org.
  3. Run cci org browser dev to open the org in your browser.

Make and Capture a Declarative Change

More Info on CCI Development

  1. Make a declarative change in the scratch org (ex. Create a custom field)
  2. Run cci flow run list_changes --org dev to list all changes
  3. Carefuly inspect the listed metadata to ensure it belongs in the package. This is easier if you make small changes and list/retrieve them often.
  4. Run cci flow run retrieve_changes --org dev -o exclude "Profile:,Settings:" to retrieve changed metadata, excluding any unwanted metadata types
  5. If you have unwanted metadata types in your scratch org's change history (metadata that you never intend to retrieve, such as profiles,) you can reset them by running cci flow run list_changes --org dev --snapshot true.

Make a Pull Request to the Main branch

  1. Commit any changes to your current feature branch. You should do this often.
  2. Create a pull request to Main and assign a reviewer

Release

Beta

After the pull request is reviewed, but before it's merged to main, a beta version should be released to ensure the feature branch will successfully build. More Info on Releasing Unlocked Packaged in CCI

  1. Release a Beta Version
cci flow run release_unlocked_beta --org dev
  1. Test Deploy the Beta Version
cci flow run ci_beta --org beta

Production

  1. Merge the feature branch to main

  2. Promote to a Production Version. This promotes the latest beta version by default

cci flow run release_unlocked_production --org release