diff --git a/.github/workflows/sync-jira.yml b/.github/workflows/sync-jira.yml new file mode 100644 index 0000000..b650fc7 --- /dev/null +++ b/.github/workflows/sync-jira.yml @@ -0,0 +1,62 @@ +--- +# FILE: .github/workflows/sync-jira.yml + +# This GitHub Actions workflow synchronizes GitHub issues, comments, and pull requests with Jira. +# It triggers on new issues, issue comments, and on a scheduled basis. +# The workflow uses a custom action to perform the synchronization with Jira (espressif/sync-jira-actions). + +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: + - name: Check out + uses: actions/checkout@v4 + + - name: Run synchronization 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: EIM # <---- update for your Jira project + JIRA_COMPONENT: GitHub + JIRA_URL: ${{ secrets.JIRA_URL }} + JIRA_USER: ${{ secrets.JIRA_USER }}