lf
This commit is contained in:
@@ -1,58 +1,58 @@
|
||||
name: Milestone Rename
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo:
|
||||
required: true
|
||||
type: string
|
||||
currentName:
|
||||
required: true
|
||||
type: string
|
||||
newName:
|
||||
required: true
|
||||
type: string
|
||||
jobs:
|
||||
rename:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Rename
|
||||
run: |
|
||||
GITEA_API_URL="https://gitea.greyhound-software.com/api/v1"
|
||||
OWNER="greyhound"
|
||||
API_TOKEN=${{ vars.PAT_TOKEN }}
|
||||
|
||||
# Fetch milestones from the repository
|
||||
milestones=$(curl -s -H "Authorization: token $API_TOKEN" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/milestones")
|
||||
|
||||
# Extract the ID of the ${{ inputs.currentName }} milestone
|
||||
update_milestone_id=$(echo "$milestones" | jq '.[] | select(.title == "${{ inputs.currentName }}") | .id')
|
||||
|
||||
if [ -z "$update_milestone_id" ]; then
|
||||
echo "No milestone named '${{ inputs.currentName }}' found. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Found '${{ inputs.currentName }}' milestone with ID: $update_milestone_id"
|
||||
|
||||
echo "Rename the '${{ inputs.currentName }}' milestone to '${{ inputs.newName }}"
|
||||
new_name="${{ inputs.newName }}"
|
||||
milestone_update=$(curl -s -X PATCH -H "Authorization: token $API_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"title\": \"$new_name\", \"state\": \"closed\"}" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/milestones/$update_milestone_id")
|
||||
|
||||
echo "Renamed '${{ inputs.currentName }}' milestone to $new_name: $milestone_update"
|
||||
|
||||
# Create a new milestone named "${{ inputs.currentName }}"
|
||||
|
||||
milestone_data=$(jq -n \
|
||||
--arg title "${{ inputs.currentName }}" \
|
||||
'{"title": $title}')
|
||||
|
||||
response=$(curl -s -X POST -H "Authorization: token $API_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$milestone_data" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/milestones")
|
||||
|
||||
name: Milestone Rename
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo:
|
||||
required: true
|
||||
type: string
|
||||
currentName:
|
||||
required: true
|
||||
type: string
|
||||
newName:
|
||||
required: true
|
||||
type: string
|
||||
jobs:
|
||||
rename:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Rename
|
||||
run: |
|
||||
GITEA_API_URL="https://gitea.greyhound-software.com/api/v1"
|
||||
OWNER="greyhound"
|
||||
API_TOKEN=${{ vars.PAT_TOKEN }}
|
||||
|
||||
# Fetch milestones from the repository
|
||||
milestones=$(curl -s -H "Authorization: token $API_TOKEN" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/milestones")
|
||||
|
||||
# Extract the ID of the ${{ inputs.currentName }} milestone
|
||||
update_milestone_id=$(echo "$milestones" | jq '.[] | select(.title == "${{ inputs.currentName }}") | .id')
|
||||
|
||||
if [ -z "$update_milestone_id" ]; then
|
||||
echo "No milestone named '${{ inputs.currentName }}' found. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Found '${{ inputs.currentName }}' milestone with ID: $update_milestone_id"
|
||||
|
||||
echo "Rename the '${{ inputs.currentName }}' milestone to '${{ inputs.newName }}"
|
||||
new_name="${{ inputs.newName }}"
|
||||
milestone_update=$(curl -s -X PATCH -H "Authorization: token $API_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"title\": \"$new_name\", \"state\": \"closed\"}" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/milestones/$update_milestone_id")
|
||||
|
||||
echo "Renamed '${{ inputs.currentName }}' milestone to $new_name: $milestone_update"
|
||||
|
||||
# Create a new milestone named "${{ inputs.currentName }}"
|
||||
|
||||
milestone_data=$(jq -n \
|
||||
--arg title "${{ inputs.currentName }}" \
|
||||
'{"title": $title}')
|
||||
|
||||
response=$(curl -s -X POST -H "Authorization: token $API_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$milestone_data" \
|
||||
"$GITEA_API_URL/repos/$OWNER/${{ inputs.repo }}/milestones")
|
||||
|
||||
echo "Created new '${{ inputs.currentName }}' milestone: $response"
|
||||
Reference in New Issue
Block a user