Our intent in making this repository open source is two fold:
- To engender trust that the extension isn't doing anything untoward.
- To improve the extension, such that it can support more services and sites.
When contributing to this repository, please first discuss the change in a GitHub issue. This will help us steer you in the right direction and avoid duplicate work.
When submitting a change for review, please use our Pull Request Template and fill out the appropriate sections with as much detail as possible.
Also, please note we have a code of conduct, please follow it in all your interactions with the project.
Before adding a new service to the publicly distributed version of this extension, we want to ensure
that there is enough community/customer demand. First file an issue with the subject such as
Add support for [your favorite tool]
to begin a discussion.
You are of course free to fork this repo and install an unpacked version while waiting for an official build.
Please refer to Google's documentation on how to build, develop, and test Chrome extensions locally.
- Create
ext/sites/some-service.js
. - Configure a
Monitor
instance, as per other examples in the same directory. - Update the manifest to include a content script that matches
some-service.com
Suggestions reference an attachment. Attachments are shared across users in an organization and contain metadata about an artifact on another services. The Source ID is used to determine uniqueness.
For example, if I edit a doc and you comment on a doc, they should both reference the same attachment but with different "reasons". But pull request #101 in acme-corp/widgets should be disambiguated from PR #101 in acme-corp/marketing-site.
An attachment can represent multiple types, and there optional properties associated with certain types.
All date fields should be in UTC ISO8601 (2006-01-02T15:04:05.999Z1
) as compatible with
JavaScript's toISOString()
. If you use JavaScript Date
objects in the suggestion payload,
JSON.stringify
will be used to serialize them correctly.
name name for the suggestion, a file name, pull request title, or event name.
html_url URL to link to for people to access the attachment.
description (optional) descriptive text for the attachment. Limited to 255 chars.
parent_name name for the parent, e.g. a folder, project, repo
parent_html_url URL to link people to access the parent
parent_description (optional) description for the parent
date_created
date_modified
file_format file extension, e.g. jpg, png, zip
file_type user visible description of the file, e.g. "Figma Drawing"
start_date (optional)
end_date (optional)
location (optional)
num_attendees (optional)
session_identifier
change_id string used when displaying the change
change_label prefix used when displaying change id. e.g. PR #123, cl/123
change_state e.g. merged, opened, closed
issue_id string used when displaying the issue
issue_state e.g. opened, closed, duplicate
issue_label prefix used when displaying issue ids. e.g. Issue #455 , b/455
date_opened (optional)
date_closed (optional)
task_state e.g. opened, closed, complete, done
date_completed (optional)
The following types don't have any additional properties:
LINK
CAMPAIGN
PROJECT