Skip to content

Gitcoin Passport

Gitcoin Passport #11

name: Post preview link on new content issues
on:
issues:
types: [opened]
jobs:
preview-comment:
if: contains(github.event.issue.labels.*.name, 'content')
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Detect content type from labels
id: detect
run: |
LABELS='${{ toJSON(github.event.issue.labels.*.name) }}'
for TYPE in app mechanism research case-study campaign; do
if echo "$LABELS" | grep -q "\"$TYPE\""; then
echo "type=$TYPE" >> "$GITHUB_OUTPUT"
break
fi
done
- name: Post preview comment
if: steps.detect.outputs.type
uses: actions/github-script@v7
with:
script: |
const issue = context.issue.number;
const type = '${{ steps.detect.outputs.type }}';
const siteUrl = 'https://gitcoin.co';
const previewUrl = `${siteUrl}/preview?issue=${issue}&type=${type}`;
await github.rest.issues.createComment({
...context.repo,
issue_number: issue,
body: [
`### Preview your submission`,
``,
`[View preview](${previewUrl})`,
``,
`Once reviewed and approved by a maintainer, your content will be published to the site.`,
].join('\n'),
});