Slack slash command to add comment to issue
Problem to solve
ChatOps is all about enabling operations via intuitive commands and actions that can be typed and integrated into one's chat tool. GitLab issues are used by the internal GitLab infra team as a public portal for status updates to stakeholders. They are currently manually creating and updating a time line of events an actions as they occur during an incident. If they are using GitLab as a way to inform the public and stakeholders or progress, we want to give them an easy way to update an issue from the place where they are collaborating. This is the first step towards enabling them to update stakeholders faster and with less context switching.
Intended users
Sasha the Software Developer
Devon the DevOps Engineer
Sidney the Systems Administrator
Further details
This work contributes to the Incident Management Vision
Original Proposal
Create a slash command that allows a user to add a comment to an issue. The design should minimize the number of inputs a user is required to populate in the command. Ideally, if the command is used in a thread underneath an incident, it should require zero inputs to route a comment to GitLab. GFM should be possible.
Current Proposal
- As a first pass, follow the existing slack command model, adding a new slash command for comment:
/gitlab <namespace/project> issue comment <issue-id>
- The new comment will be added to the specified Gitlab issue. This functionality does not extend to adding an existing comment to a GitLab issue.
- Following the existing patterns, users should also be able to utilize GFM to append additional details to their comments, such as including code, referencing a merge request or linking to metrics. More details here.
- When the comment has successfully posted the user will get a message in slack confirming that the comment has been added. This comment will only be visible to the person who made the comment, along the lines of:
Permissions and Security
Documentation
Testing
What does success look like, and how can we measure that?
Links / references
/label ~feature