From hootsuite-pack
Configures GitHub Actions CI/CD workflows for Hootsuite, with unit tests, API integration tests via Node.js, and repo secret setup using gh CLI.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin hootsuite-packThis skill is limited to using the following tools:
```yaml
Sets up local dev for Hootsuite API integrations with TypeScript OAuth client, auto token refresh, project structure, and mocked tests.
Sets up GitHub Actions CI/CD for HubSpot integrations with unit/integration tests, test account secrets, and API verification in Node.js projects.
Sets up GitHub Actions CI/CD workflows for Klaviyo API integrations, including Vitest unit tests, API integration tests, npm setup, and secret configuration.
Share bugs, ideas, or general feedback.
name: Hootsuite Integration
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20', cache: 'npm' }
- run: npm ci
- run: npm test # Mocked tests, no API access needed
integration:
if: github.ref == 'refs/heads/main'
needs: test
runs-on: ubuntu-latest
env:
HOOTSUITE_CLIENT_ID: ${{ secrets.HOOTSUITE_CLIENT_ID }}
HOOTSUITE_CLIENT_SECRET: ${{ secrets.HOOTSUITE_CLIENT_SECRET }}
HOOTSUITE_REFRESH_TOKEN: ${{ secrets.HOOTSUITE_REFRESH_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20', cache: 'npm' }
- run: npm ci
- name: Refresh token and test API
run: node scripts/test-api-connection.js
gh secret set HOOTSUITE_CLIENT_ID --body "client_id"
gh secret set HOOTSUITE_CLIENT_SECRET --body "client_secret"
gh secret set HOOTSUITE_REFRESH_TOKEN --body "refresh_token"
For deployment, see hootsuite-deploy-integration.