The original purpose of the CumulusCI Org History functionality was to create a hash representing the full state of the org prepared for a Scratch Org Snapshot so snapshots could be looked up by a hash of their state stored in the name.
Seems simple, right? ~4k lines of code says WRONG :)
But, those lines of code make the interface really easy now! 🎉
The example below starts with using the new cci hash dependencies task to dynamically resolve the latest version and dependencies for Salesforce.org's NPSP from its GitHub repository, one of CumulusCI's magical features.
Then, the current hashes can be compared to hashes of an org using the org's history to see if that org matches the current resolved dependencies!
The remaining command show inspecting the org history and calculating matching hashes to compare against the current resolved dependencies.
WE HAVE A MATCH!!!
-
Org Shape Hash:
55bf65c5 == 55bf65c5- A hash of the edition, shape, and features. Settings are excluded since they can be easily set on the org after clone
-
Snapshot Hash:
ca48c866 == ca48c866- A hash of the exact metadata deployed or transformed and package versions with install options run against the org
-
Tracker Hash:
eb42dfea == eb42dfea- Combined hash of the Org Shape Hash and the Tracker Hash to represent the snapshot's org state!
oh-snap cci hash dependencies --org dev --json --indent 4
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Calculating org shape hash for dev... │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Hash of Org Shape for dev:
55bf65c5
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Calculating static dependency hashes for production... │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
[10/05/24 16:20:19] Collecting dependencies from Github repo https://github.com/SalesforceFoundation/NPSP
[10/05/24 16:20:23] Collecting dependencies from Github repo https://github.com/SalesforceFoundation/Households
Collecting dependencies from Github repo https://github.com/SalesforceFoundation/Recurring_Donations
[10/05/24 16:20:24] Collecting dependencies from Github repo https://github.com/SalesforceFoundation/Relationships
Collecting dependencies from Github repo https://github.com/SalesforceFoundation/Affiliations
[10/05/24 16:20:26] Collecting dependencies from Github repo https://github.com/SalesforceFoundation/Contacts_and_Organizations
Resolved Depedenencies
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Type ┃ Package or URL ┃ Version or Ref ┃ Details ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ PackageNamespaceVersion │ Contacts & Organizations │ 3.22 │ N/A │
│ │ npe01 │ 04t4w000000tPkFAAU │ │
├─────────────────────────┼──────────────────────────────────────────────┼────────────────────┼────────────────────────────────────────────────────┤
│ PackageNamespaceVersion │ Households │ 3.18 │ N/A │
│ │ npo02 │ 04t4w000001E96GAAS │ │
├─────────────────────────┼──────────────────────────────────────────────┼────────────────────┼────────────────────────────────────────────────────┤
│ PackageNamespaceVersion │ Recurring Donations │ 3.25 │ N/A │
│ │ npe03 │ 04t4w000001E96BAAS │ │
├─────────────────────────┼──────────────────────────────────────────────┼────────────────────┼────────────────────────────────────────────────────┤
│ PackageNamespaceVersion │ Relationships │ 3.15 │ N/A │
│ │ npe4 │ 04t4w000000AojvAAC │ │
├─────────────────────────┼──────────────────────────────────────────────┼────────────────────┼────────────────────────────────────────────────────┤
│ PackageNamespaceVersion │ Affiliations │ 3.13 │ N/A │
│ │ npe5 │ 04t4w000000YjKXAA0 │ │
├─────────────────────────┼──────────────────────────────────────────────┼────────────────────┼────────────────────────────────────────────────────┤
│ UnmanagedGitHubRef │ https://github.com/SalesforceFoundation/NPSP │ e36888a │ unmanaged: true │
│ │ │ │ subfolder: unpackaged/pre/account_record_types │
│ │ │ │ │
├─────────────────────────┼──────────────────────────────────────────────┼────────────────────┼────────────────────────────────────────────────────┤
│ UnmanagedGitHubRef │ https://github.com/SalesforceFoundation/NPSP │ e36888a │ unmanaged: true │
│ │ │ │ subfolder: unpackaged/pre/opportunity_record_types │
│ │ │ │ │
├─────────────────────────┼──────────────────────────────────────────────┼────────────────────┼────────────────────────────────────────────────────┤
│ PackageNamespaceVersion │ Nonprofit Success Pack │ 3.230 │ N/A │
│ │ npsp │ 04t5d000000YIgAAAW │ │
├─────────────────────────┼──────────────────────────────────────────────┼────────────────────┼────────────────────────────────────────────────────┤
│ UnmanagedGitHubRef │ https://github.com/SalesforceFoundation/NPSP │ e36888a │ unmanaged: false │
│ │ │ │ subfolder: unpackaged/post/first │
│ │ │ │ namespace_inject: npsp │
│ │ │ │ │
└─────────────────────────┴──────────────────────────────────────────────┴────────────────────┴────────────────────────────────────────────────────┘
Resolved Dependencies Successfully
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Calculating tracker hash of dependencies... │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
[10/05/24 16:20:29] Cleaning meta.xml files of packageVersion elements for deploy
[10/05/24 16:20:32] Cleaning meta.xml files of packageVersion elements for deploy
[10/05/24 16:20:34] Replacing namespace tokens from metadata with namespace prefix npsp__
layouts/Global-Global Layout.layout: Replaced %%%NAMESPACE%%% with "npsp__"
objects/Account.object: Replaced %%%NAMESPACE%%% with "npsp__"
Cleaning meta.xml files of packageVersion elements for deploy
{
"hashes": {
"dependencies": "9da7440d",
"org_shape": "55bf65c5",
"snapshot": "ca48c866",
"tracker": "eb42dfea"
},
"content": {
"org_shape": "55bf65c5",
"tracker": {
"deploys": [
"3b903e8354fca69fb62f5018642736d4e40ad9f0b22457451514412967b8bfcbd8e0d0e83e52aa580a2d99b09bd0186bdece5ca9ee7e7091bd99cc5b05346cb1",
"d9ca28ee6abdcfce9356fa4db8beeee22c14d0e65899a2b4eef01b5f2819725668c5cecec21fc40bd8752f10075465c82f1a6a13da35348a164426727fe96efb",
"e970dfd6baa502cb355bbf11e9d7f11f79e67d1e6dff9b4a9a48a02d02953d4e461fb119945185b7582f73e268c89ccf8a8bc91329e163edec29d76822df0c28"
],
"package_installs": [
"3cb132a5",
"769005e0",
"1a701f0a",
"6bfda221",
"001a9918",
"04997c2c"
],
"transforms": []
}
}
}I've already prepared an org by running cci flow run dependencies --org dev which creates the scratch org and runs the dependencies flow.
oh-snap cci history list --status success
Org History for dev (00DQL000007HTUc)
┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Hash ┃ Type ┃ Time ┃ Status ┃ Details ┃
┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Action: │ OrgCreate │ 2024-10-03 │ success │ SF CLI Alias: Oh-Snap__dev │
│ 6cac61e6 │ │ 18:52:48 │ │ Org ID: 00DQL000007HTUc2AO │
│ │ │ 8224.82s │ │ Username: test-ph7tf8ybt6fu@example.com │
│ Config: │ │ │ │ Days: 7 │
│ 6cee810b │ │ │ │ Namespaced: False │
│ │ │ │ │ ScratchDef: orgs/unmanaged.json │
├──────────┼───────────┼────────────┼─────────┼────────────────────────────────────────────────────────────┤
│ Action: │ Flow │ 2024-10-05 │ success │ Flow: dependencies │
│ 5a996296 │ │ 07:50:06 │ │ Group: Dependency Management │
│ │ │ 541.98s │ │ Config: │
│ Config: │ │ │ │ '1': │
│ 29471178 │ │ │ │ task: update_dependencies │
│ │ │ │ │ flow: null │
│ │ │ │ │ ignore_failure: false │
│ │ │ │ │ when: null │
│ │ │ │ │ options: {} │
│ │ │ │ │ ui_options: {} │
│ │ │ │ │ checks: [] │
│ │ │ │ │ description: null │
│ │ │ │ │ '2': │
│ │ │ │ │ task: deploy_pre │
│ │ │ │ │ flow: null │
│ │ │ │ │ ignore_failure: false │
│ │ │ │ │ when: null │
│ │ │ │ │ options: {} │
│ │ │ │ │ ui_options: {} │
│ │ │ │ │ checks: [] │
│ │ │ │ │ description: null │
│ │ │ │ │ │
│ │ │ │ │ Steps: │
│ │ │ │ │ update_dependencies │
│ │ │ │ │ Status: success │
│ │ │ │ │ Duration: 507.6203598976135 │
│ │ │ │ │ deploy_pre │
│ │ │ │ │ Status: success │
│ │ │ │ │ Duration: 0.2655949592590332 │
├──────────┼───────────┼────────────┼─────────┼────────────────────────────────────────────────────────────┤
│ Action: │ Task │ 2024-10-05 │ success │ Task: create_dependencies_snapshot │
│ f637ef33 │ │ 10:08:16 │ │ Class: cumulusci.tasks.snapshot.CreateDependenciesSnapshot │
│ │ │ 388.58s │ │ Options: │
│ Config: │ │ │ │ include_project_code: False │
│ 0d0577f5 │ │ │ │ include_packaging_suffix: False │
│ │ │ │ │ create_commit_status: True │
│ │ │ │ │ create_environment: True │
│ │ │ │ │ no_prompt: False │
│ │ │ │ │ debug_before: False │
│ │ │ │ │ debug_after: False │
└──────────┴───────────┴────────────┴─────────┴────────────────────────────────────────────────────────────┘
Use the Action Hash to get the info on an action, for example:
cci history info f637ef33
cci history dependencies
Org Dependencies for dev
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Type ┃ Hash ┃ Content ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ deploys │ 181bffd4 │ - │
│ │ │ 3b903e8354fca69fb62f5018642736d4e40ad9f0b22457451514412967b8bfcbd8e0d0e83e52aa580a… │
│ │ │ - │
│ │ │ d9ca28ee6abdcfce9356fa4db8beeee22c14d0e65899a2b4eef01b5f2819725668c5cecec21fc40bd8… │
│ │ │ - │
│ │ │ e970dfd6baa502cb355bbf11e9d7f11f79e67d1e6dff9b4a9a48a02d02953d4e461fb119945185b758… │
│ │ │ │
├──────────────────┼──────────┼─────────────────────────────────────────────────────────────────────────────────────┤
│ package_installs │ 9e901ed6 │ - 3cb132a5 │
│ │ │ - 769005e0 │
│ │ │ - 1a701f0a │
│ │ │ - 6bfda221 │
│ │ │ - 001a9918 │
│ │ │ - 04997c2c │
│ │ │ │
├──────────────────┼──────────┼─────────────────────────────────────────────────────────────────────────────────────┤
│ transforms │ d7517139 │ [] │
│ │ │ │
└──────────────────┴──────────┴─────────────────────────────────────────────────────────────────────────────────────┘
Snapshot Hash Data:
org_shape: 55bf65c5
tracker:
deploys:
-
3b903e8354fca69fb62f5018642736d4e40ad9f0b22457451514412967b8bfcbd8e0d0e83e52aa580a2d99b09bd0186bdece5ca9ee7e7091bd99c
c5b05346cb1
-
d9ca28ee6abdcfce9356fa4db8beeee22c14d0e65899a2b4eef01b5f2819725668c5cecec21fc40bd8752f10075465c82f1a6a13da35348a16442
6727fe96efb
-
e970dfd6baa502cb355bbf11e9d7f11f79e67d1e6dff9b4a9a48a02d02953d4e461fb119945185b7582f73e268c89ccf8a8bc91329e163edec29d
76822df0c28
package_installs:
- 3cb132a5
- 769005e0
- 1a701f0a
- 6bfda221
- 001a9918
- 04997c2c
transforms: []
Static Dependency Hashes:
Dependencies: d7517139
Tracker: eb42dfea
Org Shape: 55bf65c5
Snapshot Hash: ca48c866
oh-snap cci history dependencies --json | jq
{
"hashes": {
"org_shape": "55bf65c5",
"snapshot": "ca48c866",
"tracker": "eb42dfea"
},
"content": {
"org_shape": "55bf65c5",
"tracker": {
"deploys": [
"3b903e8354fca69fb62f5018642736d4e40ad9f0b22457451514412967b8bfcbd8e0d0e83e52aa580a2d99b09bd0186bdece5ca9ee7e7091bd99cc5b05346cb1",
"d9ca28ee6abdcfce9356fa4db8beeee22c14d0e65899a2b4eef01b5f2819725668c5cecec21fc40bd8752f10075465c82f1a6a13da35348a164426727fe96efb",
"e970dfd6baa502cb355bbf11e9d7f11f79e67d1e6dff9b4a9a48a02d02953d4e461fb119945185b7582f73e268c89ccf8a8bc91329e163edec29d76822df0c28"
],
"package_installs": [
"3cb132a5",
"769005e0",
"1a701f0a",
"6bfda221",
"001a9918",
"04997c2c"
],
"transforms": []
}
}
}Check out the details for the dependencies flow history, lots there!
oh-snap cci history info 5a996296
Org History: 5a996296
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Key ┃ Value ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ action_type │ Flow │
│ name │ dependencies │
│ description │ Deploy dependencies to prepare the org environment for the package metadata │
│ group │ Dependency Management │
│ status │ success │
│ timestamp │ 2024-10-05 07:50:06 │
│ duration │ 9m:1s │
│ repo │ git@github.com:muselab-d2x/oh-snap │
│ branch │ main │
│ commit │ f71197ea4481c72b1c12547db7fab6c8fd024040 │
│ hash_action │ 5a996296 │
│ hash_config │ 29471178 │
│ log │ │
│ exception │ None │
│ config_steps │ '1': │
│ │ task: update_dependencies │
│ │ '2': │
│ │ task: deploy_pre │
│ │ │
│ steps │ - task: │
│ │ timestamp: 1728132640.919644 │
│ │ repo: git@github.com:muselab-d2x/oh-snap │
│ │ branch: main │
│ │ commit: f71197ea4481c72b1c12547db7fab6c8fd024040 │
│ │ hash_action: 08340472 │
│ │ hash_config: c5a6c78a │
│ │ duration: 507.6203598976135 │
│ │ status: success │
│ │ log: | │
│ │ Options: │
│ │ packages_only: False │
│ │ interactive: False │
│ │ base_package_url_format: {} │
│ │ Beginning task: UpdateDependencies │
│ │ │
│ │ Resolving dependencies... │
│ │ Collected dependencies: │
│ │ Contacts & Organizations 3.22 (04t4w000000tPkFAAU) │
│ │ Households 3.18 (04t4w000001E96GAAS) │
│ │ Recurring Donations 3.25 (04t4w000001E96BAAS) │
│ │ Relationships 3.15 (04t4w000000AojvAAC) │
│ │ Affiliations 3.13 (04t4w000000YjKXAA0) │
│ │ https://github.com/SalesforceFoundation/NPSP/unpackaged/pre/account_record_types @e36888a318f04fbb6efc271ca75ccc8a12460359 │
│ │ (unpackaged) │
│ │ https://github.com/SalesforceFoundation/NPSP/unpackaged/pre/opportunity_record_types @e36888a318f04fbb6efc271ca75ccc8a12460359 │
│ │ (unpackaged) │
│ │ Nonprofit Success Pack 3.230 (04t5d000000YIgAAAW) │
│ │ https://github.com/SalesforceFoundation/NPSP/unpackaged/post/first @e36888a318f04fbb6efc271ca75ccc8a12460359 (unpackaged) │
│ │ name: update_dependencies │
│ │ description: Installs all dependencies in project__dependencies into the target │
│ │ org │
│ │ group: Salesforce Packages │
│ │ class_path: cumulusci.tasks.salesforce.UpdateDependencies │
│ │ options: {} │
│ │ parsed_options: │
│ │ packages_only: false │
│ │ interactive: false │
│ │ base_package_url_format: '{}' │
│ │ deploys: │
│ │ repo: [] │
│ │ github: │
│ │ - hash: 3b903e8354fca69fb62f5018642736d4e40ad9f0b22457451514412967b8bfcbd8e0d0e83e52aa580a2d99b09bd0186bdece5ca9ee7e7091bd99cc5b05346cb1 │
│ │ size: 4100 │
│ │ subfolder: unpackaged/pre/account_record_types │
│ │ repo: https://github.com/SalesforceFoundation/NPSP │
│ │ commit: e36888a318f04fbb6efc271ca75ccc8a12460359 │
│ │ - hash: d9ca28ee6abdcfce9356fa4db8beeee22c14d0e65899a2b4eef01b5f2819725668c5cecec21fc40bd8752f10075465c82f1a6a13da35348a164426727fe96efb │
│ │ size: 3756 │
│ │ subfolder: unpackaged/pre/opportunity_record_types │
│ │ repo: https://github.com/SalesforceFoundation/NPSP │
│ │ commit: e36888a318f04fbb6efc271ca75ccc8a12460359 │
│ │ - hash: e970dfd6baa502cb355bbf11e9d7f11f79e67d1e6dff9b4a9a48a02d02953d4e461fb119945185b7582f73e268c89ccf8a8bc91329e163edec29d76822df0c28 │
│ │ size: 5652 │
│ │ subfolder: unpackaged/post/first │
│ │ repo: https://github.com/SalesforceFoundation/NPSP │
│ │ commit: e36888a318f04fbb6efc271ca75ccc8a12460359 │
│ │ zip_url: [] │
│ │ package_installs: │
│ │ - hash: 3cb132a5 │
│ │ namespace: npe01 │
│ │ version: '3.22' │
│ │ activate_remote_site_settings: true │
│ │ name_conflict_resolution: Block │
│ │ security_type: FULL │
│ │ - hash: 769005e0 │
│ │ namespace: npo02 │
│ │ version: '3.18' │
│ │ activate_remote_site_settings: true │
│ │ name_conflict_resolution: Block │
│ │ security_type: FULL │
│ │ - hash: 1a701f0a │
│ │ namespace: npe03 │
│ │ version: '3.25' │
│ │ activate_remote_site_settings: true │
│ │ name_conflict_resolution: Block │
│ │ security_type: FULL │
│ │ - hash: 6bfda221 │
│ │ namespace: npe4 │
│ │ version: '3.15' │
│ │ activate_remote_site_settings: true │
│ │ name_conflict_resolution: Block │
│ │ security_type: FULL │
│ │ - hash: 001a9918 │
│ │ namespace: npe5 │
│ │ version: '3.13' │
│ │ activate_remote_site_settings: true │
│ │ name_conflict_resolution: Block │
│ │ security_type: FULL │
│ │ - hash: 04997c2c │
│ │ namespace: npsp │
│ │ version: '3.230' │
│ │ activate_remote_site_settings: true │
│ │ name_conflict_resolution: Block │
│ │ security_type: FULL │
│ │ action_type: Task │
│ │ return_values: │
│ │ dependencies: │
│ │ - namespace: npe01 │
│ │ version: '3.22' │
│ │ package_name: Contacts & Organizations │
│ │ version_id: 04t4w000000tPkFAAU │
│ │ - namespace: npo02 │
│ │ version: '3.18' │
│ │ package_name: Households │
│ │ version_id: 04t4w000001E96GAAS │
│ │ - namespace: npe03 │
│ │ version: '3.25' │
│ │ package_name: Recurring Donations │
│ │ version_id: 04t4w000001E96BAAS │
│ │ - namespace: npe4 │
│ │ version: '3.15' │
│ │ package_name: Relationships │
│ │ version_id: 04t4w000000AojvAAC │
│ │ - namespace: npe5 │
│ │ version: '3.13' │
│ │ package_name: Affiliations │
│ │ version_id: 04t4w000000YjKXAA0 │
│ │ - unmanaged: true │
│ │ subfolder: unpackaged/pre/account_record_types │
│ │ hash: 3b903e8354fca69fb62f5018642736d4e40ad9f0b22457451514412967b8bfcbd8e0d0e83e52aa580a2d99b09bd0186bdece5ca9ee7e7091bd99cc5b05346cb1 │
│ │ size: 4100 │
│ │ base64: │
│ │ UEsDBBQAAAAIAFw+RVkAAAAAAgAAAAAAAAATAAAAb2JqZWN0VHJhbnNsYXRpb25zLwMAUEsDBBQAAAAIAFw+RVknLxgXBwEAAAMCAAAvAAAAb2JqZWN0VHJhbnNsYXRpb25zL0FjY291bn… │
│ │ github: https://github.com/SalesforceFoundation/NPSP │
│ │ ref: e36888a318f04fbb6efc271ca75ccc8a12460359 │
│ │ - unmanaged: true │
│ │ subfolder: unpackaged/pre/opportunity_record_types │
│ │ hash: d9ca28ee6abdcfce9356fa4db8beeee22c14d0e65899a2b4eef01b5f2819725668c5cecec21fc40bd8752f10075465c82f1a6a13da35348a164426727fe96efb │
│ │ size: 3756 │
│ │ base64: │
│ │ UEsDBBQAAAAIAGM+RVkAAAAAAgAAAAAAAAATAAAAb2JqZWN0VHJhbnNsYXRpb25zLwMAUEsDBBQAAAAIAGM+RVlAub2/qQAAAOwAAAAzAAAAb2JqZWN0VHJhbnNsYXRpb25zL09wcG9ydH… │
│ │ github: https://github.com/SalesforceFoundation/NPSP │
│ │ ref: e36888a318f04fbb6efc271ca75ccc8a12460359 │
│ │ - namespace: npsp │
│ │ version: '3.230' │
│ │ package_name: Nonprofit Success Pack │
│ │ version_id: 04t5d000000YIgAAAW │
│ │ - unmanaged: false │
│ │ subfolder: unpackaged/post/first │
│ │ namespace_inject: npsp │
│ │ hash: e970dfd6baa502cb355bbf11e9d7f11f79e67d1e6dff9b4a9a48a02d02953d4e461fb119945185b7582f73e268c89ccf8a8bc91329e163edec29d76822df0c28 │
│ │ size: 5652 │
│ │ base64: │
│ │ UEsDBBQAAAAIAGE/RVkAAAAAAgAAAAAAAAAIAAAAbGF5b3V0cy8DAFBLAwQUAAAACABhP0VZtdL33D8BAADeBQAAIwAAAGxheW91dHMvR2xvYmFsLUdsb2JhbCBMYXlvdXQubGF5b3V0xZ… │
│ │ github: https://github.com/SalesforceFoundation/NPSP │
│ │ ref: e36888a318f04fbb6efc271ca75ccc8a12460359 │
│ │ dependencies_hash: a8894cfb │
│ │ - task: │
│ │ timestamp: 1728133148.547027 │
│ │ repo: git@github.com:muselab-d2x/oh-snap │
│ │ branch: main │
│ │ commit: f71197ea4481c72b1c12547db7fab6c8fd024040 │
│ │ hash_action: aa136c7a │
│ │ hash_config: f7804e9a │
│ │ duration: 0.2655949592590332 │
│ │ status: success │
│ │ log: | │
│ │ Options: │
│ │ path: unpackaged/pre │
│ │ namespace_inject: d2x │
│ │ hash_only: False │
│ │ collision_check: False │
│ │ Beginning task: DeployBundles │
│ │ │
│ │ Deploying all metadata bundles in path /Users/jasonlantz/dev/oh-snap/unpackaged/pre │
│ │ Path /Users/jasonlantz/dev/oh-snap/unpackaged/pre not found, skipping │
│ │ name: deploy_pre │
│ │ description: Deploys all metadata bundles under unpackaged/pre/ │
│ │ group: Salesforce Metadata │
│ │ class_path: cumulusci.tasks.salesforce.DeployBundles │
│ │ options: │
│ │ path: unpackaged/pre │
│ │ parsed_options: │
│ │ path: unpackaged/pre │
│ │ namespace_inject: d2x │
│ │ collision_check: false │
│ │ hash_only: false │
│ │ deploys: │
│ │ repo: [] │
│ │ github: [] │
│ │ zip_url: [] │
│ │ action_type: Task │
│ │ return_values: {} │
│ │ │
└──────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
'''