ci: consolidate Jira sync workflows and update to sync-jira-actions@v1
Replace three separate Jira sync workflows (new_issues.yml, issue_comment.yml, new_prs.yml) with a single sync-jira.yml following the recommended pattern from espressif/sync-jira-actions. Changes: - Migrate from espressif/github-actions/sync_issues_to_jira@master to espressif/sync-jira-actions@v1 - Add missing GITHUB_TOKEN permissions (contents:read, issues:write, pull-requests:write) - Add workflow_dispatch trigger for manual syncing - Add dynamic run-name for better visibility in Actions UI Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,20 +0,0 @@
|
|||||||
name: Sync issue comments to JIRA
|
|
||||||
|
|
||||||
# This workflow will be triggered when new issue comment is created (including PR comments)
|
|
||||||
on: issue_comment
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
sync_issue_comments_to_jira:
|
|
||||||
name: Sync Issue Comments to Jira
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
- name: Sync issue comments to JIRA
|
|
||||||
uses: espressif/github-actions/sync_issues_to_jira@master
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
JIRA_PASS: ${{ secrets.JIRA_PASS }}
|
|
||||||
JIRA_PROJECT: QEMU
|
|
||||||
JIRA_COMPONENT: GitHub
|
|
||||||
JIRA_URL: ${{ secrets.JIRA_URL }}
|
|
||||||
JIRA_USER: ${{ secrets.JIRA_USER }}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
name: Sync issues to Jira
|
|
||||||
|
|
||||||
# This workflow will be triggered when a new issue is opened
|
|
||||||
on: issues
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
sync_issues_to_jira:
|
|
||||||
name: Sync issues to Jira
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
- name: Sync GitHub issues to Jira project
|
|
||||||
uses: espressif/github-actions/sync_issues_to_jira@master
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
JIRA_PASS: ${{ secrets.JIRA_PASS }}
|
|
||||||
JIRA_PROJECT: QEMU
|
|
||||||
JIRA_COMPONENT: GitHub
|
|
||||||
JIRA_URL: ${{ secrets.JIRA_URL }}
|
|
||||||
JIRA_USER: ${{ secrets.JIRA_USER }}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
name: Sync remain PRs to Jira
|
|
||||||
|
|
||||||
# This workflow will be triggered every hour, to sync remaining PRs (i.e. PRs with zero comment) to Jira project
|
|
||||||
# Note that, PRs can also get synced when new PR comment is created
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: "0 * * * *"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
sync_prs_to_jira:
|
|
||||||
name: Sync PRs to Jira
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
- name: Sync PRs to Jira project
|
|
||||||
uses: espressif/github-actions/sync_issues_to_jira@master
|
|
||||||
with:
|
|
||||||
cron_job: true
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
JIRA_PASS: ${{ secrets.JIRA_PASS }}
|
|
||||||
JIRA_PROJECT: QEMU
|
|
||||||
JIRA_COMPONENT: GitHub
|
|
||||||
JIRA_URL: ${{ secrets.JIRA_URL }}
|
|
||||||
JIRA_USER: ${{ secrets.JIRA_USER }}
|
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
name: Sync to Jira
|
||||||
|
|
||||||
|
run-name: >
|
||||||
|
Sync to Jira -
|
||||||
|
${{ github.event_name == 'issue_comment' && 'Issue Comment' ||
|
||||||
|
github.event_name == 'schedule' && 'New Pull Requests' ||
|
||||||
|
github.event_name == 'issues' && 'New Issue' ||
|
||||||
|
github.event_name == 'workflow_dispatch' && 'Manual Sync' }}
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues: {types: [opened]}
|
||||||
|
issue_comment: {types: [created, edited, deleted]}
|
||||||
|
schedule: [cron: '0 * * * *']
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
action: {description: 'Action to be performed', required: true, default: 'mirror-issues'}
|
||||||
|
issue-numbers: {description: 'Issue numbers to sync (comma-separated)', required: true}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sync-to-jira:
|
||||||
|
name: >
|
||||||
|
Sync to Jira -
|
||||||
|
${{ github.event_name == 'issue_comment' && 'Issue Comment' ||
|
||||||
|
github.event_name == 'schedule' && 'New Pull Requests' ||
|
||||||
|
github.event_name == 'issues' && 'New Issue' ||
|
||||||
|
github.event_name == 'workflow_dispatch' && 'Manual Sync' }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Sync to Jira
|
||||||
|
uses: espressif/sync-jira-actions@v1
|
||||||
|
with:
|
||||||
|
cron_job: ${{ github.event_name == 'schedule' && 'true' || '' }}
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
JIRA_PASS: ${{ secrets.JIRA_PASS }}
|
||||||
|
JIRA_PROJECT: QEMU
|
||||||
|
JIRA_COMPONENT: GitHub
|
||||||
|
JIRA_URL: ${{ secrets.JIRA_URL }}
|
||||||
|
JIRA_USER: ${{ secrets.JIRA_USER }}
|
||||||
Reference in New Issue
Block a user