Skip to main content

GitHub Integration

Abstract

You can upload content directly from Paligo to GitHub. Set up the Paligo to GitHub integration so that Paligo can connect to GitHub, and then you can publish.

paligo-to-github-small.jpg

Paligo has Continuous Integration (CI) support for GitHub. This means you can create content in Paligo, such as PDFs or an HTML help center, and publish it to GitHub. When the content is uploaded to GitHub, you can unzip it (automatically if you so choose) to make it instantly available live to your end users.

Note

GitHub has a size limit for file uploads, and so is not a good fit for larger documentation projects, as any files above this limit are blocked. GitHub documentation states that the limit is 100MB , but for Paligo the limit is 67MB as the content has to be encoded and compressed. Other systems, such as BitBucket, do not have the size limit for uploads.

Before you can publish from Paligo to GitHub, you need:

  • A GitHub account

  • Basic GitHub knowledge and skills, including how to create a repository

  • A repository in GitHub. Paligo will upload published output to the repository. The output is uploaded as a zip file.

To set up Paligo to publish to GitHub:

This will allow Paligo to publish your output as a zip file to your chosen repository. In GitHub, you can use a web hook to automate the unzipping of the file, so that you can use the content.

To set up Paligo to connect to GitHub, you need to have:

  • A GitHub account.

  • Access to the repository where you want to upload/publish content from Paligo.

  • Repository owner username.

    If there are multiple users, the repository owner may not be the same user as the GitHub account.

  • A personal access token for the repository. This can be for the user account of the owner of the repository or a developer who has access. The token must have the following permissions:

    • repo:status

    • repo_deployment

    • public_repo

    • repo:invite

    • security_events

    • write:packages

    To find out how to create a personal access token, see the official GitHub help page.

To connect Paligo to GitHub:

  1. Log in to Paligo via a user account that has administrator permissions.

  2. Log in to Paligo via a user account that has administrator permissions.

  3. Select the avatar in the top-right corner. User avatar. It shows the user's image and their name. Next to the name is a downward pointing arrow, which when selected, reveals a menu.

  4. Select Settings from the menu. Cog icon.

  5. Select the Integrations tab. Jigsaw piece icon.

    Paligo settings. The Integrations tab is highlighted.
  6. Find the GitHub box and select Add (or Change if an integration has been set up previously).

    Add_Github.png
  7. Enter the Repository Owner. Leave it empty if the owner is the same as the Username.

    Typically, if there is only one user account, the repository owner is the same as the Username. But it is possible to have multiple users (developers), in which case, the Username and Repository Owner could be different user accounts.

    GitHub integration settings in Paligo.
  8. Enter the Username for the GitHub repository.

  9. In Github, generate a personal access token (PAT) for your user account, see the official Github documentation.

    Note

    The personal access token can be for any user account that can access the repository, but it must have the API permission.

  10. Copy and paste it into the Personal Access Token field in Paligo.

  11. Enter the Repository Name. This has to match the name given to the repository in GitHub.

  12. Choose the Branch that Paligo will upload content to.

    Branch options shown in dropdown list. There is an option for each branch that Paligo has detected. These branches are created for the project in Gitlab.

    If the Branch field is empty (or if a branch is missing), select the branch button to load the branches. Then choose the branch from the dropdown list.

    Branch field in the Paligo integrations settings. The branch button at the far right of the field is highlighted.

    Note

    If the integration setting is open when new branches are added, those new branches will not appear in the Branch field unless the integration setting is reloaded.

    Select the branch button, to reload the integration setting with the latest branch information.

  13. As Destination folder, you enter the directory path for the folder that you want Paligo to upload content to.

    To upload the zip file directly to the root, leave this field empty.

    Destination_Folder.png
  14. Control how Paligo names the output ZIP file with Use non-unique file name. It affects how the file is stored in the repository.

    • Check the box to use a consistent filename for the output ZIP file each time you publish. If the repository already contains a file of the same name, the new file will replace the old one.

    • Clear the box to add a number suffix to each output ZIP file when you publish. The repository will contain files for each output.

    Use non-unique file name setting. There is a checkbox and a description that explains checking the box will result in the same file name being used for each upload.
  15. Control if the provided gateway is used with Use the Paligo provided gateway when connecting to Gitlab:

    • Check the box to use the provided gateway.

    • Clear the box to not use it.

    Github_Provided_Gateway_small.jpg
  16. Select Save.

  17. Select the Change button for the integration.

  18. Select Test Settings to run a connection test.

    Test_Reset_Settings_Integrations_small.jpg
  19. If the settings are:

    • Correct, Paligo shows a green success notification.

    • Incorrect, Paligo shows a red failure notification.

      Check each connection setting carefully, to make sure you have not made any mistakes and try again.

      If the connection test continues to fail, contact Paligo support for assistance.

When the connection is made, you can Publish to GitHub.

You can publish content from Paligo to GitHub, and the process is very similar to "regular" publishing. You create your publication and topics and then set up a layout for the type of output you want, such as PDF, HTML5, etc. Then you choose the publication settings and Paligo creates a zip file that contains your output content. The zip file is downloaded in your browser and it is also uploaded to your chosen GitHub repository.

Note

You can use a GitHub webhook to automatically unzip the contents.

To publish to GitHub, the integration settings need to be in place so that Paligo can connect to GitHub and knows which branch and directory to publish to. You will also need to have a publication and layout set up to create the output you want, for example, an HTML5 help center. With these in place, you can publish from Paligo to GitHub:

  1. Select the dotted menu (...) for the topic or publication in Content Manager.

    selectpublish.png
  2. Select Publish. Publish_button_small.png

    publish-document-jan23.png

    Paligo displays the Publish document dialog.

  3. Select the Type of output you want to publish (for example PDF, HTML, HTML5, Word, XML, eLearning, SCORM, or other).

  4. Select the Layout to be used for your output.

  5. Select the languages to be published.

    Languages section of Publish document dialog. There are options for each language. English UK and Swedish are selected.

    Note

    If no translations are available, only the Source Language will show. If you have multiple languages translated and approved, you can select which ones to include. Paligo will publish each language as a separate output.

    For PDF output you can publish them as one multilingual publication, check the Combine selected languages box.

  6. Select Edit in the Profiling attributes section to apply Filtering / Profiling (Optional).

    If you do not want to apply a filter, leave the field blank.

    Profiling attributes dialog. Outputformat is set to include HTML.

    Select OK to add your chosen profiling attribute(s).

    Profiling attributes section of Publish document dialog. Shows Outputformat: HTML selected.
  7. Select Edit in the Variables section to apply Variables (Optional).

    If you do not want to apply a variable, leave the field blank.

    Variables dialog showing ACME 100 200 300 as variables and ACME 100 is set.

    Select OK to add the selected variables.

    Variables section of publish document dialog. The ACME 100 200 300 variable set is selected with the ACME 100 variant.
  8. In the Upload output section, check the Upload to GitHub box. By default, Paligo will upload the output to the repository and folder that are specified in the Paligo to GitHub integration settings.

    Upload output settings. There are settings for Upload to Github, Upload via FTP, Upload to Bitbucket, and Upload to AWS S3. Upload to Github is selected.

    You can publish to a different branch and/or folder if required. Select the Edit icon next to Upload to GitHub, and then select the branch and/or folder on the Edit dialog. The settings you choose will only be used for this individual publishing process. Any future publishing will revert back to using the branch and folder that are defined in the integration settings.

    GitHub dialog for changing the branch and/or destination folder for a single publish.
  9. Use the Output filename section to control the filename.

    By default, Paligo will use the filename syntax that is defined in the System Settings.

    Output filename section. There is a Template field that contains the values ID, Title, and Format. In the top-right corner is a preview of the filename that Paligo will generate if the current settings are used.

    To change the information included in the filename, enter your preferred format in the publishing settings. Default is: ID-Title-Format.

    You can use:

    • ID - The ID of the document.

    • Title - The title of the publication or topic that you are publishing.

    • Format - The name of the output format, for example, PDF or HTML5.

    • Edit date - The date that the publication or topic was last edited.

    • Branch label - The text from the branch label for the publication or topic. This only applies if your content has been branched and it has a branch label. For details, see Add or Edit Branch Labels.

    • Unique value - A random string of characters, generated by Paligo, that is added to the filename to make it unique. This can stop the file from being overwritten by later publishes of the same document.

    Tip

    If you type @ into the field, Paligo displays a list of the available values and you can select from the list. To remove a value, click in it and use the delete key or backspace key to remove all of its characters.

    Note

    The filename shown in the top-right corner is a preview of the filename that Paligo will use when you publish.

  10. Set the Optional Parameters (leave unchecked if you do not want these features):

    • Save the output in Paligo - Check the box to save the zip file in the Resource View. Clear the box if you want Paligo only download the published output file in your browser.

      If you save the output in Paligo, you can download the zip file from the Resource Detail Panel for the publication or topic and then download the zip file from the Saved Outputs tab.

    • Email me - Check this box if you want Paligo to send you an email when the publication is ready. This is useful if you have very large publications that can take a longer time to process and publish.

    • Make debug build - Check this box if you want Paligo to include a log file and link report. If there is an issue with your content, Paligo support may ask you to enable this feature so that they can use the log files to investigate.

  11. Select Publish Document.

    Paligo starts processing your content and applies your layout and publishing settings. The time that this takes varies depending on how much content you are publishing (the more content, the longer it takes).

    Publish_Progress_Bar_small.jpg

    A progress bar appears. Select the arrow to hide the progress bar and reopen it by selecting the progress clock in the top menu. To abort the publish, select the X.

    The published output appears as:

    • A ZIP file with the published output appears in the downloads folder on your computer.

      If you have altered your browser's settings to store downloaded files somewhere else, the zip file will be found there instead.

      If you are using a publishing integration, the zip file will also be sent to the relevant service.

    • A link in the Activity Feed Panel to download the published content.

    Note

    To make the content available online, first unzip the file. You can then use the file locally or you can use an FTP client, such as Filezilla, to upload the unzipped content to a web server.

    Tip

    You can save your publishing settings and reuse them to achieve a smoother publishing process, see Publishing Settings. Any settings you save can also be used for Batch Publishing.

    Publish document dialog has a Save Settings option and a Saved Settings tab. The option saves the currently shown settings and these can then be selected in a single action on the tab.

In GitHub, you can use a web hook to automate the unzipping of the file, so that it is published live to end users.