

Amazon CodeCatalyst is no longer open to new customers. Existing customers can continue to use the service as normal. For more information, see [How to migrate from CodeCatalyst](migration.md).

# Editing and collaborating on issues in CodeCatalyst
<a name="issues-edit-collaborate-issue"></a>

**Contents**
+ [Editing an issue](issues-edit-issue.md)
+ [Working with attachments](issues-attachments.md)
  + [Viewing and managing attachments](issues-settings-attachments.md)
+ [Managing tasks on issues](issues-tasks.md)
+ [Link an issue to another issue](issues-link-issue.md)
+ [Marking an issue as blocked or unblocked](issues-mark-as-blocked.md)
+ [Adding, editing, or deleting comments](issues-comment.md)
  + [Using mentions in a comment](issues-mentions-comment.md)

# Editing an issue
<a name="issues-edit-issue"></a>

Follow these steps to edit the title, description, status, assignee, priority, estimate, or labels of an issue.

**To edit an issue**

1. Choose the issue that you want to edit to view the issue details. For help on finding your issue, see [Finding and viewing issues](issues-view.md).

1. To edit the issue title, choose the title, enter a new title, and press enter.

1. To edit the description, choose the description, enter a new description, and press enter. You can use Markdown to add formatting.

1. In **Tasks**, you can view and manage the tasks for the issue. If there are no tasks, you can have Amazon Q analyze the issue and recommend tasks that can break down the work in the issue into separate items that can each be assigned to a user. For more information, see [Managing tasks on issues](issues-tasks.md). 

1. To edit the **Status**, **Estimate**, or **Priority**, choose an option from the respective dropdown menus.

1. In **Labels**, you can add an existing label, create a new label, or remove a label.

   1. To add an existing label, choose **\$1 Add label** and choose the label from the list. You can enter a search term in the field to search all labels containing that term in the project.

   1. To create a new label and add it, choose **\$1 Add label** enter the name of the label you want to create in the search field and press enter.

   1. To remove a label, choose the **X** icon next to the label you want to remove. If you remove a label from all issues, the label will appear in the **Unused labels** section in the **Labels** section of issue **settings**. Unused labels appear at the end of the list of labels when using filters or adding labels to an issue. You can find an overview of all labels (used and unused) and issues that have them in the issue **settings**.

1. To assign an issue, choose **\$1 Add an assignee** in the **Assignee** section, then search and choose the assignee from the list. You can choose **\$1 Add me** to quickly add yourself as the assignee.

1. In **Attachments**, you can add, download, or remove attachments. For more information, see [Working with attachments](issues-attachments.md).

1. To link a pull request, choose **Link pull request**, and then either choose a pull request from the list or enter its URL or ID. To unlink a pull request, choose the unlink icon.
**Tip**  
After you add a link to a pull request to an issue, you can quickly navigate to it by choosing its ID in the list of linked pull requests. You can use the URL of a pull request to link pull requests that are in different projects than the issue board, but only users that are members of that project will be able to view or navigate to that pull request. 

1. (Optional) Add and set an existing custom field, create a new custom field, or remove a custom field. Issues can have multiple custom fields.

   1. To add an existing custom field, choose the custom field from the list. You can enter a search term in the field to search all custom fields containing that term in the project.

   1. To create a new custom field and add it, enter the name of the custom field you want to create in the search field and press enter. Then choose the type of custom field you want to create and set a value.

   1. To remove a custom field, choose the **X** icon next to the custom field you want to remove. If you remove a custom field from all issues, the custom field will be deleted and you will no longer see it when filtering.

# Working with attachments
<a name="issues-attachments"></a>

You can add attachments to issues in CodeCatalyst to make related files easily accessible. Use the following procedure to manage attachments for an issue.

The size of attachments added to issues counts towards your space's storage quotas. For information about viewing and managing attachments for your project, see [Viewing and managing attachments](issues-settings-attachments.md).

**Important**  
Attachments to issues are not scanned or analyzed by Amazon CodeCatalyst. Any user could add an attachment to an issue that might potentially contain malicious code or content. Make sure that users are aware of best practices when it comes to managing attachments and guarding against malicious code, content, or viruses.

**To add, download, or remove attachments**

1. Choose the issue for which you want to manage attachments. For help on finding your issue, see [Finding and viewing issues](issues-view.md).

1. To add an attachment, choose **Upload file**. Navigate to the file in your operating system's file explorer and select it. Choose **Open** to add it as an attachment. For quota information, such as maximum attachment size, see [Quotas for issues in CodeCatalyst](issues-quotas.md).

   Note the following restrictions to attachment file names and content types:
   + The following characters are not permitted in file names:
     + Control characters: `0x00–0x1f` and `0x80–0x9f`
     + Reserved characters: `/`, `?`, `<`, `>`, `\`, `:`, `*`, `|`, and `"`
     + Unix reserved filenames: `.` and `..`
     + Trailing periods and spaces
     + Windows reserved filenames: `CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9`
   + The content type of the attachment must adhere to the following media-type pattern:

     ```
     media-type = type "/" [tree "."] subtype ["+" suffix]* [";" parameter];
     ```

     For example, `text/html; charset=UTF-8`.

1. To download an attachment, choose the ellipses menu next to the attachment you want to download and choose **Download**.

1. To copy an attachment's URL, choose the ellipses menu next to the attachment of which you want to copy the URL and choose **Copy URL**.

1. To remove an attachment, choose the ellipses menu next to the attachment you want to remove and choose **Delete**.

# Viewing and managing attachments
<a name="issues-settings-attachments"></a>

You can view a table with every attachment added to issues in your project in issue settings. This table includes details of each attachment, including information such as content type, when it was added, the issue it's added to and its status, and the file size.

This table can be used to easily identify large attachments on issues that are completed or archived to remove them to free up space storage.

**Important**  
Attachments to issues are not scanned or analyzed by Amazon CodeCatalyst. Any user could add an attachment to an issue that might potentially contain malicious code or content. Make sure that users are aware of best practices when it comes to managing attachments and guarding against malicious code, content, or viruses.

**To view and manage all issue attachments in a project**

1. In the navigation pane, choose **Issues**.

1. Choose the ellipsis icon and choose **Settings**.

1. Choose the **Attachments** tab.

# Managing tasks on issues
<a name="issues-tasks"></a>

*Tasks* can be added to issues to further break down, organize, and track the work of that issue. You can create tasks yourself, or you can use Amazon Q to recommend tasks based on its analysis of the issue and its complexity. 

Amazon Q Developer is a generative AI-powered conversational assistant that can help you to understand, build, extend, and operate AWS applications. To accelerate your building on AWS, the model that powers Amazon Q is augmented with high-quality AWS content to produce more complete, actionable, and referenced answers. For more information, see [What is Amazon Q Developer?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html) in the *Amazon Q Developer User Guide*. 

**To manage tasks on an issue**

1. Choose the issue for which you want to manage tasks. For help on finding your issue, see [Finding and viewing issues](issues-view.md).

1. In **Tasks**, you can view and manage tasks for the issue.

   1. To add a task, input the task name in the text field and press enter.

   1. If there are no tasks for the issue, you can choose to have Amazon Q analyze the issue and create tasks based on the issue title, description, and its analysis of the complexity of the issue and the repository code, choose **Recommend tasks**. You will need to specify the source repository that contains the code for the issue. Choose **Start recomending tasks** to begin the task recommendation analysis. That dialog will close. Once the recommendation is complete, choose **View recommended tasks** to review the tasks and take any needed action, such as deleting or adding tasks to the list or reordering the recommended tasks, before choosing **Create tasks**. 

      After tasks are created for you, you can assign them to users and work with them the same way you work with manually created tasks.

   1. To mark a task as completed, choose the checkbox of the task.

   1. To view or update the details of a task, choose it from the list.

   1. To reorder the tasks, choose and drag the task from the left side of the checkbox.

   1. To remove a task, choose the ellipses menu of the task and choose **Remove**.

# Link an issue to another issue
<a name="issues-link-issue"></a>

If an issue is related to work in another issue, you can link them. This is a quick way to help you understand and track dependencies between work items.

When linking an issue, there are four states to choose from:
+ Related to: Use this state to indicate work that is related to the linked issue.
+ Blocked by: Use this state to indicate that the issue is blocked by the linked issue.
+ Blocking to: Use this state to indicate that the issue is blocking progress on the linked issue.
+ Duplicate: Use this state to indicate that the issue duplicates work captured in another issue.

You can change the state of a link after you create it. Links and their link state appear in **Linked issues** in both the issue where you create the link, and the issue that is linked. You can also remove links after they are created.

**To link an issue to another issue or task**

1. Open the issue you want to link to another issue. For help with finding your issue, see [Finding and viewing issues](issues-view.md).

1. Choose **Link issues**.

1. In **Mark as**, choose the state for the link.

   In **Issue \$1**, enter the number for the issue, or choose it from the drop-down list.

1. To add another link, choose **Add linked issue**.

1. When you are done, choose **Update** to update the issue and all linked issues with the linked relationship.

# Marking an issue as blocked or unblocked
<a name="issues-mark-as-blocked"></a>

If something is preventing you from working on an issue, you might want to mark it as *blocked*. For example, your issue might be blocked if it relies on a change to another part of your code base that hasn't been merged yet.

When you mark an issue as blocked, CodeCatalyst adds a red **Blocked** label to the issue, making it highly visible in your backlog or archive, or on your board.

You can unblock the issue when outside circumstances are resolved.

**To mark an issue as blocked**

1. Open the issue you want to mark as blocked. For help with finding your issue, see [Finding and viewing issues](issues-view.md).

1. Choose **Actions**, and then choose **Mark as blocked**.

**To unblock an issue**

1. Open the issue that you want to unblock. For help with finding your issue, see [Finding and viewing issues](issues-view.md).

1. Choose **Actions**, and then choose **Mark as unblocked**.

# Adding, editing, or deleting comments
<a name="issues-comment"></a>

You can leave a comment on an issue. In the comments you can tag other space members, other projects in the space, related issues, and code.

**To add a comment to an issue**

1. Navigate to your project.

1. In the navigation bar choose **Issues**.

1. Choose the issue where you want to add the comment. For help on finding your issue, see [Finding and viewing issues](issues-view.md).

1. Enter the comment in the **Comments** field. You can use Markdown to add formatting.

1. Choose **Send**.

**To edit a comment**

You can edit comments you make on issues. You can only edit comment that you authored.

1. Navigate to your project.

1. In the navigation bar choose **Issues**.

1. Choose the issue where you want to edit a comment. For help on finding your issue, see [Finding and viewing issues](issues-view.md).

1. To edit a comment, find the comment you want to edit.
**Tip**  
You can sort comments by oldest or newest first. Comments are loaded 10 at a time.

1. Choose the ellipsis icon, then choose **Edit**.

1. Edit the comment. You can use Markdown to add formatting.

1. Choose **Save**. The comment is now updated.

**To delete a comment**

You can delete comments you make on issues. You can only delete comments that you authored. When a comment is deleted, your user name will show, but with the words *This comment has been deleted* in place of the original comment text.

1. Navigate to your project.

1. In the navigation bar choose **Issues**.

1. Choose the issue where you want to delete a comment. For help on finding your issue, see [Finding and viewing issues](issues-view.md).

1. Choose the ellipsis icon, choose **Delete**, and then choose **Confirm**.

# Using mentions in a comment
<a name="issues-mentions-comment"></a>

You can mention space members, other projects in the space, related issues, and code in comments. Doing so creates a quick link to the user or resource you mention.

**To @mention in a comment**

1. Navigate to your project.

1. In the navigation bar choose **Issues**.

1. Choose the issue that you want to edit to view the issue details. For help on finding your issue, see [Finding and viewing issues](issues-view.md).

1. Choose the **Add a comment** textbox.

1. Type `@user_name` to mention another user.

1. Type `@project_name` to mention a project.

1. Type `@issue_name` or `@issue_number` to mention another issue.

1. Type `@file_name` to mention specific files or code in a source repository.
**Note**  
A list of the top 5 items (users, source repositories, projects, etc) containing the terms that match your `@mention` will populate as you type.

1. Choose the desired item you would like to mention. The pathway showing where the item is located will populate in the comment textbox.

1. Finish your comment and choose **Send**.