Update workflow

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
This commit is contained in:
hossainemruz 2021-10-30 02:25:30 +06:00
parent 293f72e1f9
commit e2b9135778

View file

@ -50,6 +50,7 @@ jobs:
# Read the id of the "Status" field options # Read the id of the "Status" field options
echo 'STATUS_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.id' project_data.json) >> $GITHUB_ENV echo 'STATUS_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_TODO='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_IN_PROGRESS='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="In Progress") |.id' project_data.json) >> $GITHUB_ENV echo 'STATUS_IN_PROGRESS='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="In Progress") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_READY_FOR_REVIEW='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Ready for Review") |.id' project_data.json) >> $GITHUB_ENV echo 'STATUS_READY_FOR_REVIEW='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Ready for Review") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_DONE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Done") |.id' project_data.json) >> $GITHUB_ENV echo 'STATUS_DONE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Done") |.id' project_data.json) >> $GITHUB_ENV
@ -128,7 +129,7 @@ jobs:
run: | run: |
MERGED=${{github.event.pull_request.merged}} MERGED=${{github.event.pull_request.merged}}
STATE=${{github.event.pull_request.state}} STATE=${{github.event.pull_request.state}}
REVIEWER=${{github.event.pull_request.requested_reviewers}} REVIEWERS=${{github.event.pull_request.requested_reviewers}}
DRAFT=${{github.event.pull_request.draft}} DRAFT=${{github.event.pull_request.draft}}
echo "Merged: $MERGED" echo "Merged: $MERGED"
@ -136,6 +137,18 @@ jobs:
echo "Draft: $DRAFT" echo "Draft: $DRAFT"
echo "Reviewer: $REVIEWER" echo "Reviewer: $REVIEWER"
OPTION_ID=$STATUS_TODO
if [[ ("${MERGED}" == "true") || ("${STATUS}" == "closed") ]]
then
OPTION_ID=$STATUS_DONE
elif [[ ${#REVIEWERS[@]} -gt 0 ]]
then
OPTION_ID=$STATUS_READY_FOR_REVIEW
else
OPTION_ID=$STATUS_IN_PROGRESS
fi
gh api graphql -f query=' gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: ID!) { mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: ID!) {
updateProjectNextItemField(input: { updateProjectNextItemField(input: {
@ -148,4 +161,4 @@ jobs:
id id
} }
} }
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$STATUS_ID" -f status_id="$STATUS_IN_PROGRESS" --silent }' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$STATUS_ID" -f status_id="$OPTION_ID" --silent