You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: align prettier v2 -> v3 to match pre-release workflow
Root cause of recurring lint failures on release PRs: the pre-release
workflow installed latest prettier (v3.x) to format docs/history.md,
but the pre-commit hook pinned mirrors-prettier at v2.5.1. The v2/v3
formatting differences caused the pre-commit check to fail.
- Bump mirrors-prettier from v2.5.1 to v3.1.0 in .pre-commit-config.yaml
- Pin workflow to `prettier@3` to prevent future drift
- Add vendored assets (docs/diagram/, minified files) and Jinja
templates to .prettierignore
- One-time reformat of markdown/yaml/html files to v3 rules
These scripts are designed to work with the Salesforce Push Upgrade API (in Pilot in Winter 16) which exposes new objects via the Tooling API that allow interacting with push upgrades in a packaging org. The main purpose of these scripts is to use the Push Upgrade API to automate push upgrades through Jenkins.
3
+
These scripts are designed to work with the Salesforce Push Upgrade API (in Pilot in Winter 16) which exposes new objects via the Tooling API that allow interacting with push upgrades in a packaging org. The main purpose of these scripts is to use the Push Upgrade API to automate push upgrades through Jenkins.
4
4
5
5
# push_api.py - Python Wrapper for Push Upgrade API
6
6
7
-
This python file provides wrapper classes around the Tooling API objects and abstracts interaction with them and their related data to make writing scripts easier. All the other scripts in this directory use the SalesforcePushApi wrapper to interact with the Tooling API.
7
+
This python file provides wrapper classes around the Tooling API objects and abstracts interaction with them and their related data to make writing scripts easier. All the other scripts in this directory use the SalesforcePushApi wrapper to interact with the Tooling API.
8
8
9
9
Initializing the SalesforcePushApi wrapper can be done with the following python code:
You can also pass two optional keyword args to the initialization to control the wrapper's behavior
14
-
15
-
***lazy**: A list of objects that should be lazily looked up. Currently, the only implementations for this are 'jobs' and 'subscribers'. If either are included in the list, they will be looked up on demand when needed by a referenced object. For example, if you are querying all jobs and subscribers is not set to lazy, all subscribers will first be retrieved. If lazy is enabled, subscriber orgs will only be retrieved when trying to resolve references for a particular job. Generally, if you have a lot of subscribers and only expect your script to need to lookup a small number of them, enabling lazy for subscribers will reduce api calls and cause the script to run faster.
16
14
17
-
***default_where**: A dictionary with Push Upgrade API objects as key and a value containing a SOQL WHERE clause statement which is applied to all queries against the object to effectively set the universe for a given object. For example:
18
-
15
+
-**lazy**: A list of objects that should be lazily looked up. Currently, the only implementations for this are 'jobs' and 'subscribers'. If either are included in the list, they will be looked up on demand when needed by a referenced object. For example, if you are querying all jobs and subscribers is not set to lazy, all subscribers will first be retrieved. If lazy is enabled, subscriber orgs will only be retrieved when trying to resolve references for a particular job. Generally, if you have a lot of subscribers and only expect your script to need to lookup a small number of them, enabling lazy for subscribers will reduce api calls and cause the script to run faster.
16
+
17
+
-**default_where**: A dictionary with Push Upgrade API objects as key and a value containing a SOQL WHERE clause statement which is applied to all queries against the object to effectively set the universe for a given object. For example:
In the example above, the wrapper would never return a PackageSubscriber which is not a Sandbox org.
@@ -24,36 +23,35 @@ In the example above, the wrapper would never return a PackageSubscriber which i
24
23
25
24
## Common Environment Variables
26
25
27
-
The push scripts are all designed to receive their arguments via environment variables. The following are common amongst all of the Push Scripts
26
+
The push scripts are all designed to receive their arguments via environment variables. The following are common amongst all of the Push Scripts
28
27
29
-
***SF_USERNAME**: The Salesforce username for the packaging org
30
-
***SF_PASSWORD**: The Salesforce password and security token for the packaging org
31
-
***SF_SERVERURL**: The login url for the Salesforce packaging org.
28
+
-**SF_USERNAME**: The Salesforce username for the packaging org
29
+
-**SF_PASSWORD**: The Salesforce password and security token for the packaging org
30
+
-**SF_SERVERURL**: The login url for the Salesforce packaging org.
32
31
33
32
## get_version_id.py
34
33
35
-
Takes a namespace and version string and looks up the given version. Returns the version's Salesforce Id.
34
+
Takes a namespace and version string and looks up the given version. Returns the version's Salesforce Id.
36
35
37
36
The script handles parsing the version number string into a SOQL query against the MetadataPackageVersion object with the correct MajorVersion, MinorVersion, PatchVersion, ReleaseState, and BuildNumber (i.e. Beta number).
38
37
39
38
### Required Environment Variables
40
39
41
-
***NAMESPACE**: The Package's namespace prefix
42
-
***VERSION_NUMBER**: The version number string.
40
+
-**NAMESPACE**: The Package's namespace prefix
41
+
-**VERSION_NUMBER**: The version number string.
43
42
44
43
## orgs_for_push.py
45
44
46
45
Takes a MetadataPackageVersion Id and optionally a where clause to filter Subscribers and returns a list of OrgId's one per line which can be fed into the schedule_push.py script.
47
46
48
47
### Required Environment Variables
49
48
50
-
***VERSION**: The MetadataPackageVersion Id of the version you want to push upgrade. This is used to look for all users not on the version or a newer version
49
+
-**VERSION**: The MetadataPackageVersion Id of the version you want to push upgrade. This is used to look for all users not on the version or a newer version
51
50
52
51
### Optional Environment Variables
53
52
54
-
***SUBSCRIBER_WHERE**: An extra filter to be applied to all Subscriber queries. For example, setting this to OrgType = 'Sandbox' would find all Sandbox orgs eligible for push upgrade to the specified version
53
+
-**SUBSCRIBER_WHERE**: An extra filter to be applied to all Subscriber queries. For example, setting this to OrgType = 'Sandbox' would find all Sandbox orgs eligible for push upgrade to the specified version
55
54
56
55
## failed_orgs_for_push.py
57
56
58
-
Takes a PackagePushRequest Id and optionally a where clause to filter Subscribers and returns a list of OrgId's one per line for all orgs which failed the
59
-
57
+
Takes a PackagePushRequest Id and optionally a where clause to filter Subscribers and returns a list of OrgId's one per line for all orgs which failed the
Copy file name to clipboardExpand all lines: cumulusci/tasks/release_notes/README.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,25 +13,25 @@ Start the section with `# Critical Changes` followed by your content
13
13
For example:
14
14
15
15
This won't be included
16
-
16
+
17
17
# Critical Changes
18
-
18
+
19
19
This will be included in Critical Changes
20
-
20
+
21
21
## Changes
22
22
23
-
The Changes section is where you should list off any changes worth highlight to users in the release notes. This section should always include instructions for users for any post-upgrade tasks they need to perform to enable new functionality. For example, users should be told to grant permissions and add new CustomFields to layouts.
23
+
The Changes section is where you should list off any changes worth highlight to users in the release notes. This section should always include instructions for users for any post-upgrade tasks they need to perform to enable new functionality. For example, users should be told to grant permissions and add new CustomFields to layouts.
24
24
25
25
Start the section with `# Changes` followed by your content
26
26
27
27
For example:
28
28
29
29
This won't be included
30
-
30
+
31
31
# Changes
32
-
32
+
33
33
This will be included in Changes
34
-
34
+
35
35
## Issues Closed
36
36
37
37
The Issues Closed section is where you should link to any closed issues that should be listed in the release notes.
@@ -41,9 +41,9 @@ Start the section with `# Changes` followed by your content
41
41
For example:
42
42
43
43
This won't be included
44
-
44
+
45
45
# Issues Closed
46
-
46
+
47
47
Fixes #102
48
48
resolves #100
49
49
This release closes #101
@@ -55,9 +55,9 @@ Would output:
55
55
#100: Title of Issue 100
56
56
#101: Title of Issue 101
57
57
#102: Title of Issue 102
58
-
58
+
59
59
A few notes about how issues are parsed:
60
60
61
-
* The parser uses the same format as Github: https://help.github.com/articles/closing-issues-via-commit-messages/
62
-
* The parser searches for all issue numbers and sorts them by their integer value, looks up their title, and outputs a formatted line with the issue number and title for each issue.
63
-
*The parser ignores everything else in the line that is not an issue number. Anything that is not an issue number will not appear in the rendered release notes
61
+
- The parser uses the same format as Github: https://help.github.com/articles/closing-issues-via-commit-messages/
62
+
- The parser searches for all issue numbers and sorts them by their integer value, looks up their title, and outputs a formatted line with the issue number and title for each issue.
63
+
-The parser ignores everything else in the line that is not an issue number. Anything that is not an issue number will not appear in the rendered release notes
0 commit comments