Skip to content

Commit

Permalink
Use shared workflow
Browse files Browse the repository at this point in the history
Changes this workflow to use a shared workflow, which will make it easier to manage across all repos in this org.
  • Loading branch information
chrispine authored Jan 25, 2024
1 parent 0564151 commit 1937a73
Showing 1 changed file with 4 additions and 72 deletions.
76 changes: 4 additions & 72 deletions .github/workflows/add-to-project.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,75 +15,7 @@ on:
- created

jobs:
add-to-project:
name: Add issue to project
runs-on: ubuntu-latest
steps:
- name: Get GitHub app token
uses: actions/create-github-app-token@v1
id: app_token
with:
app-id: ${{ secrets.CONNECT_EXPORT_APP_ID }}
private-key: ${{ secrets.CONNECT_EXPORT_APP_KEY }}
- uses: actions/[email protected]
with:
project-url: https://github.com/orgs/connectrpc/projects/1
github-token: ${{ steps.app_token.outputs.token }}
- name: Get project id if status is done
if: ${{ github.event_name == 'issue_comment' }}
id: get_project_item_id
env:
GH_TOKEN: ${{ steps.app_token.outputs.token }}
run: |
echo item_id=$(gh api graphql -f query='query {
repository(name: "${{ github.event.repository.name }}", owner: "${{ github.event.repository.owner.login }}") {
name
issue(number: ${{ github.event.issue.number }}) @include(if: ${{ github.event.issue.pull_request == null }}) {
projectItems(first: 100) {
nodes {
id
fieldValueByName(name: "Status") {
... on ProjectV2ItemFieldSingleSelectValue {
optionId
}
}
project {
number
}
}
}
}
pullRequest(number: ${{ github.event.issue.number }}) @include(if: ${{ github.event.issue.pull_request != null }}) {
projectItems(first: 100) {
nodes {
id
fieldValueByName(name: "Status") {
... on ProjectV2ItemFieldSingleSelectValue {
optionId
}
}
project {
number
}
}
}
}
}
}' | jq -r 'if .data.repository.issue != null then .data.repository.issue else .data.repository.pullRequest end | .projectItems.nodes | .[] | select(.project.number==1 and .fieldValueByName.optionId == "dea0b2c9") | .id') >> $GITHUB_OUTPUT
- name: "Update status"
if: ${{ steps.get_project_item_id.outputs.item_id != '' }}
env:
GH_TOKEN: ${{ steps.app_token.outputs.token }}
run: |
gh api graphql -f query='mutation {
updateProjectV2ItemFieldValue(
input: {
fieldId: "PVTSSF_lADOBcwMos4AX_p_zgPVtzo"
itemId: "${{ steps.get_project_item_id.outputs.item_id }}"
projectId: "PVT_kwDOBcwMos4AX_p_"
value: { singleSelectOptionId: "80a785d9" }
}
) {
clientMutationId
}
}'
call-workflow-add-to-project:
name: Call workflow to add issue to project
uses: connectrpc/base-workflows/.github/workflows/add-to-projects.yaml@main
secrets: inherit

0 comments on commit 1937a73

Please sign in to comment.