woocommerce/tools/release-posts
Sam Seay 614d98ff60
Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600)
Also add contributor command and auto tagging to release-post-generator (#34608)
2022-09-11 09:55:53 +12:00
..
commands/release-post Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +12:00
lib Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +12:00
templates Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +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
README.md Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +12: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 Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +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 Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600) 2022-09-11 09:55:53 +12: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 wc.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