woocommerce/tools/release-posts
Sam Seay 4a2fd63b99
Use syncpack customTypes to keep pnpm and node in sync. Update pnpm to 8.6.7 (#39245)
2023-07-18 14:27:18 +12:00
..
commands/release-post Monorepo Utils: Migrate cli-core (#38018) 2023-04-28 10:16:19 +12:00
lib Monorepo Utils: Migrate cli-core (#38018) 2023-04-28 10:16:19 +12:00
templates Add RC draft post command, make some minor improvements to beta post command (#37288) 2023-04-03 15:19:39 +12:00
.env.sample Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +12:00
.prettierignore Fix release post template syntax errors and add prettierignore (#36411) 2023-01-18 18:43:00 +13:00
README.md Add PR links to release post template output, and allow blog ID to be specified. (#36026) 2023-01-23 08:31:59 -06:00
index.ts Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +12:00
package.json Use syncpack customTypes to keep pnpm and node in sync. Update pnpm to 8.6.7 (#39245) 2023-07-18 14:27:18 +12:00
program.ts Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +12:00
tsconfig.json Introduce a beta post command to the release post tool (#37142) 2023-03-17 08:37:53 +13:00

README.md

Release Post Generator CLI tool

This is a cli tool designed to generate draft release posts for WooCommerce. Posts generated via the tool will be draft posted to https://developer.woocommerce.com.

You can also generate an HTML representation of the post if you don't have access to a WordPress.com auth token.

Setup

  1. Make sure pnpm i has been run in the monorepo.
  2. Make sure you have added a .env file with the env variables set. WCCOM_TOKEN is optional if you're using --outputOnly, but the GITHUB_ACCESS_TOKEN is required. If you need help generating a token see the docs. To silence all CLI output, set LOGGER_LEVEL to "silent".
  3. Note that the env file should live at the same path that you're running the command from.
  4. Run the tool via the npm script, e.g. pnpm run release-post -- "6.8.0" --outputOnly
  5. For more help on individual options, run the help pnpm run release-post -- --help

Publishing Draft Posts

This tool will publish draft posts to https://developer.woocommerce.com for you if you omit the --outputOnly flag. There is some minimal first time setup for this though:

  1. Create an app on WordPress.com here.
  2. Recommended settings:
  1. Once your app is created you can go back to the app list and click "manage app".
  2. Take note of the client secret and the client id.
  3. In your .env file add the client secret to the WPCOM_OAUTH_CLIENT_SECRET variable and the client id to the WPCOM_OAUTH_CLIENT_ID variable.

Generating Just a Contributors List

If you don't have a final release yet you can generate an HTML contributors list that you can copy paste into a blank post.

To do that simply run pnpm run release-post contributors -- "<currentVersion>" "<previousVersion>"

Advanced

If you can't run anything on your localhost port 3000 you may want to override the redirect uri for oauth.

Steps:

  1. Add your preferred redirect URI to the WPCOM_OAUTH_REDIRECT_URI variable in .env. e.g. http://localhost:4321/oauth
  2. When creating your app on WordPress.com make sure the redirect URL you set matches the one set in .env