{"action":"created","comment":{"url":"https://api.github.com/repos/SUSE/doc-sle/pulls/comments/65569413","id":65569413,"diff_hunk":"@@ -0,0 +1,611 @@\n+<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n+<!DOCTYPE chapter\n+[\n+  <!ENTITY % entities SYSTEM \"entity-decl.ent\">\n+    %entities;\n+]>\n+<chapter version=\"5.0\" xml:id=\"cha.adm.sudo\"\n+  xmlns=\"http://docbook.org/ns/docbook\"\n+  xmlns:xi=\"http://www.w3.org/2001/XInclude\"\n+  xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n+  <title>sudo <!-- TODO: Better title --></title>\n+  <subtitle><quote>With great power comes great responsibility</quote></subtitle>\n+  <info>\n+    <dm:docmanager xmlns:dm=\"urn:x-suse:ns:docmanager\">\n+      <dm:bugtracker></dm:bugtracker>\n+      <dm:translation>yes</dm:translation>\n+    </dm:docmanager>\n+  </info>\n+\n+  <para>\n+    Many commands and system utilities need to be run as &rootuser;\n+    to modify files and/or perform tasks that only the super user is allowed to.\n+\n+    For security purposes and to avoid running dangerous commands accidentially,\n+    it is generally disregarded to log in as &rootuser; directly.\n+    Instead, it is recommended to work as a normal, unprivileged, user and\n+    use the &sudo; command to run commands with elevated privileges.\n+  </para>\n+\n+  <para>\n+    In its default configuration, &sudo; is, apart of different options,\n+    similiar to <command>su</command>.\n+    Compared to <command>su</command>, &sudo; offers the possibility to allow users\n+    to run commands with privileges of any other user in a highly configurable manner.\n+    While <command>su</command> always uses PAM for authenticating as target user,\n+    &sudo; makes it possible to authenticate with your own credentials.\n+    This increases security by not having to share the &rootuser; password.\n+\n+    For instance, you can allow members of the group &examplegroup; to run a command <command>frobnicate</command>\n+    as &exampleuserII;, with the restriction that no arguments are specified.\n+    This can be used to assign roles with specific abilities to certain users and groups.\n+  </para>\n+\n+  <sect1 xml:id=\"sec.adm.sudo.usage\">\n+    <title>Basic &sudo; usage</title>\n+\n+    <para>\n+      &sudo; is simple to use, yet very powerful.\n+    </para>\n+\n+    <sect2 xml:id=\"sec.adm.sudo.usage.cmd\">\n+      <title>Running a single command</title>\n+      <para>\n+        Logged in as normal user, you can run any command as &rootuser; by prepending it with &sudo;.\n+        It will prompt for the root password and, if authenticated sucessfully, run the command as &rootuser;:\n+      </para>\n+\n+      <screen>\n+&prompt.user;id -un<co xml:id=\"co.sudo.usage.id\"/>\n+tux\n+&prompt.user;sudo id -un\n+root's password:<co xml:id=\"co.sudo.usage.pw\"/>\n+root\n+&prompt.user;id -un\n+tux<co xml:id=\"co.sudo.usage.after\"/>\n+&prompt.user;sudo id -un\n+<co xml:id=\"co.sudo.usage.nopw\"/>\n+root\n+</screen>\n+\n+      <calloutlist>\n+        <callout arearefs=\"co.sudo.usage.id\">\n+          <para>The <command>id</command> command prints information about a user, the current one if not specified.</para>\n+        </callout>\n+        <callout arearefs=\"co.sudo.usage.pw\">\n+          <para>The password is not shown during input, neither as clear text nor as bullets.</para>\n+        </callout>\n+        <callout arearefs=\"co.sudo.usage.after\">\n+          <para>Only the single command is run with elevated privileges, those after &sudo;\n+          are run as normal user again.</para>\n+        </callout>\n+        <callout arearefs=\"co.sudo.usage.nopw\">\n+          <para>For a limited amount of time you do not need to enter the &rootuser; password again.</para>\n+        </callout>\n+      </calloutlist>\n+\n+      <tip>\n+        <title>I/O redirection</title>\n+        <para>\n+          I/O redirection does not directly work that way:\n+        </para>\n+\n+        <screen>\n+&prompt.user; sudo echo s &gt; /proc/sysrq-trigger \n+bash: /proc/sysrq-trigger: Permission denied\n+&prompt.user; sudo cat &lt; /proc/1/maps\n+bash: /proc/1/maps: Permission denied\n+</screen>\n+\n+        <para>\n+          Only the <command>echo</command>/<command>cat</command> binary is run with elevated privileges,\n+          while the redirection is performed by the user's shell.\n+\n+          You can either start a shell like in <xref linkend=\"sec.sudo.shell\"/>\n+          or use the <command>dd</command> utility instead:\n+        </para>\n+\n+        <screen>\n+echo s | sudo dd of=/proc/sysrq-trigger\n+sudo dd if=/proc/1/maps | cat <!-- TODO: Better example! -->\n+</screen>\n+      </tip>\n+    </sect2>\n+\n+    <sect2 xml:id=\"sec.sudo.shell\">\n+      <title>Starting a shell</title>\n+      <para>\n+        Having to prepend &sudo; to every command can be cumbersome.\n+        While you can specify a shell as a command: <command>sudo bash</command>,\n+        there are two options specifically for this purpose.\n+      </para>\n+\n+      <variablelist>\n+        <varlistentry>\n+          <term>\n+            <literal>sudo -s (&lt;command&gt;)</literal>\n+          </term>\n+          <listitem>\n+            <para>\n+              Starts a shell specified by the <envar>SHELL</envar> environment variable or the target user's settings.\n+              If a command is given, it is passed to the shell (with the <option>-c</option> option),\n+              else the shell is run in interactive mode.\n+            </para>\n+            <screen>\n+<prompt>&exampleuser_plain;:~ &gt; </prompt>sudo -i\n+root's password:\n+<prompt>root:/home/tux # </prompt>exit\n+<prompt>&exampleuser_plain;:~ &gt; </prompt>\n+</screen>\n+          </listitem>\n+        </varlistentry>\n+\n+        <varlistentry>\n+          <term>\n+            <literal>sudo -i (&lt;command&gt;)</literal>\n+          </term>\n+          <listitem>\n+            <para>\n+              Like <option>-s</option>, but start the shell as login shell.\n+              This means that the shell's start-up files (<filename>.profile</filename> etc.) are read\n+              and the current working directory is set to the target user's <envar>HOME</envar>.\n+            </para>\n+            <screen>\n+<prompt>&exampleuser_plain;:~ &gt; </prompt>sudo -i\n+root's password:\n+<prompt>root:~ # </prompt>exit\n+<prompt>&exampleuser_plain;:~ &gt; </prompt>\n+            </screen>\n+          </listitem>\n+        </varlistentry>\n+      </variablelist>\n+    </sect2>\n+\n+    <sect2 xml:id=\"sec.adm.sudo.usage.env\">\n+      <title>Environment variables</title>\n+      <para>By default, &sudo; does not propagate environment variables:</para>\n+      <screen>\n+&prompt.user;ENVVAR=test env | grep ENVVAR\n+ENVVAR=test\n+&prompt.user;ENVVAR=test sudo env | grep ENVVAR\n+root's password:\n+<co xml:id=\"co.sudo.env.novar\"/>\n+&prompt.user;\n+      </screen>\n+      <calloutlist>\n+        <callout arearefs=\"co.sudo.env.novar\">\n+          <para>\n+            The empty output shows that the environment variable <envar>ENVVAR</envar>\n+            did not exist in the context of the command run with &sudo;.\n+          </para>\n+        </callout>\n+      </calloutlist>\n+\n+      <para>This behaviour can be changed by the <literal>env_reset</literal> option, see <xref linkend=\"tab.adm.sudo.options\"/>.</para>\n+    </sect2>\n+  </sect1>\n+\n+  <sect1 xml:id=\"sec.sudo.conf\">\n+    <title>Configuring &sudo;</title>\n+\n+    <para>\n+      &sudo; is a very flexible tool with extensive configuration.\n+    </para>\n+\n+    <note>\n+      <title>Locked out of sudo</title>\n+      <para>\n+        Should you lock yourself out of &sudo; by mistake, you can use <command>su -</command>\n+        and the &rootuser; password to get a root shell.\n+      </para>\n+    </note>\n+\n+    <sect2 xml:id=\"sec.sudo.conf.edit\">\n+      <title>Editing the configuration files</title>\n+      <para>\n+        The main policy configuration file for &sudo; is <filename>/etc/sudoers</filename>.\n+        As it is possible to lock yourself out of the system if there are any errors in that file, it is\n+        strongly recommended to use <command>visudo</command> for editing.\n+        It will prevent simultaneous changes to the opened file and check for syntax errors before saving.\n+      </para>\n+      <para>\n+        Despite its name, you can also use editors other than vi by setting the <envar>EDITOR</envar>\n+        environment variable, for example:\n+      </para>\n+      <screen>sudo EDITOR=<replaceable>/usr/bin/nano</replaceable> visudo</screen>\n+\n+      <para>\n+        However, the <filename>/etc/sudoers</filename> file itself is supplied by the system packages and\n+        modifications may break on updates. Therefore, it is recommended to put any custom configuration into\n+        the <filename>/etc/sudoers.d/</filename> directory. Any file in there is automatically included.\n+        To edit a file in that subdirectory, run:\n+        </para>\n+      <screen>sudo visudo -f /etc/sudoers.d/<replaceable>NAME</replaceable></screen>\n+\n+      <para>Or with <command>nano</command> as editor:</para>\n+      <screen>sudo EDITOR=<replaceable>/usr/bin/nano</replaceable> visudo -f /etc/sudoers.d/<replaceable>NAME</replaceable></screen>\n+\n+      <note>\n+        <title>Ignored files in <filename>/etc/sudoers.d</filename></title>\n+        <para>\n+          The <literal>#includedir</literal> command in <filename>/etc/sudoers</filename>,\n+          used for <filename>/etc/sudoers.d</filename>, ignores files that end in <literal>~</literal>\n+          or <emphasis>contain</emphasis> a <literal>.</literal>.\n+        </para>\n+      </note>\n+\n+      <para>For more info on the <command>visudo</command> command, run <command>man 8 visudo</command>.</para>\n+    </sect2>\n+\n+    <sect2 xml:id=\"sec.sudo.conf.syntax\">\n+      <title>Basic sudoers syntax</title>\n+      <para>\n+        The most important syntax constructs for <filename>/etc/sudoers</filename>\n+        and files under <filename>/etc/sudoers.d</filename> are:\n+      </para>\n+\n+      <screen>\n+# Everything on a line after a # gets ignored <co xml:id=\"co.sudo.syntax.comment\"/>\n+Defaults !insults # Disable the insults flag <co xml:id=\"co.sudo.syntax.flag\"/>\n+Defaults env_keep += \"DISPLAY HOME\" # Add DISPLAY and HOME to env_keep\n+&exampleuser_plain; ALL = NOPASSWD: /usr/bin/frobnicate, PASSWD: /usr/bin/journalctl <co xml:id=\"co.sudo.syntax.rule\"/>\n+</screen>\n+\n+      <calloutlist>\n+        <callout arearefs=\"co.sudo.syntax.comment\">\n+          <para>\n+            There are two exceptions: <literal>#include</literal> and <literal>#includedir</literal> are normal commands. Followed by digits, it specifies a UID.\n+          </para>\n+        </callout>\n+        <callout arearefs=\"co.sudo.syntax.flag\">\n+          <para>\n+            Remove the <literal>!</literal> to enable the flag.\n+          </para>\n+        </callout>\n+        <callout arearefs=\"co.sudo.syntax.rule\">\n+          <para>\n+            See <xref linkend=\"sec.sudo.conf.rule\"/>\n+          </para>\n+        </callout>\n+      </calloutlist>\n+\n+      <table xml:id=\"tab.adm.sudo.options\">\n+        <title>Useful flags and options</title>\n+        <tgroup cols=\"3\">\n+          <thead>\n+            <row><entry><para>Option name</para></entry><entry><para>Description</para></entry><entry><para>Example</para></entry></row>\n+          </thead>\n+          <tbody>\n+            <row>\n+              <entry>\n+                <literal>targetpw</literal>\n+              </entry>\n+              <entry>\n+                <para>\n+                  This flag controls whether the invoking user is required to enter the password of the target user (&rootuser;) (ON),\n+                  or his own password (OFF). The default is ON.\n+                </para>\n+              </entry>\n+              <entry>\n+                <screen>Defaults targetpw # Turn targetpw flag ON</screen>\n+              </entry>\n+            </row>\n+            <row>\n+              <entry>\n+                <literal>rootpw</literal>\n+              </entry>\n+              <entry>\n+                <para>\n+                  If set, &sudo; will prompt for the &rootuser; password instead of the target user's or the invoker's.\n+                  The default is OFF.\n+                </para>\n+              </entry>\n+              <entry>\n+                <screen>Defaults !rootpw # Turn rootpw flag OFF</screen>\n+              </entry>\n+            </row>\n+            <row>\n+              <entry>\n+                <literal>env_reset</literal>\n+              </entry>\n+              <entry>\n+                <para>\n+                  If set, &sudo; constructs a minimal environment with only\n+                  <envar>TERM</envar>, <envar>PATH</envar>, <envar>HOME</envar>,\n+                  <envar>MAIL</envar>, <envar>SHELL</envar>, <envar>LOGNAME</envar>,\n+                  <envar>USER</envar>, <envar>USERNAME</envar> and <envar>SUDO_*</envar> set.\n+                  Additionally, variables listed in <literal>env_keep</literal> get imported from the calling environment.\n+                  The default is ON.\n+                </para>\n+              </entry>\n+              <entry>\n+                <screen>Defaults env_reset # Turn env_reset flag ON</screen>\n+              </entry>\n+            </row>\n+            <row>\n+              <entry>\n+                <literal>env_keep</literal>\n+              </entry>\n+              <entry>\n+                <para>\n+                  List of environment variables to keep when the <literal>env_reset</literal> flag is ON.\n+                </para>\n+              </entry>\n+              <entry>\n+                <screen>\n+# Set env_keep to contain EDITOR and PROMPT\n+Defaults env_keep = \"EDITOR PROMPT\"\n+Defaults env_keep += \"JRE_HOME\" # Add JRE_HOME\n+Defaults env_keep -= \"JRE_HOME\" # Remove JRE_HOME\n+</screen>\n+              </entry>\n+            </row>\n+            <row>\n+              <entry>\n+                <literal>env_delete</literal>\n+              </entry>\n+              <entry>\n+                <para>\n+                  List of environment variables to remove when the <literal>env_reset</literal> flag is OFF.\n+                </para>\n+              </entry>\n+              <entry>\n+                <screen>\n+# Set env_delete to contain EDITOR and PROMPT\n+Defaults env_delete = \"EDITOR PROMPT\"\n+Defaults env_delete += \"JRE_HOME\" # Add JRE_HOME\n+Defaults env_delete -= \"JRE_HOME\" # Remove JRE_HOME\n+</screen>\n+              </entry>\n+            </row>\n+          </tbody>\n+        </tgroup>\n+      </table>\n+\n+      <para>\n+        The <literal>Defaults</literal> token can also be used to create aliases for a collection\n+        of users, hosts and commands.\n+        Furthermore, it is possible to apply an option setting only to a specific set of users.\n+      </para>\n+\n+      <para>\n+        For detailed information about the <filename>/etc/sudoers</filename> configuration file, consult\n+        <command>man 5 sudoers</command>.\n+      </para>\n+    </sect2>\n+\n+    <sect2 xml:id=\"sec.sudo.conf.rule\">\n+      <title>Rules in sudoers</title>","path":"xml/adm_sudo.xml","position":null,"original_position":378,"commit_id":"6188ece7605a81db66234848fee7ec089d70fba9","original_commit_id":"01983bd435d3c153dcd2b16c3258c54a02164ed4","user":{"login":"fsundermeyer","id":1872885,"avatar_url":"https://avatars.githubusercontent.com/u/1872885?v=3","gravatar_id":"","url":"https://api.github.com/users/fsundermeyer","html_url":"https://github.com/fsundermeyer","followers_url":"https://api.github.com/users/fsundermeyer/followers","following_url":"https://api.github.com/users/fsundermeyer/following{/other_user}","gists_url":"https://api.github.com/users/fsundermeyer/gists{/gist_id}","starred_url":"https://api.github.com/users/fsundermeyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fsundermeyer/subscriptions","organizations_url":"https://api.github.com/users/fsundermeyer/orgs","repos_url":"https://api.github.com/users/fsundermeyer/repos","events_url":"https://api.github.com/users/fsundermeyer/events{/privacy}","received_events_url":"https://api.github.com/users/fsundermeyer/received_events","type":"User","site_admin":false},"body":"Rules~~ in sudoers~~","created_at":"2016-06-02T16:06:26Z","updated_at":"2016-06-02T16:06:26Z","html_url":"https://github.com/SUSE/doc-sle/pull/46#discussion_r65569413","pull_request_url":"https://api.github.com/repos/SUSE/doc-sle/pulls/46","_links":{"self":{"href":"https://api.github.com/repos/SUSE/doc-sle/pulls/comments/65569413"},"html":{"href":"https://github.com/SUSE/doc-sle/pull/46#discussion_r65569413"},"pull_request":{"href":"https://api.github.com/repos/SUSE/doc-sle/pulls/46"}}},"pull_request":{"url":"https://api.github.com/repos/SUSE/doc-sle/pulls/46","id":72355870,"html_url":"https://github.com/SUSE/doc-sle/pull/46","diff_url":"https://github.com/SUSE/doc-sle/pull/46.diff","patch_url":"https://github.com/SUSE/doc-sle/pull/46.patch","issue_url":"https://api.github.com/repos/SUSE/doc-sle/issues/46","number":46,"state":"open","locked":false,"title":"Add chapter about sudo to admin guide","user":{"login":"Vogtinator","id":1622084,"avatar_url":"https://avatars.githubusercontent.com/u/1622084?v=3","gravatar_id":"","url":"https://api.github.com/users/Vogtinator","html_url":"https://github.com/Vogtinator","followers_url":"https://api.github.com/users/Vogtinator/followers","following_url":"https://api.github.com/users/Vogtinator/following{/other_user}","gists_url":"https://api.github.com/users/Vogtinator/gists{/gist_id}","starred_url":"https://api.github.com/users/Vogtinator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vogtinator/subscriptions","organizations_url":"https://api.github.com/users/Vogtinator/orgs","repos_url":"https://api.github.com/users/Vogtinator/repos","events_url":"https://api.github.com/users/Vogtinator/events{/privacy}","received_events_url":"https://api.github.com/users/Vogtinator/received_events","type":"User","site_admin":false},"body":"I don't expect any less than 20 complaints and corrections!","created_at":"2016-06-02T14:27:19Z","updated_at":"2016-06-02T16:06:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c9298fa2b0f91fe52102c773575b9fe8f4e9efc9","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/SUSE/doc-sle/pulls/46/commits","review_comments_url":"https://api.github.com/repos/SUSE/doc-sle/pulls/46/comments","review_comment_url":"https://api.github.com/repos/SUSE/doc-sle/pulls/comments{/number}","comments_url":"https://api.github.com/repos/SUSE/doc-sle/issues/46/comments","statuses_url":"https://api.github.com/repos/SUSE/doc-sle/statuses/6188ece7605a81db66234848fee7ec089d70fba9","head":{"label":"SUSE:feature/sudo","ref":"feature/sudo","sha":"6188ece7605a81db66234848fee7ec089d70fba9","user":{"login":"SUSE","id":1067733,"avatar_url":"https://avatars.githubusercontent.com/u/1067733?v=3","gravatar_id":"","url":"https://api.github.com/users/SUSE","html_url":"https://github.com/SUSE","followers_url":"https://api.github.com/users/SUSE/followers","following_url":"https://api.github.com/users/SUSE/following{/other_user}","gists_url":"https://api.github.com/users/SUSE/gists{/gist_id}","starred_url":"https://api.github.com/users/SUSE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SUSE/subscriptions","organizations_url":"https://api.github.com/users/SUSE/orgs","repos_url":"https://api.github.com/users/SUSE/repos","events_url":"https://api.github.com/users/SUSE/events{/privacy}","received_events_url":"https://api.github.com/users/SUSE/received_events","type":"Organization","site_admin":false},"repo":{"id":37653820,"name":"doc-sle","full_name":"SUSE/doc-sle","owner":{"login":"SUSE","id":1067733,"avatar_url":"https://avatars.githubusercontent.com/u/1067733?v=3","gravatar_id":"","url":"https://api.github.com/users/SUSE","html_url":"https://github.com/SUSE","followers_url":"https://api.github.com/users/SUSE/followers","following_url":"https://api.github.com/users/SUSE/following{/other_user}","gists_url":"https://api.github.com/users/SUSE/gists{/gist_id}","starred_url":"https://api.github.com/users/SUSE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SUSE/subscriptions","organizations_url":"https://api.github.com/users/SUSE/orgs","repos_url":"https://api.github.com/users/SUSE/repos","events_url":"https://api.github.com/users/SUSE/events{/privacy}","received_events_url":"https://api.github.com/users/SUSE/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SUSE/doc-sle","description":"Official SUSE Linux Enterprise documentation","fork":false,"url":"https://api.github.com/repos/SUSE/doc-sle","forks_url":"https://api.github.com/repos/SUSE/doc-sle/forks","keys_url":"https://api.github.com/repos/SUSE/doc-sle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SUSE/doc-sle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SUSE/doc-sle/teams","hooks_url":"https://api.github.com/repos/SUSE/doc-sle/hooks","issue_events_url":"https://api.github.com/repos/SUSE/doc-sle/issues/events{/number}","events_url":"https://api.github.com/repos/SUSE/doc-sle/events","assignees_url":"https://api.github.com/repos/SUSE/doc-sle/assignees{/user}","branches_url":"https://api.github.com/repos/SUSE/doc-sle/branches{/branch}","tags_url":"https://api.github.com/repos/SUSE/doc-sle/tags","blobs_url":"https://api.github.com/repos/SUSE/doc-sle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SUSE/doc-sle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SUSE/doc-sle/git/refs{/sha}","trees_url":"https://api.github.com/repos/SUSE/doc-sle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SUSE/doc-sle/statuses/{sha}","languages_url":"https://api.github.com/repos/SUSE/doc-sle/languages","stargazers_url":"https://api.github.com/repos/SUSE/doc-sle/stargazers","contributors_url":"https://api.github.com/repos/SUSE/doc-sle/contributors","subscribers_url":"https://api.github.com/repos/SUSE/doc-sle/subscribers","subscription_url":"https://api.github.com/repos/SUSE/doc-sle/subscription","commits_url":"https://api.github.com/repos/SUSE/doc-sle/commits{/sha}","git_commits_url":"https://api.github.com/repos/SUSE/doc-sle/git/commits{/sha}","comments_url":"https://api.github.com/repos/SUSE/doc-sle/comments{/number}","issue_comment_url":"https://api.github.com/repos/SUSE/doc-sle/issues/comments{/number}","contents_url":"https://api.github.com/repos/SUSE/doc-sle/contents/{+path}","compare_url":"https://api.github.com/repos/SUSE/doc-sle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SUSE/doc-sle/merges","archive_url":"https://api.github.com/repos/SUSE/doc-sle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SUSE/doc-sle/downloads","issues_url":"https://api.github.com/repos/SUSE/doc-sle/issues{/number}","pulls_url":"https://api.github.com/repos/SUSE/doc-sle/pulls{/number}","milestones_url":"https://api.github.com/repos/SUSE/doc-sle/milestones{/number}","notifications_url":"https://api.github.com/repos/SUSE/doc-sle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SUSE/doc-sle/labels{/name}","releases_url":"https://api.github.com/repos/SUSE/doc-sle/releases{/id}","deployments_url":"https://api.github.com/repos/SUSE/doc-sle/deployments","created_at":"2015-06-18T10:46:10Z","updated_at":"2016-05-27T20:14:05Z","pushed_at":"2016-06-02T15:53:46Z","git_url":"git://github.com/SUSE/doc-sle.git","ssh_url":"git@github.com:SUSE/doc-sle.git","clone_url":"https://github.com/SUSE/doc-sle.git","svn_url":"https://github.com/SUSE/doc-sle","homepage":"https://www.suse.com/doc/sles-12","size":339450,"stargazers_count":9,"watchers_count":9,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":14,"mirror_url":null,"open_issues_count":1,"forks":14,"open_issues":1,"watchers":9,"default_branch":"develop"}},"base":{"label":"SUSE:develop","ref":"develop","sha":"ad3db490dfcb98a473f07cde100ad06b9ed39c0b","user":{"login":"SUSE","id":1067733,"avatar_url":"https://avatars.githubusercontent.com/u/1067733?v=3","gravatar_id":"","url":"https://api.github.com/users/SUSE","html_url":"https://github.com/SUSE","followers_url":"https://api.github.com/users/SUSE/followers","following_url":"https://api.github.com/users/SUSE/following{/other_user}","gists_url":"https://api.github.com/users/SUSE/gists{/gist_id}","starred_url":"https://api.github.com/users/SUSE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SUSE/subscriptions","organizations_url":"https://api.github.com/users/SUSE/orgs","repos_url":"https://api.github.com/users/SUSE/repos","events_url":"https://api.github.com/users/SUSE/events{/privacy}","received_events_url":"https://api.github.com/users/SUSE/received_events","type":"Organization","site_admin":false},"repo":{"id":37653820,"name":"doc-sle","full_name":"SUSE/doc-sle","owner":{"login":"SUSE","id":1067733,"avatar_url":"https://avatars.githubusercontent.com/u/1067733?v=3","gravatar_id":"","url":"https://api.github.com/users/SUSE","html_url":"https://github.com/SUSE","followers_url":"https://api.github.com/users/SUSE/followers","following_url":"https://api.github.com/users/SUSE/following{/other_user}","gists_url":"https://api.github.com/users/SUSE/gists{/gist_id}","starred_url":"https://api.github.com/users/SUSE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SUSE/subscriptions","organizations_url":"https://api.github.com/users/SUSE/orgs","repos_url":"https://api.github.com/users/SUSE/repos","events_url":"https://api.github.com/users/SUSE/events{/privacy}","received_events_url":"https://api.github.com/users/SUSE/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SUSE/doc-sle","description":"Official SUSE Linux Enterprise documentation","fork":false,"url":"https://api.github.com/repos/SUSE/doc-sle","forks_url":"https://api.github.com/repos/SUSE/doc-sle/forks","keys_url":"https://api.github.com/repos/SUSE/doc-sle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SUSE/doc-sle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SUSE/doc-sle/teams","hooks_url":"https://api.github.com/repos/SUSE/doc-sle/hooks","issue_events_url":"https://api.github.com/repos/SUSE/doc-sle/issues/events{/number}","events_url":"https://api.github.com/repos/SUSE/doc-sle/events","assignees_url":"https://api.github.com/repos/SUSE/doc-sle/assignees{/user}","branches_url":"https://api.github.com/repos/SUSE/doc-sle/branches{/branch}","tags_url":"https://api.github.com/repos/SUSE/doc-sle/tags","blobs_url":"https://api.github.com/repos/SUSE/doc-sle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SUSE/doc-sle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SUSE/doc-sle/git/refs{/sha}","trees_url":"https://api.github.com/repos/SUSE/doc-sle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SUSE/doc-sle/statuses/{sha}","languages_url":"https://api.github.com/repos/SUSE/doc-sle/languages","stargazers_url":"https://api.github.com/repos/SUSE/doc-sle/stargazers","contributors_url":"https://api.github.com/repos/SUSE/doc-sle/contributors","subscribers_url":"https://api.github.com/repos/SUSE/doc-sle/subscribers","subscription_url":"https://api.github.com/repos/SUSE/doc-sle/subscription","commits_url":"https://api.github.com/repos/SUSE/doc-sle/commits{/sha}","git_commits_url":"https://api.github.com/repos/SUSE/doc-sle/git/commits{/sha}","comments_url":"https://api.github.com/repos/SUSE/doc-sle/comments{/number}","issue_comment_url":"https://api.github.com/repos/SUSE/doc-sle/issues/comments{/number}","contents_url":"https://api.github.com/repos/SUSE/doc-sle/contents/{+path}","compare_url":"https://api.github.com/repos/SUSE/doc-sle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SUSE/doc-sle/merges","archive_url":"https://api.github.com/repos/SUSE/doc-sle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SUSE/doc-sle/downloads","issues_url":"https://api.github.com/repos/SUSE/doc-sle/issues{/number}","pulls_url":"https://api.github.com/repos/SUSE/doc-sle/pulls{/number}","milestones_url":"https://api.github.com/repos/SUSE/doc-sle/milestones{/number}","notifications_url":"https://api.github.com/repos/SUSE/doc-sle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SUSE/doc-sle/labels{/name}","releases_url":"https://api.github.com/repos/SUSE/doc-sle/releases{/id}","deployments_url":"https://api.github.com/repos/SUSE/doc-sle/deployments","created_at":"2015-06-18T10:46:10Z","updated_at":"2016-05-27T20:14:05Z","pushed_at":"2016-06-02T15:53:46Z","git_url":"git://github.com/SUSE/doc-sle.git","ssh_url":"git@github.com:SUSE/doc-sle.git","clone_url":"https://github.com/SUSE/doc-sle.git","svn_url":"https://github.com/SUSE/doc-sle","homepage":"https://www.suse.com/doc/sles-12","size":339450,"stargazers_count":9,"watchers_count":9,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":14,"mirror_url":null,"open_issues_count":1,"forks":14,"open_issues":1,"watchers":9,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/SUSE/doc-sle/pulls/46"},"html":{"href":"https://github.com/SUSE/doc-sle/pull/46"},"issue":{"href":"https://api.github.com/repos/SUSE/doc-sle/issues/46"},"comments":{"href":"https://api.github.com/repos/SUSE/doc-sle/issues/46/comments"},"review_comments":{"href":"https://api.github.com/repos/SUSE/doc-sle/pulls/46/comments"},"review_comment":{"href":"https://api.github.com/repos/SUSE/doc-sle/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/SUSE/doc-sle/pulls/46/commits"},"statuses":{"href":"https://api.github.com/repos/SUSE/doc-sle/statuses/6188ece7605a81db66234848fee7ec089d70fba9"}}}}
{"actor":{"display_login":"fsundermeyer"}}