diff --git a/.github/workflows/set-start-date.yml b/.github/workflows/set-date.yml similarity index 53% rename from .github/workflows/set-start-date.yml rename to .github/workflows/set-date.yml index 63cd419538..9c7c6ecb86 100644 --- a/.github/workflows/set-start-date.yml +++ b/.github/workflows/set-date.yml @@ -1,17 +1,18 @@ -name: Set the Start Date in the project +name: Set the Date in the project on: issues: - types: [assigned] + types: [assigned, closed] jobs: set_date: runs-on: ubuntu-22.04 steps: - - name: Get project data + - name: Get project data for start date env: GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} ORGANIZATION: keptn PROJECT_NUMBER: 18 + if: ${{ github.event.action == 'assigned' }} run: | gh api graphql -f query=' query($org: String!, $number: Int!) { @@ -39,7 +40,41 @@ jobs: }' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV echo 'DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Start Date") | .id' project_data.json) >> $GITHUB_ENV - + + - name: Get project data for end date + env: + GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} + ORGANIZATION: keptn + PROJECT_NUMBER: 18 + if: ${{ github.event.action == 'closed' }} + run: | + gh api graphql -f query=' + query($org: String!, $number: Int!) { + organization(login: $org){ + projectV2(number: $number) { + id + fields(first:20) { + nodes { + ... on ProjectV2Field { + id + name + } + ... on ProjectV2SingleSelectField { + id + name + options { + id + name + } + } + } + } + } + } + }' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json + echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV + echo 'DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "End Date") | .id' project_data.json) >> $GITHUB_ENV + - name: Get date run: echo "DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV @@ -61,6 +96,7 @@ jobs: - name: Set Start Date env: GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} + if: ${{ github.event.action == 'assigned' }} run: | gh api graphql -f query=' mutation ( @@ -82,3 +118,30 @@ jobs: } } }' -f project=$PROJECT_ID -f item=$ITEM_ID -f date_field=$DATE_FIELD_ID -f date_value=$DATE + + - name: Set End Date + env: + GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} + if: ${{ github.event.action == 'closed' }} + run: | + gh api graphql -f query=' + mutation ( + $project: ID! + $item: ID! + $date_field: ID! + $date_value: Date! + ) { + set_end_date: updateProjectV2ItemFieldValue(input: { + projectId: $project + itemId: $item + fieldId: $date_field + value: { + date: $date_value + } + }) { + projectV2Item { + id + } + } + }' -f project=$PROJECT_ID -f item=$ITEM_ID -f date_field=$DATE_FIELD_ID -f date_value=$DATE + diff --git a/.github/workflows/set-end-date.yml b/.github/workflows/set-end-date.yml deleted file mode 100644 index 39e690f32c..0000000000 --- a/.github/workflows/set-end-date.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: Set the End Date in the project - -on: - issues: - types: [closed] -jobs: - set_date: - runs-on: ubuntu-22.04 - steps: - - name: Get project data - env: - GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} - ORGANIZATION: keptn - PROJECT_NUMBER: 18 - run: | - gh api graphql -f query=' - query($org: String!, $number: Int!) { - organization(login: $org){ - projectV2(number: $number) { - id - fields(first:20) { - nodes { - ... on ProjectV2Field { - id - name - } - ... on ProjectV2SingleSelectField { - id - name - options { - id - name - } - } - } - } - } - } - }' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json - echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV - echo 'DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "End Date") | .id' project_data.json) >> $GITHUB_ENV - - - name: Get date - run: echo "DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV - - - name: Add item id - env: - GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} - ISSUE_ID: ${{ github.event.issue.node_id }} - run: | - item_id="$( gh api graphql -f query=' - mutation($project:ID!, $issue:ID!) { - addProjectV2ItemById(input: {projectId: $project, contentId: $issue}) { - item { - id - } - } - }' -f project=$PROJECT_ID -f issue=$ISSUE_ID --jq '.data.addProjectV2ItemById.item.id')" - echo 'ITEM_ID='$item_id >> $GITHUB_ENV - - - name: Set End Date - env: - GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} - run: | - gh api graphql -f query=' - mutation ( - $project: ID! - $item: ID! - $date_field: ID! - $date_value: Date! - ) { - set_end_date: updateProjectV2ItemFieldValue(input: { - projectId: $project - itemId: $item - fieldId: $date_field - value: { - date: $date_value - } - }) { - projectV2Item { - id - } - } - }' -f project=$PROJECT_ID -f item=$ITEM_ID -f date_field=$DATE_FIELD_ID -f date_value=$DATE -