-
Notifications
You must be signed in to change notification settings - Fork 108
chore: add jira auto-closing automation - MCP-102 #441
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,9 +1,15 @@ | ||||||||||||
--- | ||||||||||||
name: Create JIRA ticket for new issues | ||||||||||||
# This workflow automatically creates JIRA tickets when GitHub issues are opened | ||||||||||||
# and closes JIRA tickets when GitHub issues are closed. | ||||||||||||
# | ||||||||||||
# Required secrets: | ||||||||||||
# - JIRA_API_TOKEN: Your JIRA API token | ||||||||||||
# | ||||||||||||
name: Create and close JIRA tickets for GitHub issues | ||||||||||||
|
||||||||||||
on: | ||||||||||||
issues: | ||||||||||||
types: [opened, labeled] | ||||||||||||
types: [opened, labeled, closed] | ||||||||||||
|
||||||||||||
permissions: | ||||||||||||
issues: write | ||||||||||||
|
@@ -70,3 +76,37 @@ jobs: | |||||||||||
} catch (error) { | ||||||||||||
console.log('⚠️ Could not remove create-jira label:', error.message); | ||||||||||||
} | ||||||||||||
|
||||||||||||
close_jira_task: | ||||||||||||
name: Close Jira issue | ||||||||||||
runs-on: ubuntu-latest | ||||||||||||
if: github.event.action == 'closed' | ||||||||||||
steps: | ||||||||||||
- uses: GitHubSecurityLab/actions-permissions/monitor@v1 | ||||||||||||
with: | ||||||||||||
config: ${{ vars.PERMISSIONS_CONFIG }} | ||||||||||||
|
||||||||||||
- name: Find JIRA ticket by GitHub issue number | ||||||||||||
id: find_jira | ||||||||||||
uses: mongodb/apix-action/find-jira@v1 | ||||||||||||
with: | ||||||||||||
token: ${{ secrets.JIRA_API_TOKEN }} | ||||||||||||
jql: "project = MCP AND description ~ '${{ github.event.issue.html_url }}'" | ||||||||||||
|
||||||||||||
- name: Close JIRA ticket | ||||||||||||
if: steps.find_jira.outputs.found == 'true' | ||||||||||||
uses: mongodb/apix-action/transition-jira@v1 | ||||||||||||
id: close_jira_ticket | ||||||||||||
continue-on-error: true | ||||||||||||
with: | ||||||||||||
token: ${{ secrets.JIRA_API_TOKEN }} | ||||||||||||
issue-key: ${{ steps.find_jira.outputs.issue-key }} | ||||||||||||
transition-id: 1381 # Resolved | ||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The transition ID 1381 is a magic number that could vary between JIRA instances or change over time. Consider making this configurable via a repository variable or secret, or add a comment explaining how to determine the correct transition ID for different JIRA setups.
Suggested change
Copilot uses AI. Check for mistakes. Positive FeedbackNegative Feedback |
||||||||||||
resolution: Fixed | ||||||||||||
- name: Add closure comment | ||||||||||||
if: steps.close_jira_ticket.outcome == 'success' | ||||||||||||
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 | ||||||||||||
with: | ||||||||||||
issue-number: ${{ github.event.issue.number }} | ||||||||||||
body: | | ||||||||||||
The corresponding JIRA ticket has been automatically closed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The project name 'MCP' is hardcoded. Consider making this configurable via a repository variable to improve reusability across different projects or JIRA instances.
Copilot uses AI. Check for mistakes.