test9 #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Add Issue to Project | |
on: | |
issues: | |
types: [opened] | |
jobs: | |
add-issue-to-project: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Get issue ID | |
id: get_issue_id | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
issue_number=${{ github.event.issue.number }} | |
issue_id=$(gh api graphql -F owner='${{ github.repository_owner }}' -F name='${{ github.event.repository.name }}' -F issueNumber=$issue_number -f query=' | |
query ($owner: String!, $name: String!, $issueNumber: Int!) { | |
repository(owner: $owner, name: $name) { | |
issue(number: $issueNumber) { | |
id | |
} | |
} | |
}' -q .data.repository.issue.id) | |
echo "ISSUE_ID=$issue_id" >> $GITHUB_ENV | |
- name: Verify access to project | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
DEV_PROJECT_ID: ${{ secrets.DEV_PROJECT_ID }} | |
run: | | |
result=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
-H "Accept: application/vnd.github.v3+json" \ | |
"https://api.github.com/projects/$DEV_PROJECT_ID") | |
echo "Project response: $result" | |
if echo "$result" | jq -e . >/dev/null 2>&1; then | |
project_state=$(echo $result | jq -r '.state') | |
if [ "$project_state" != "active" ]; then | |
echo "Project is not active or not found" | |
exit 1 | |
fi | |
else | |
echo "Failed to parse project response as JSON." | |
exit 1 | |
fi | |
- name: Get columns in project | |
id: get_columns | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
DEV_PROJECT_ID: ${{ secrets.DEV_PROJECT_ID }} | |
run: | | |
columns=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
-H "Accept: application/vnd.github.inertia-preview+json" \ | |
"https://api.github.com/projects/$DEV_PROJECT_ID/columns") | |
echo "Columns response: $columns" | |
if echo "$columns" | jq -e . >/dev/null 2>&1; then | |
column_id=$(echo $columns | jq -r '.[] | select(.name == "No Status") | .id') | |
if [ -n "$column_id" ]; then | |
echo "COLUMN_ID=$column_id" >> $GITHUB_ENV | |
else | |
echo "No column found with the name 'No Status'." | |
exit 1 | |
fi | |
else | |
echo "Failed to parse columns response as JSON." | |
exit 1 | |
fi | |
- name: Add issue to project | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
PROJECT_CARD_URL="https://api.github.com/projects/columns/$COLUMN_ID/cards" | |
# Create a project card for the issue in the specified column | |
curl -X POST -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
-H "Accept: application/vnd.github.v3+json" \ | |
$PROJECT_CARD_URL \ | |
-d '{"content_id": "'"${ISSUE_ID}"'", "content_type": "Issue"}' |