From 5a387d6868eec00199a3a3dffb75efc840afeb14 Mon Sep 17 00:00:00 2001 From: Tomas Sebestik Date: Fri, 9 Feb 2024 13:50:29 +0100 Subject: [PATCH] docs: add CONTRIBUTING guide, update README --- .github/workflows/python-test.yml | 2 +- CONTRIBUTING.md | 76 +++++++++ README.md | 261 ++++++++++++++++-------------- docs/sync-jira-actions.png | Bin 0 -> 72200 bytes 4 files changed, 215 insertions(+), 124 deletions(-) create mode 100644 docs/sync-jira-actions.png diff --git a/.github/workflows/python-test.yml b/.github/workflows/python-test.yml index f1075d0..be57119 100644 --- a/.github/workflows/python-test.yml +++ b/.github/workflows/python-test.yml @@ -1,4 +1,4 @@ -name: Python Tests +name: Tests on: pull_request: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ed97d53..5507a94 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1 +1,77 @@ +We welcome contributions! To contribute to this repository, please read these instructions: + +- [Project Organization](#project-organization) +- [Code and Testing](#code-and-testing) +- [Documentation and Maintenance](#documentation-and-maintenance) +- [Development and local testing](#development-and-local-testing) + --- + +## Project Organization + +- **Project Configuration:** The setup for both production and development dependencies is outlined in the `pyproject.toml` file. This centralized approach simplifies dependency management. + +- **Automatic `requirements.txt`:** Changes to dependencies are automatically reflected in the `requirements.txt` file, derived from `pyproject.toml`. Direct modifications should be avoided; instead, update `pyproject.toml`. + +- **Commit Standard:** Adherence to the Espressif standard for Conventional Commits ensures consistency in commit messages. Tools like pre-commit hooks and the integrated PR linter DangerJS assist in formatting commit messages appropriately, a key factor for `commitizen` to auto-generate the changelog. + +## Code and Testing + +- **Code Style and Structure:** + + - **Pre-Commit Hooks:** Install pre-commit hooks in this repository using the `pre-commit install` command. + + - **Readable Code Structure:** Structure your code in a readable manner. The main logic should be in the default rule function, with implementation details in helper functions. Avoid nested `if` statements and unnecessary `else` statements to maintain code clarity and simplicity. + + - **Remove Debug Statements:** Remove any development debug statements from your files. + +- **Automated Tests:** The tests should cover all typical usage scenarios as well as edge cases to ensure robustness. + +- **Testing Tool:** It is recommended to run `pytest` frequently during development to ensure that all aspects of your code are functioning as expected. + +## Documentation and Maintenance + +- **Changelog:** `CHANGELOG.md` is generated automatically by `commitizen` from commit messages. Not need to update `CHANGELOG.md` manually. Focus on informative and clear commit messages which end in the release notes. + +- **Documentation:** Regularly check and update the documentation to keep it current. + +- **PR Descriptions and Documentation:** When contributing, describe all changes or new features in the PR (Pull Request) description as well as in the documentation. When changing the style to the output style, attach a thumbnail after the change. + +## Development and local testing + +1. **Clone the Project**: Clone the repository to your local machine using: + + ```sh + git clone + ``` + +2. **Set Up Development Environment:** + +- Create and activate a virtual environment: + + ```sh + python -m venv venv && source ./venv/bin/activate + ``` + + or: + + ```sh + virtualenv venv && source ./venv/bin/activate + ``` + +- Install the project and development dependencies: + ```sh + pip install -e '.[dev]' + ``` + +3. **Testing Your Changes:** + +Before submitting a pull request, ensure your changes pass all the tests. You can run the test suite with the following command: + +```sh +pytest +``` + +--- + +👏**Thank you for your contributions.** diff --git a/README.md b/README.md index b4b0194..edcf230 100644 --- a/README.md +++ b/README.md @@ -1,150 +1,192 @@ -# GitHub to JIRA Issue Sync +
+

GitHub to JIRA Sync (GitHub Action)

+ +
+
+ + release + tests +
+GitHub to JIRA Sync GitHub Action is a solution for one-way synchronization of GitHub issues into Espressif JIRA projects. +
+
+This action automates the integration of your GitHub repositories with JIRA projects by automatically creating corresponding JIRA tickets for new GitHub issues and pull requests, as well as managing comments within these issues and pull requests from external contributors. -This is a GitHub action that performs simple one way syncing of GitHub issues into JIRA. +
-- When a new GitHub issue is opened - - A corresponding JIRA issue (in the configured JIRA project) is created. - - Markdown in the GitHub issue body is converted into JIRA Wiki format (thanks to [markdown2confluence](http://chunpu.github.io/markdown2confluence/browser/)) - - A JIRA custom field "GitHub Reference" is set to the URL of the issue - - The GitHub issue title has `(JIRA-KEY)` appended to it. -- When a GitHub issue is edited, the summary and description of the JIRA issue are updated. -- When comments are made on the GitHub issue, a comment is created on the JIRA issue. -- When GitHub comments are edited or deleted a comment is created on the JIRA issue. -- When the GitHub issue is closed or deleted a comment is created on the JIRA issue. -- When labels are added or removed from the GitHub issue, the same label is added or removed from the JIRA issue. +- [Features](#features) +- ['Synced From' Link Details](#synced-from-link-details) + - [Key Features and Considerations](#key-features-and-considerations) +- [Manually Linking a GitHub Issue to JIRA](#manually-linking-a-github-issue-to-jira) + - [Step-by-Step Guide](#step-by-step-guide) + - [Automation Trigger](#automation-trigger) + - [Important Note](#important-note) +- [Issue Type Synchronization](#issue-type-synchronization) + - [How It Works](#how-it-works) +- [Limitations](#limitations) + - [What's Not Synced](#whats-not-synced) +- [Usage Instructions for GitHub to JIRA Issue Sync Action](#usage-instructions-for-github-to-jira-issue-sync-action) + - [Syncing New Issues to JIRA](#syncing-new-issues-to-jira) + - [Syncing New Issue Comments to JIRA](#syncing-new-issue-comments-to-jira) + - [Syncing New Pull Requests to JIRA](#syncing-new-pull-requests-to-jira) +- [Manually Syncing Issues and Pull Requests to JIRA](#manually-syncing-issues-and-pull-requests-to-jira) + - [Configuration for Manual Sync](#configuration-for-manual-sync) + - [Workflow Setup](#workflow-setup) +- [Environment Variables and Secrets Configuration](#environment-variables-and-secrets-configuration) + - [Important Consideration:](#important-consideration) +- [Project issues](#project-issues) +- [Contributing](#contributing) -# 'Synced From' Link +--- -After a synced JIRA issue is created, the action creates a [Remote Issue Link](https://developer.atlassian.com/server/jira/platform/creating-remote-issue-links/) on the JIRA issue, where the "[globalID](https://developer.atlassian.com/server/jira/platform/using-fields-in-remote-issue-links/#globalid)" is the GitHub issue URL. +## Features -This remote issue link is used to find existing synced issues when changes happen. +- **Automatic Issue Creation**: When a new GitHub issue is opened, a matching JIRA issue is created within the specified project. +- **Markdown Conversion**: The body of the GitHub issue is converted to JIRA Wiki format using [markdown2confluence](http://chunpu.github.io/markdown2confluence/browser/). +- **Custom Field Mapping**: A JIRA custom field named "GitHub Reference" is populated with the URL of the GitHub issue. +- **Issue Title Sync**: The title of the GitHub issue is updated to include the JIRA issue key. +- **Bi-directional Comment Sync**: Comments added to a GitHub issue are mirrored in the corresponding JIRA issue. Edits and deletions are also reflected. +- **Label Synchronization**: Labels added or removed from the GitHub issue are similarly updated in the JIRA issue. +- **Remote Issue Link**: After syncing, a [Remote Issue Link](https://developer.atlassian.com/server/jira/platform/creating-remote-issue-links/) is created on the JIRA issue for easy reference back to the GitHub issue. -The sync action will continue to update JIRA issues which are moved to other JIRA projects, provided the remote issue link is moved and the Github Action's JIRA user can see the new project. +## 'Synced From' Link Details -To break a link between a GitHub issue and a JIRA issue, delete the Remote Issue Link. (Note that if the GitHub Issue is updated later on, this action may create a new JIRA issue to track it.) +Once a JIRA issue is created and synced from GitHub, a [Remote Issue Link](https://developer.atlassian.com/server/jira/platform/creating-remote-issue-links/) is automatically generated for the JIRA issue. This link includes a "globalID" that corresponds to the URL of the GitHub issue. This mechanism ensures that any future changes to the GitHub issue are tracked and reflected in the JIRA issue, maintaining a consistent link between the two platforms. -Note that manually created Remote Issue Links to GitHub issues will not have the globalID set, so they won't work (JIRA doesn't give a way to search for Remote Issue Links by URL, only by globalID, so there's no automated solution to this problem.) +### Key Features and Considerations -# Manually Linking a GitHub Issue +- **Persistent Synchronization**: The Remote Issue Link facilitates ongoing updates to JIRA issues that are moved to other JIRA projects, assuming the remote issue link is also transferred and the GitHub Action's JIRA user has access to the new project. +- **Link Management**: To sever the connection between a GitHub issue and a JIRA issue, simply remove the Remote Issue Link. Be aware, however, that subsequent updates to the GitHub issue may trigger the creation of a new JIRA issue to ensure continuity of tracking. +- **Manual Links**: It's important to note that Remote Issue Links created manually for GitHub issues won't contain the necessary globalID. Since JIRA's search functionality for Remote Issue Links relies exclusively on globalID and not the URL, such manually created links cannot facilitate automated syncing. -It's not possible to create a Remote Issue Link with the correct `globalID` without using the JIRA API. Instead, to manually connect an existing GitHub issue with a JIRA issue in the Web UI: +This design ensures that the integration between GitHub and JIRA remains dynamic and adaptable to changes, providing a robust solution for tracking issues across both platforms. -1. Check that no other JIRA issue is syncing this GitHub issue (advanced search for `issue in issuesWithRemoteLinksByGlobalId("GitHub Issue URL")`). -2. Put the URL of the GitHub issue somewhere in the JIRA issue description. -3. Put the JIRA issue key at the end of the GitHub issue title, in parentheses. Like this: `GitHub Issue title (JIRAKEY-123)` +## Manually Linking a GitHub Issue to JIRA -The GitHub action will create the "Synced from" link the next time this issue is updated (probably immediately, if you did the steps in the written order). +Creating a Remote Issue Link with the appropriate `globalID` directly through the JIRA Web UI is not feasible without leveraging the JIRA API. However, you can manually establish a connection between an existing GitHub issue and a JIRA issue by following these steps: -Important: If the URL of the GitHub issue is not found in the JIRA issue description, nothing will happen (this is to prevent external parties from making unintended updates to JIRA issues.) +### Step-by-Step Guide -# Issue Types +1. **Verify Unique Linking**: Ensure that the GitHub issue is not already linked to another JIRA issue. Use JIRA's advanced search with the query `issue in issuesWithRemoteLinksByGlobalId("GitHub Issue URL")` to check for existing links. +2. **Update JIRA Issue Description**: Include the URL of the GitHub issue in the description field of the JIRA issue. This step is crucial for the GitHub action to recognize and link the issues. +3. **Amend GitHub Issue Title**: Append the JIRA issue key to the end of the GitHub issue title within parentheses, e.g., `GitHub Issue title (JIRAKEY-123)`. This modification helps in identifying the linked issues easily. -If a new GitHub issue has any labels where the name of the label matches the name of an issue type, or the name of the label matches `Type: `, then the JIRA issue will be created with that issue type. Matching is case insensitive. +### Automation Trigger -If no labels match issue types, environment variable `JIRA_ISSUE_TYPE` is used as the type for new issues. If `JIRA_ISSUE_TYPE` is not set, the default new issue type is "Task". +Upon the next update to the GitHub issue (which might occur immediately if you follow the steps sequentially), the GitHub action will automatically generate the "Synced from" link, establishing a manual link between the issues. -Changing labels on a GitHub issue does not change the issue type, because [JIRA REST API currently cannot safely change an issue type to one with a different workflow](https://jira.atlassian.com/browse/JRACLOUD-68207). Instead, an issue comment is left in JIRA. +### Important Note -# Limitations +If the GitHub issue URL is not present in the JIRA issue description, the GitHub action will not create a link. This safeguard is designed to prevent unauthorized or unintended updates to JIRA issues from external sources. -Currently does not sync the following things: +## Issue Type Synchronization -- Labels, apart from any which match Issue Types -- Transitions. Closing, Reopening or Deleting an issue in GitHub only leaves a comment in the JIRA issue. This is at least partially by design because sometimes GitHub issues are closed by their reporters even though an underlying issue still needs fixing in the codebase. +The GitHub to JIRA Issue Sync Action intelligently creates JIRA issues with specific types based on the labels attached to the GitHub issue. This feature ensures that the issue types in JIRA accurately reflect the nature or category of the issue as determined in GitHub. -# Usage +### How It Works -- [Sync a new issue to Jira](#sync-a-new-issue-to-jira) -- [Sync a new issue comment to Jira](#sync-a-new-issue-comment-to-jira) -- [Sync a new pull request to Jira](#sync-a-new-pull-request-to-jira) +- **Label Matching**: When a new GitHub issue is created, the action checks for labels that either directly match the name of a JIRA issue type or follow the format `Type: `. The search for matching labels is case insensitive, ensuring flexibility in label naming conventions. +- **Environment Variable Fallback**: In cases where no labels match any issue type, the action refers to the `JIRA_ISSUE_TYPE` environment variable to determine the issue type for the new JIRA issue. If this environment variable is not defined, the default issue type used is "Task". +- **Handling Label Changes**: If the labels on a GitHub issue are modified after creation, these changes will not alter the issue type of the already created JIRA issue. This limitation arises from the [inability of the JIRA REST API to safely change an issue type](https://jira.atlassian.com/browse/JRACLOUD-68207) when the new type is associated with a different workflow. In such scenarios, the action will leave a comment in the JIRA issue to inform about the label change in GitHub. -## Sync a new issue to Jira +## Limitations + +There are certain limitations to the data and events that can be synchronized: + +### What's Not Synced + +- **Labels**: The action does not sync labels between GitHub and JIRA, with the exception of labels that match JIRA issue types. This means that general labels used for categorization or prioritization in GitHub won't automatically reflect in JIRA. +- **Transitions**: Changes in the status of a GitHub issue, such as closing, reopening, or deleting, do not automatically result in the corresponding transition of the JIRA issue's status. Instead, these actions result in a comment being added to the linked JIRA issue to record the event. This design choice accounts for scenarios where a GitHub issue might be closed by its reporter, but the underlying problem it documents still requires attention and resolution within the JIRA project. + +## Usage Instructions for GitHub to JIRA Issue Sync Action + +This GitHub Action provides a comprehensive solution for integrating GitHub with JIRA, ensuring that issues, comments, and pull requests in GitHub are seamlessly synced to JIRA. Below are the setups to synchronize different types of activities from GitHub to JIRA. + +### Syncing New Issues to JIRA + +Automatically creates a corresponding JIRA issue when a new issue is opened in GitHub. ```yaml name: Sync issues to Jira -# This workflow will be triggered when a new issue is opened -on: issues -# Limit to single concurrent run for workflows which can create Jira issues. -# Same concurrency group is used in issue_comment.yml +on: issues concurrency: jira_issues jobs: sync_issues_to_jira: - name: Sync issues to Jira runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + - name: Sync GitHub issues to Jira project - uses: espressif/github-actions/sync_issues_to_jira@master + uses: espressif/sync-jira-actions@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} JIRA_PASS: ${{ secrets.JIRA_PASS }} - JIRA_PROJECT: SOMEPROJECT - JIRA_COMPONENT: SOMECOMPONENT + JIRA_PROJECT: SOMEPROJECT # define the JIRA project here + JIRA_COMPONENT: SOMECOMPONENT # define (optional) JIRA component here JIRA_URL: ${{ secrets.JIRA_URL }} JIRA_USER: ${{ secrets.JIRA_USER }} ``` -## Sync a new issue comment to Jira +### Syncing New Issue Comments to JIRA -Syncing an issue comment works the same way. The only difference is the trigger event. +Ensures that comments made on GitHub issues are also reflected in the corresponding JIRA issue. ```yaml name: Sync issue comments to JIRA -# This workflow will be triggered when new issue comment is created (including PR comments) on: issue_comment ``` -## Sync a new pull request to Jira +### Syncing New Pull Requests to JIRA -Actions for pull requests run with the privileges of the PR submitter's repo - for security reasons, as they can modify the contents of them. -If the action is run on the PR event, it can't access the necessary GH secrets containing Jira credentials. -Therefore PR syncing has to run as a cron task which is loaded from the master branch and run with all privileges. +Due to security reasons related to the privileges of PR submitter's repositories, syncing pull requests requires a different approach, using a cron job to regularly check for and sync new pull requests. ```yaml name: Sync remaining 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 a new PR comment is created + on: schedule: - cron: '0 * * * *' - -# Limit to single concurrent run for workflows which can create Jira issues. -# Same concurrency group is used in issue_comment.yml concurrency: jira_issues jobs: sync_prs_to_jira: - name: Sync PRs to Jira runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v4 + - name: Sync PRs to Jira project - uses: espressif/github-actions/sync_issues_to_jira@master + uses: espressif/sync-jira-actions@v1 with: cron_job: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} JIRA_PASS: ${{ secrets.JIRA_PASS }} - JIRA_PROJECT: SOMEPROJECT - JIRA_COMPONENT: SOMECOMPONENT + JIRA_PROJECT: SOMEPROJECT # define the JIRA project here + JIRA_COMPONENT: SOMECOMPONENT # define (optional) JIRA component here JIRA_URL: ${{ secrets.JIRA_URL }} JIRA_USER: ${{ secrets.JIRA_USER }} ``` -## Sync issues and pull requests manually +## Manually Syncing Issues and Pull Requests to JIRA + +For cases where you need to manually sync issues and pull requests that were not automatically captured by the [Sync a new issue to Jira](#sync-a-new-issue-to-jira) and [Sync a new pull request to Jira](#sync-a-new-pull-request-to-jira) workflows, this GitHub Action provides a solution. It allows for the manual synchronization of both new and old issues and pull requests directly to your JIRA project. -Actions for both issues and pull requests to sync them manually to Jira. When enabling [Sync a new issue to Jira](#sync-a-new-issue-to-jira) and [Sync a new pull request to Jira](#sync-a-new-pull-request-to-jira) actions, it will sync only newly created issues and pull requests. With this action you can manually sync all old issues and pull requests. -Action defines two input parameters: +### Configuration for Manual Sync -- `action` with default value `mirror-issues` -- `issue-numbers` with issue and pull requests numbers to be mirrored to Jira +This action introduces two parameters for manual triggering: + +- `action`: Specifies the action to be performed, with a default value of `mirror-issues`. +- `issue-numbers`: Lists the numbers of the issues and pull requests that you wish to sync to JIRA. + +### Workflow Setup + +To set up the manual sync action, include the following workflow in your GitHub repository: ```yaml name: Manually trigger sync issue to Jira -# This workflow will be triggered manually on: workflow_dispatch: inputs: @@ -155,7 +197,6 @@ on: issue-numbers: description: 'Issue numbers' required: true - concurrency: jira_issues jobs: @@ -163,76 +204,50 @@ jobs: name: Sync issues to Jira runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v4 + - name: Sync GitHub issues to Jira project - uses: espressif/github-actions/sync_issues_to_jira@master + uses: espressif/sync-jira-actions@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} JIRA_PASS: ${{ secrets.JIRA_PASS }} - JIRA_PROJECT: SOMEPROJECT - JIRA_COMPONENT: SOMECOMPONENT + JIRA_PROJECT: SOMEPROJECT # define the JIRA project here + JIRA_COMPONENT: SOMECOMPONENT # define (optional) JIRA component here JIRA_URL: ${{ secrets.JIRA_URL }} JIRA_USER: ${{ secrets.JIRA_USER }} ``` -# Variables +This workflow can be triggered manually from the GitHub Actions tab in your repository, allowing you to specify the issues or pull requests to be synced by entering their numbers. -The environment variables should be set in the GitHub Workflow: +This ensures that even items not caught by the automatic sync process can still be integrated into your JIRA project for tracking and management. -- `JIRA_PROJECT` is the slug of the JIRA project to create new issues in. -- `JIRA_ISSUE_TYPE` (optional) the JIRA issue type for new issues. If unset, "Task" is used. -- `JIRA_COMPONENT` (optional) the name of a JIRA component to add to every issue which is synced from GitHub. The component must already exist in the JIRA project. +## Environment Variables and Secrets Configuration -The following secrets are needed for the workflow: +The GitHub to JIRA Issue Sync workflow requires the configuration of specific environment variables and secrets to operate effectively. These settings ensure the correct creation and updating of issues within your JIRA project based on activities in your GitHub repository. -- `JIRA_URL` is the main JIRA URL (doesn't have to be secret). -- `JIRA_USER` is the JIRA username to log in with (JIRA basic auth) -- `JIRA_PASS` is JIRA token (JIRA token auth) or JIRA password (JIRA basic auth) to log in with +Below is a detailed table outlining the necessary configurations: -If `JIRA_PASS` is a token, it must be entered in the secret with the prefix `token:` (e.g.: `token:Xyz123**************ABC`). The `token:` prefix is used to distinguish between a password and a token type of `JIRA_PASS`. This prefix will be stripped by the script before the API call. +| Variable/Secret | Description | Requirement | +| ----------------- | -------------------------------------------------------------------------------------------- | ----------- | +| `JIRA_PROJECT` | The slug of the JIRA project where new issues will be created. | Mandatory | +| `JIRA_URL` | The main URL of your JIRA instance. | Inherited | +| `JIRA_USER` | The username used for logging into JIRA (basic auth). | Inherited | +| `JIRA_PASS` | The JIRA token (for token auth) or password (for basic auth) used for logging in. | Inherited | +| `JIRA_ISSUE_TYPE` | Specifies the JIRA issue type for new issues. Defaults to "Task" if not set. | Optional | +| `JIRA_COMPONENT` | The name of a JIRA component to add to every synced issue. The component must exist in JIRA. | Optional | -***IMPORTANT:** These secrets are inherited from the GitHub organizational secrets (as they are common to all Espressif GitHub projects) and should not be set at the repository level. (If set at the repository level, repo secrets take precedence over org secrets.)* +### Important Consideration: -# Tests +- **GitHub Organizational Secrets**: `JIRA_URL`, `JIRA_USER`, `JIRA_PASS` - These secrets are **inherited from the GitHub organizational secrets, as they are common to all projects within the organization**. It is advised not to set these secrets at the individual repository level to avoid conflicts and ensure a unified configuration across all projects. -test_sync_issue.py is a Python unittest framework that uses unittest.mock to create a mock JIRA API, then calls unit_test.py with various combinations of payloads similar to real GitHub Actions payloads. +- **Token as JIRA_PASS**: When using a token for `JIRA_PASS`, prefix the token value with `token:` (e.g., `token:Xyz123**************ABC`). This prefix helps distinguish between password and token types, and it will be removed by the script before making the API call. -The best way to run the tests is in the docker container, as this is the same environment that GitHub will run real actions in. +--- -## Build image and run tests in a temporary container: +## Project issues -``` -docker build . --tag jira-sync && docker run --rm --entrypoint=/test_sync_to_jira.py jira-sync -``` - -## Rebuild container and run tests multiple times - -(This is a bit faster than rebuilding the image each time.) - -Build the image and run the container once: +If you encounter any issues, feel free to report them in the project's issues or create Pull Request with your suggestion. -``` -docker build . --tag jira-sync -docker run -td --name jira-sync --entrypoint=/bin/sh jira-sync -``` - -For each test run, copy the Python files to the running container and run the test program: +## Contributing -``` -docker cp . jira-sync:/ && docker exec jira-sync /test_sync_to_jira.py -``` - -Once finished, kill the container: - -``` -docker stop -t1 jira-sync -``` - -## Cleanup - -To clean up the container and container image: - -``` -docker rm jira-sync -docker rmi jira-sync -``` +📘 If you are interested in contributing to this project, see the [project Contributing Guide](CONTRIBUTING.md). diff --git a/docs/sync-jira-actions.png b/docs/sync-jira-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..a7a8f9396a34504a2ec467a8020dc429dc7fcd33 GIT binary patch literal 72200 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 MdM{Y=?&IhG5BRBeeE