payload: {"action":"created","comment":{"url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/comments/271978078","pull_request_review_id":222503230,"id":271978078,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI3MTk3ODA3OA==","diff_hunk":"@@ -0,0 +1,451 @@\n+---\n+title: Q# Style Guide | Microsoft Docs\n+description: Q# Style Guide\n+author: cgranade\n+ms.author: chgranad\n+ms.date: 10/12/2018\n+ms.topic: article\n+uid: microsoft.quantum.contributing.style\n+---\n+\n+# Q# Style Guide #\n+## General Conventions ##\n+\n+The conventions listed here are suggestions only, and should likely be disregarded when they would result in less readable or useful code.\n+\n+# [Guidance](#tab/guidance) \n+\n+We suggest:\n+\n+- Never disregard a convention unless you’re doing so intentionally in order to provide more readable and understandable code for your users.\n+\n+# [Examples](#tab/examples)\n+\n+***\n+\n+## Naming Conventions ##\n+\n+In offering the Quantum Development Kit, we strive for function and operation names that help quantum developers write programs that are easy to read and that minimize surprise.\n+An important part of that is that when we choose names for functions, operations, and types, we are establishing the *vocabulary* that programmers use to express quantum concepts; with our choices, we either help or hinder them in their effort to clearly communicate.\n+This places a responsibility on us to make sure that the names we introduce lend themselves to clarity rather than obscurity.\n+In this section, we detail how we meet this obligation in terms of explicit guidance that helps us do the best by the Q# development community.\n+\n+### Operations and Functions ###\n+\n+The first thing that a name should establish is whether a given symbol represents a function or an operation.\n+The difference between functions and operations is critical to understanding how a block of code behaves.\n+To communicate the distinction between functions and operations to users, we rely on that Q# models quantum operations through the use of side effects.\n+That is, an operation *does* something.\n+\n+By contrast, functions describe the mathematical relationships between data.\n+The expression `Sin(PI() / 2.0)` *is* `1.0`, and implies nothing about the state of a program or its qubits.\n+\n+Summarizing, operations do things while functions are things.\n+This distinction suggests that we name operations as verbs and functions as nouns.\n+\n+> [!NOTE]\n+> In many ways, user-defined types can be thought of as functions which construct instances of a UDT.\n+> From that perspective, UDTs should be named as functions rather than as operations.\n+\n+Where reasonable, ensure that operation names begin with verbs that clearly indicate the effect taken by the operation.\n+For example:\n+\n+- `MeasureInteger`\n+- `EstimateEnergy`\n+- `SampleInt`\n+\n+One case that deserves special mention is when an operation takes another operation as input and calls it.\n+In such cases, the action taken by the input operation is not clear when the outer operation is defined, such that the right verb is not immediately clear.\n+We recommend the verb `Apply`, as in `ApplyIf`, `ApplyToEach`, and `ApplyToFirst`.\n+Other verbs may be useful in this case as well, as in `IterateThroughCartesianPower`.\n+\n+| Verb | Expected Effect |\n+| ---- | ------ |\n+| Apply | An operation provided as input is called |\n+| Assert | A hypothesis about the outcome of a possible quantum measurement is checked by a simulator |\n+| Estimate | A classical value is returned, representing an estimate drawn from one or more measurements |\n+| Measure | A quantum measurement is performed, and its result is returned to the user |\n+| Prepare | A given register of qubits is initialized into a particular state |\n+| Sample | A classical value is returned at random from some distribution |\n+\n+For functions, we suggest avoiding the use of verbs in favor of common nouns (see guidance on proper nouns below) or adjectives:\n+\n+- `ConstantArray`\n+- `Head`\n+- `LookupFunction`\n+\n+In particular, in almost all cases, we suggest using past participles where appropriate to indicate that a function name is strongly connected to an action or side effect elsewhere in a quantum program.\n+For example,  `ControlledOnInt` uses the part participle form of the verb \"control\" to indicate that the function acts as an adjective to modify its argument.\n+This name has the additional benefit of matching the semantics of the built-in `Controlled` functor, as discussed further below.\n+Similarly, _agent nouns_ can be used to construct function and UDT names from operation names, as in the case of the name `Encoder` for a UDT that is strongly associated with `Encode`.\n+\n+In common cases, we suggest using particular nouns and adjectives:\n+\n+| Noun/Adjective | Expected Result |\n+|----|----|\n+| Claim | Unit, but fails if a condition is not true. (Contrast with `Assert`, which should be used for operations.)\n+| Controlled | An operation that is a controlled version of an input operation. |\n+| Identity | A UDT or operation that represents identity / no-op on some data type. |\n+| Operation | An operation that is computed from another operation in some way. Use when no more specific case applies. |\n+\n+\n+# [Guidance](#tab/guidance)\n+\n+We suggest:\n+\n+- Use verbs for operation names.\n+- Use nouns or adjectives for function names.\n+- Use nouns for user-defined types.\n+- For all callable names, use `CamelCase` in strong preference to `pascalCase`, `snake_case`, or `ANGRY_CASE`.\n+- Avoid the use of underscores `_` in function and operation names.\n+\n+# [Examples](#tab/examples)\n+\n+|   | Name | Description |\n+|---|------|-------------|\n+| ☑ | `operation ReflectAboutStart` | Clear use of a verb (\"reflect\") to indicate the effect of the operation. |\n+| ☒ | <s>`operation XRotation`</s> | Use of noun phrase suggests function, rather than operation. |\n+| ☒ | <s>`operation search_oracle`</s> | Use of `snake_case` contravenes Q# notation. |\n+| ☑ | `function StatePreparationOracle` | Use of noun phrase suggests that the function returns an operation. |\n+| ☑ | `function ClaimEqual` | Clear use of noun (\"claim\") to indicate that this is a function. |\n+| ☒ | <s>`function GetRotationAngles`</s> | Use of verb (\"get\") suggests that this is an operation. |\n+| ☑ | `newtype GeneratorTerm` | Use of noun phrase clearly refers to the result of calling the UDT constructor. |\n+\n+***\n+\n+### Shorthand and Abbreviations ###\n+\n+The above advice notwithstanding, there are many forms of shorthand that see common and pervasive use in quantum computing.\n+We suggest using existing and common shorthand where it exists, especially for operations that are intrinsic to the operation of a target machine.\n+For example, we choose the name `X` instead of `ApplyX`, and `Rz` instead of `RotateAboutZ`.\n+When using such shorthand, operation names should be uppercase.\n+\n+Some care is required when applying this convention in the case of commonly used acronyms and initialisms such as \"QFT\" for \"quantum Fourier transform.\"\n+We suggest following general .NET conventions for the use of acronyms and initialisms in full names, which prescribe that:\n+\n+- two-letter acronyms and initialisms are named in upper case (e.g.: `BE` for \"big-endian\"),\n+- all longer acronyms and initialisms are named in `CamelCase` (e.g.: `Qft` for \"quantum Fourier transform\")\n+\n+Thus, an operation implementing the QFT could either be called `QFT` as shorthand, or written out as `ApplyQft`.\n+\n+For particularly commonly used operations and functions, it may be desirable to provide a shorthand name as an _alias_ for a longer form:\n+\n+```qsharp\n+operation CCNOT(control0 : Qubit, control1 : Qubit, target : Qubit) {\n+    body (...) {\n+        Controlled X([control0, control1], target);\n+    }\n+    adjoint auto;\n+    controlled auto;\n+    controlled adjoint auto;\n+}\n+```\n+\n+# [Guidance](#tab/guidance)\n+\n+We suggest:\n+\n+- Consider commonly accepted and widely used shorthand names when appropriate.\n+- Use uppercase for shorthand.\n+- Use uppercase for short (two-letter) acronyms and initialisms.\n+- Use `CamelCase` for longer (three or more letter) acronyms and initialisms.\n+\n+# [Examples](#tab/examples)\n+\n+|   | Name | Description |\n+|---|------|-------------|\n+| ☑ | `X` | Well-understood shorthand for \"apply an $X$ transformation\" |\n+| ☑ | `CNOT` | Well-understood shorthand for \"controlled-NOT\" |\n+| ☒ | <s>`Cnot`</s> | Shorthand should not be in `CamelCase`. |\n+| ☑ | `ApplyQft` | Common initialism \"QFT\" appears as a part of a long-form name. |\n+| ☑ | `QFT` | Common initialism \"QFT\" appears as a part of a shorthand name. |\n+\n+\n+\n+***\n+\n+\n+### Proper Nouns in Names ###\n+\n+While in physics it is common to name things after the first person to publish about them, most non-physicists aren’t familiar with everyone’s names and all of the history.\n+Relying too heavily on naming conventions from physics can thus put up a substantial barrier to entry, as users from other backgrounds must learn a large number of seemingly opaque names in order to use common operations and concepts.\n+<!-- An important part of the task of reducing confusion is to make code more accessible.\n+Especially in a field such as quantum computing that is rich with domain expertise, we must at all times be cognizant of the demands we place on that expertise as we design quantum software.\n+In naming code symbols, one way that this cognizance expresses itself is as an awareness of the convention from physics of adopting as the names of algorithms and operations the names of their original publishers.\n+While we must maintain the history and intellectual provenance of concepts in quantum computing, demanding that all users be versed in this history to use even the most basic of functions and operations places a barrier to entry that is in most cases severe enough to even present an ethical compromise. -->\n+Thus, we recommend that wherever reasonable, common nouns that describe a concept be adopted in strong preference to proper nouns that describe the publication history of a concept.\n+As a particular example, the singly controlled SWAP and doubly controlled NOT operations are often called the \"Fredkin\" and \"Toffoli\" operations in academic literature, but are identified in Q# primarily as `CSWAP` and `CCNOT`.\n+In both cases, the API documentation comments provide synonymous names based on proper nouns, along with all appropriate citations.\n+\n+This preference is especially important given that some usage of proper nouns will always be necessary — Q# follows the tradition set by many classical languages, for instance, and refers to `Bool` types in reference to Boolean logic, which is in turn named in honor of George Boole.\n+A few quantum concepts similarly are named in a similar fashion, including the `Pauli` type built-in to the Q# language.\n+By minimizing the usage of proper nouns where such usage is not essential, we reduce the impact where proper nouns cannot be reasonably avoided.\n+\n+# [Guidance](#tab/guidance) \n+\n+We suggest:\n+\n+- Avoid the use of proper nouns in names.\n+\n+# [Examples](#tab/examples)\n+\n+***\n+\n+### Type Conversions ###\n+\n+Since Q# is a strongly and staticly typed language, a value of one type can only be used as a value of another type by using an explicit call to a type conversion function.\n+This is in contrast to languages which allow for values to change types implicitly (e.g.: type promotion), or through casting.\n+As a result, type conversion functions play an important role in Q# library development, and comprise one of the more commonly encountered decisions about naming.\n+We note, however, that since type conversions are always _deterministic_, they can be written as functions and thus fall under the advice above.\n+In particular, we suggest that type conversion functions should never be named as verbs (e.g.: `ConvertToX`) or adverb prepositional phrases (`ToX`), but should be named as adjective prepositional phrases that indicate the source and destination types (`XAsY`).\n+When listing array types in type conversion function names, we recommend the shorthand `Arr`.\n+Barring exceptional circumstances, we recommend that all type conversion functions be named using `As` so that they can be quickly identified.\n+\n+# [Guidance](#tab/guidance)\n+\n+We suggest:\n+\n+- If a function converts a value of type `X` to a value of type `Y`, use either the name `AsY` or `XAsY`.\n+\n+# [Examples](#tab/examples)\n+\n+|   | Name | Description |\n+|---|------|-------------|\n+| ☒ | <s>`ToDouble`</s> | The preposition \"to\" results in a verb phrase, indicating an operation and not a function. |\n+| ☒ | <s>`AsDouble`</s> | The input type is not clear from the function name. |\n+| ☒ | <s>`PauliArrFromBoolArr`</s> | The input and output types appear in the wrong order. |\n+| ☑ | `ResultArrAsBoolArr` | Both the input types and output types are clear. |\n+\n+***\n+\n+### Private or Internal Names ###\n+\n+> [!NOTE]\n+> It is expected that the guidance in this section will change with Q# 1.0.\n+\n+In many cases, a name is intended strictly for use internal to a library or project, and is not a guaranteed part of the API offered by a library.\n+It is helpful to clearly indicate that this is the case when naming functions and operations so that accidental dependencies on internal-only code are made obvious.\n+If an operation or function is not intended for direct use, but rather should be used by a matching callable which acts by partial application, consider using a name ending with `Impl` for the callable that is partially applied.\n+\n+# [Guidance](#tab/guidance)\n+\n+We suggest:\n+\n+- When a function, operation, or user-defined type is not a part of the public API for a Q# library or program, ensure that its name begins with a leading underscore (`_`).\n+- When a function or operation is used only in when partially applied, ensure that its name ends with `Impl`.\n+  Alternatively, refactor to make the `Impl` callable useful in its own right.\n+\n+# [Examples](#tab/examples)\n+\n+|   | Name | Description |\n+|---|------|-------------|\n+| ☒ | <s>`ApplyDecomposedOperation_`</s> | The underscore `_` should not appear at the end of the name. |\n+| ☑ | `_ApplyDecomposedOperation` | The underscore `_` at the beginning clearly indicates that this operation is for internal use only. |\n+| ☑ | `ComposeImpl` | The suffix `Impl` clearly indicates that this callable is meant to support the `Compose` callable. |\n+\n+***\n+\n+### Variants ###\n+\n+Though this limitation may not persist in future versions of Q#, it is presently the case that there will often be groups of related operations or functions that are distinguished by which functors their inputs support, or by the concrete types of their arguments.\n+These groups can be distinguished by using the same root name, followed by one or two letters that indicate its variant.\n+\n+| Suffix | Meaning |\n+|--------|---------|\n+| `A` | Input expected to support `Adjoint` |\n+| `C` | Input expected to support `Controlled` |\n+| `CA` | Input expected to support `Controlled` and `Adjoint` |\n+| `I` | Input or inputs are of type `Int` |\n+| `D` | Input or inputs are of type `Double` |\n+| `L` | Input or inputs are of type `BigInt` |\n+| `BE` | Input or inputs are of type `BigEndian` |\n+| `LE` | Input or inputs are of type `LittleEndian` |\n+\n+# [Guidance](#tab/guidance)\n+\n+We suggest:\n+\n+- If a function or operation is not related to any similar functions or operations by the types and functor support of their inputs, do not use a suffix.\n+- If a function or operation is related to any similar functions or operations by the types and functor support of their inputs, use suffixes as in the table above to distinguish variants.\n+\n+# [Examples](#tab/examples)\n+\n+***\n+\n+### Arguments and Variables ###\n+\n+A key goal of the Q# code for a function or operation is for it to be easily read and understood.\n+Similarly, the names of inputs and type arguments should communicate how a function or argument will be used once provided.\n+\n+\n+# [Guidance](#tab/guidance) \n+\n+We suggest:\n+\n+- For all variable and input names, use `pascalCase` in strong preference to `CamelCase`, `snake_case`, or `ANGRY_CASE`.\n+- Input names should be descriptive; avoid one or two letter names where possible.\n+- Operations and functions accepting exactly one type argument should denote that type argument by `T` when its role is obvious.\n+- If a function or operation takes multiple type arguments, or if the role of a single type argument is not obvious, consider using a short capitalized word prefaced by `T` (e.g.: `TOutput`) for each type.\n+- Do not include type names in argument and variable names unless absolutely necessary; this information can and should be provided by your development environment.","path":"articles/contributing/style-guide.md","position":289,"original_position":289,"commit_id":"96358c572c4bef78eaed0f8bd6b8226c5a0b05a4","original_commit_id":"96358c572c4bef78eaed0f8bd6b8226c5a0b05a4","user":{"login":"bettinaheim","id":34236215,"node_id":"MDQ6VXNlcjM0MjM2MjE1","avatar_url":"https://avatars1.githubusercontent.com/u/34236215?v=4","gravatar_id":"","url":"https://api.github.com/users/bettinaheim","html_url":"https://github.com/bettinaheim","followers_url":"https://api.github.com/users/bettinaheim/followers","following_url":"https://api.github.com/users/bettinaheim/following{/other_user}","gists_url":"https://api.github.com/users/bettinaheim/gists{/gist_id}","starred_url":"https://api.github.com/users/bettinaheim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bettinaheim/subscriptions","organizations_url":"https://api.github.com/users/bettinaheim/orgs","repos_url":"https://api.github.com/users/bettinaheim/repos","events_url":"https://api.github.com/users/bettinaheim/events{/privacy}","received_events_url":"https://api.github.com/users/bettinaheim/received_events","type":"User","site_admin":false},"body":"I am lacking imagination here regarding a scenario that qualified as \"absolutely necessary\"? ","created_at":"2019-04-04T00:08:10Z","updated_at":"2019-04-04T00:15:47Z","html_url":"https://github.com/MicrosoftDocs/quantum-docs-pr/pull/371#discussion_r271978078","pull_request_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/371","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/comments/271978078"},"html":{"href":"https://github.com/MicrosoftDocs/quantum-docs-pr/pull/371#discussion_r271978078"},"pull_request":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/371"}}},"pull_request":{"url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/371","id":265894261,"node_id":"MDExOlB1bGxSZXF1ZXN0MjY1ODk0MjYx","html_url":"https://github.com/MicrosoftDocs/quantum-docs-pr/pull/371","diff_url":"https://github.com/MicrosoftDocs/quantum-docs-pr/pull/371.diff","patch_url":"https://github.com/MicrosoftDocs/quantum-docs-pr/pull/371.patch","issue_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues/371","number":371,"state":"open","locked":false,"title":"Publish new style guide","user":{"login":"cgranade","id":31516,"node_id":"MDQ6VXNlcjMxNTE2","avatar_url":"https://avatars3.githubusercontent.com/u/31516?v=4","gravatar_id":"","url":"https://api.github.com/users/cgranade","html_url":"https://github.com/cgranade","followers_url":"https://api.github.com/users/cgranade/followers","following_url":"https://api.github.com/users/cgranade/following{/other_user}","gists_url":"https://api.github.com/users/cgranade/gists{/gist_id}","starred_url":"https://api.github.com/users/cgranade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgranade/subscriptions","organizations_url":"https://api.github.com/users/cgranade/orgs","repos_url":"https://api.github.com/users/cgranade/repos","events_url":"https://api.github.com/users/cgranade/events{/privacy}","received_events_url":"https://api.github.com/users/cgranade/received_events","type":"User","site_admin":false},"body":"","created_at":"2019-03-29T23:38:41Z","updated_at":"2019-04-04T00:15:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"601521bcbab52ffcdf23b6277344e86efbe28b29","assignee":null,"assignees":[],"requested_reviewers":[{"login":"tcNickolas","id":10113024,"node_id":"MDQ6VXNlcjEwMTEzMDI0","avatar_url":"https://avatars2.githubusercontent.com/u/10113024?v=4","gravatar_id":"","url":"https://api.github.com/users/tcNickolas","html_url":"https://github.com/tcNickolas","followers_url":"https://api.github.com/users/tcNickolas/followers","following_url":"https://api.github.com/users/tcNickolas/following{/other_user}","gists_url":"https://api.github.com/users/tcNickolas/gists{/gist_id}","starred_url":"https://api.github.com/users/tcNickolas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tcNickolas/subscriptions","organizations_url":"https://api.github.com/users/tcNickolas/orgs","repos_url":"https://api.github.com/users/tcNickolas/repos","events_url":"https://api.github.com/users/tcNickolas/events{/privacy}","received_events_url":"https://api.github.com/users/tcNickolas/received_events","type":"User","site_admin":false},{"login":"alan-geller","id":10674457,"node_id":"MDQ6VXNlcjEwNjc0NDU3","avatar_url":"https://avatars3.githubusercontent.com/u/10674457?v=4","gravatar_id":"","url":"https://api.github.com/users/alan-geller","html_url":"https://github.com/alan-geller","followers_url":"https://api.github.com/users/alan-geller/followers","following_url":"https://api.github.com/users/alan-geller/following{/other_user}","gists_url":"https://api.github.com/users/alan-geller/gists{/gist_id}","starred_url":"https://api.github.com/users/alan-geller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alan-geller/subscriptions","organizations_url":"https://api.github.com/users/alan-geller/orgs","repos_url":"https://api.github.com/users/alan-geller/repos","events_url":"https://api.github.com/users/alan-geller/events{/privacy}","received_events_url":"https://api.github.com/users/alan-geller/received_events","type":"User","site_admin":false},{"login":"anpaz-msft","id":24311286,"node_id":"MDQ6VXNlcjI0MzExMjg2","avatar_url":"https://avatars3.githubusercontent.com/u/24311286?v=4","gravatar_id":"","url":"https://api.github.com/users/anpaz-msft","html_url":"https://github.com/anpaz-msft","followers_url":"https://api.github.com/users/anpaz-msft/followers","following_url":"https://api.github.com/users/anpaz-msft/following{/other_user}","gists_url":"https://api.github.com/users/anpaz-msft/gists{/gist_id}","starred_url":"https://api.github.com/users/anpaz-msft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anpaz-msft/subscriptions","organizations_url":"https://api.github.com/users/anpaz-msft/orgs","repos_url":"https://api.github.com/users/anpaz-msft/repos","events_url":"https://api.github.com/users/anpaz-msft/events{/privacy}","received_events_url":"https://api.github.com/users/anpaz-msft/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":716472245,"node_id":"MDU6TGFiZWw3MTY0NzIyNDU=","url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"milestone":null,"commits_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/371/commits","review_comments_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/371/comments","review_comment_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/comments{/number}","comments_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues/371/comments","statuses_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/statuses/96358c572c4bef78eaed0f8bd6b8226c5a0b05a4","head":{"label":"MicrosoftDocs:cgranade/new-style-guide","ref":"cgranade/new-style-guide","sha":"96358c572c4bef78eaed0f8bd6b8226c5a0b05a4","user":{"login":"MicrosoftDocs","id":22479449,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNDc5NDQ5","avatar_url":"https://avatars2.githubusercontent.com/u/22479449?v=4","gravatar_id":"","url":"https://api.github.com/users/MicrosoftDocs","html_url":"https://github.com/MicrosoftDocs","followers_url":"https://api.github.com/users/MicrosoftDocs/followers","following_url":"https://api.github.com/users/MicrosoftDocs/following{/other_user}","gists_url":"https://api.github.com/users/MicrosoftDocs/gists{/gist_id}","starred_url":"https://api.github.com/users/MicrosoftDocs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MicrosoftDocs/subscriptions","organizations_url":"https://api.github.com/users/MicrosoftDocs/orgs","repos_url":"https://api.github.com/users/MicrosoftDocs/repos","events_url":"https://api.github.com/users/MicrosoftDocs/events{/privacy}","received_events_url":"https://api.github.com/users/MicrosoftDocs/received_events","type":"Organization","site_admin":false},"repo":{"id":106519882,"node_id":"MDEwOlJlcG9zaXRvcnkxMDY1MTk4ODI=","name":"quantum-docs-pr","full_name":"MicrosoftDocs/quantum-docs-pr","private":false,"owner":{"login":"MicrosoftDocs","id":22479449,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNDc5NDQ5","avatar_url":"https://avatars2.githubusercontent.com/u/22479449?v=4","gravatar_id":"","url":"https://api.github.com/users/MicrosoftDocs","html_url":"https://github.com/MicrosoftDocs","followers_url":"https://api.github.com/users/MicrosoftDocs/followers","following_url":"https://api.github.com/users/MicrosoftDocs/following{/other_user}","gists_url":"https://api.github.com/users/MicrosoftDocs/gists{/gist_id}","starred_url":"https://api.github.com/users/MicrosoftDocs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MicrosoftDocs/subscriptions","organizations_url":"https://api.github.com/users/MicrosoftDocs/orgs","repos_url":"https://api.github.com/users/MicrosoftDocs/repos","events_url":"https://api.github.com/users/MicrosoftDocs/events{/privacy}","received_events_url":"https://api.github.com/users/MicrosoftDocs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/MicrosoftDocs/quantum-docs-pr","description":null,"fork":false,"url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr","forks_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/forks","keys_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/teams","hooks_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/hooks","issue_events_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues/events{/number}","events_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/events","assignees_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/assignees{/user}","branches_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/branches{/branch}","tags_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/tags","blobs_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/refs{/sha}","trees_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/statuses/{sha}","languages_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/languages","stargazers_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/stargazers","contributors_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/contributors","subscribers_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/subscribers","subscription_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/subscription","commits_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/commits{/sha}","git_commits_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/commits{/sha}","comments_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/comments{/number}","issue_comment_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues/comments{/number}","contents_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/contents/{+path}","compare_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/merges","archive_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/downloads","issues_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues{/number}","pulls_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls{/number}","milestones_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/milestones{/number}","notifications_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/labels{/name}","releases_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/releases{/id}","deployments_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/deployments","created_at":"2017-10-11T07:24:20Z","updated_at":"2019-04-03T17:11:36Z","pushed_at":"2019-04-03T18:49:28Z","git_url":"git://github.com/MicrosoftDocs/quantum-docs-pr.git","ssh_url":"git@github.com:MicrosoftDocs/quantum-docs-pr.git","clone_url":"https://github.com/MicrosoftDocs/quantum-docs-pr.git","svn_url":"https://github.com/MicrosoftDocs/quantum-docs-pr","homepage":null,"size":4860,"stargazers_count":29,"watchers_count":29,"language":"Batchfile","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":29,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":8,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":29,"open_issues":8,"watchers":29,"default_branch":"live"}},"base":{"label":"MicrosoftDocs:live","ref":"live","sha":"2956ba7ce520ee5e0957039317bd37a88f2217a3","user":{"login":"MicrosoftDocs","id":22479449,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNDc5NDQ5","avatar_url":"https://avatars2.githubusercontent.com/u/22479449?v=4","gravatar_id":"","url":"https://api.github.com/users/MicrosoftDocs","html_url":"https://github.com/MicrosoftDocs","followers_url":"https://api.github.com/users/MicrosoftDocs/followers","following_url":"https://api.github.com/users/MicrosoftDocs/following{/other_user}","gists_url":"https://api.github.com/users/MicrosoftDocs/gists{/gist_id}","starred_url":"https://api.github.com/users/MicrosoftDocs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MicrosoftDocs/subscriptions","organizations_url":"https://api.github.com/users/MicrosoftDocs/orgs","repos_url":"https://api.github.com/users/MicrosoftDocs/repos","events_url":"https://api.github.com/users/MicrosoftDocs/events{/privacy}","received_events_url":"https://api.github.com/users/MicrosoftDocs/received_events","type":"Organization","site_admin":false},"repo":{"id":106519882,"node_id":"MDEwOlJlcG9zaXRvcnkxMDY1MTk4ODI=","name":"quantum-docs-pr","full_name":"MicrosoftDocs/quantum-docs-pr","private":false,"owner":{"login":"MicrosoftDocs","id":22479449,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNDc5NDQ5","avatar_url":"https://avatars2.githubusercontent.com/u/22479449?v=4","gravatar_id":"","url":"https://api.github.com/users/MicrosoftDocs","html_url":"https://github.com/MicrosoftDocs","followers_url":"https://api.github.com/users/MicrosoftDocs/followers","following_url":"https://api.github.com/users/MicrosoftDocs/following{/other_user}","gists_url":"https://api.github.com/users/MicrosoftDocs/gists{/gist_id}","starred_url":"https://api.github.com/users/MicrosoftDocs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MicrosoftDocs/subscriptions","organizations_url":"https://api.github.com/users/MicrosoftDocs/orgs","repos_url":"https://api.github.com/users/MicrosoftDocs/repos","events_url":"https://api.github.com/users/MicrosoftDocs/events{/privacy}","received_events_url":"https://api.github.com/users/MicrosoftDocs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/MicrosoftDocs/quantum-docs-pr","description":null,"fork":false,"url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr","forks_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/forks","keys_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/teams","hooks_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/hooks","issue_events_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues/events{/number}","events_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/events","assignees_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/assignees{/user}","branches_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/branches{/branch}","tags_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/tags","blobs_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/refs{/sha}","trees_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/statuses/{sha}","languages_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/languages","stargazers_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/stargazers","contributors_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/contributors","subscribers_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/subscribers","subscription_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/subscription","commits_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/commits{/sha}","git_commits_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/git/commits{/sha}","comments_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/comments{/number}","issue_comment_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues/comments{/number}","contents_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/contents/{+path}","compare_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/merges","archive_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/downloads","issues_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues{/number}","pulls_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls{/number}","milestones_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/milestones{/number}","notifications_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/labels{/name}","releases_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/releases{/id}","deployments_url":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/deployments","created_at":"2017-10-11T07:24:20Z","updated_at":"2019-04-03T17:11:36Z","pushed_at":"2019-04-03T18:49:28Z","git_url":"git://github.com/MicrosoftDocs/quantum-docs-pr.git","ssh_url":"git@github.com:MicrosoftDocs/quantum-docs-pr.git","clone_url":"https://github.com/MicrosoftDocs/quantum-docs-pr.git","svn_url":"https://github.com/MicrosoftDocs/quantum-docs-pr","homepage":null,"size":4860,"stargazers_count":29,"watchers_count":29,"language":"Batchfile","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":29,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":8,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":29,"open_issues":8,"watchers":29,"default_branch":"live"}},"_links":{"self":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/371"},"html":{"href":"https://github.com/MicrosoftDocs/quantum-docs-pr/pull/371"},"issue":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues/371"},"comments":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/issues/371/comments"},"review_comments":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/371/comments"},"review_comment":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/pulls/371/commits"},"statuses":{"href":"https://api.github.com/repos/MicrosoftDocs/quantum-docs-pr/statuses/96358c572c4bef78eaed0f8bd6b8226c5a0b05a4"}},"author_association":"COLLABORATOR"}}
other: {"actor":{"display_login":"bettinaheim"}}