The integration of Itential and GitHub enables network teams to utilize GitHub's REST API to build automations that can include common tasks for version control of assets.
Frequently Asked Questions
Product Overview & Use Cases
What is the Itential Pre-Built Automation: GitHub - REST?
The Itential Pre-Built Automation: GitHub - REST is a collection of modular workflow automations that enable network teams to interact with GitHub's REST API for common version control tasks. These automations can be used as standalone components or integrated into larger, end-to-end workflows within the Itential Automation Platform. [Source]
Who should use the GitHub - REST workflow project?
This workflow project is ideal for network engineers, DevOps teams, and IT professionals who need to automate version control tasks in GitHub as part of their network automation or CI/CD processes. It is also useful as a learning tool for understanding integration between Itential and GitHub. [Source]
What types of tasks can be automated with the GitHub - REST workflows?
The GitHub - REST workflows can automate tasks such as creating pull requests, committing files, creating branches, retrieving file contents, and creating new repositories in GitHub. [Source]
How can these workflows be used in larger automation processes?
These workflows are designed as modular components, allowing users to incorporate them into larger, end-to-end automation processes within the Itential Automation Platform. This enables seamless integration of version control tasks into broader network or infrastructure automation pipelines. [Source]
What are the main benefits of using Itential's GitHub - REST automations?
Benefits include streamlined version control, reduced manual effort, improved consistency in automation pipelines, and the ability to quickly integrate GitHub tasks into network automation workflows. These automations also serve as templates for building custom solutions. [Source]
Features & Capabilities
What workflows are included in the GitHub - REST project?
The project includes workflows for: Create Pull Request, Commit File, Create Branch, Get File, and Create Repository. Each workflow is designed to automate a specific GitHub REST API operation. [Source]
What are the required inputs for the Commit File workflow?
Required inputs include repoOwner, repoName, filePath, branchName, commitMessage, fileContent (Base64 encoded), and adapterId. Each input must be provided to successfully commit a file to a GitHub repository. [Source]
What outputs can I expect from the Commit File workflow?
Outputs include fileResult (details about the committed file), commitResult (details about the commit), and githubError (error details if the operation fails). Example outputs include commit SHA, file URLs, and error messages. [Source]
How does the Create Branch workflow operate?
The Create Branch workflow creates a new branch in a specified GitHub repository. Required inputs are branchName, owner, repoName, refBranchName, and adapterId. Outputs include branchResult (branch details) and githubError (if the operation fails). [Source]
What does the Create Pull Request workflow do?
This workflow creates a pull request to propose changes from one branch to another in a GitHub repository. Inputs include repoOwner, repoName, prTitle, sourceBranch, targetBranch, and adapterId. Outputs are pullRequestResult and githubError. [Source]
How do I use the Get File workflow?
The Get File workflow retrieves the contents of a file from a specified GitHub repository and branch. Required inputs are repoOwner, repoName, filePath, branchName, and adapterId. Outputs include fileResult and githubError. [Source]
What is the Create Repository workflow used for?
This workflow creates a new repository for the authenticated user in GitHub. Inputs include owner, repoName, repoDescription (optional), and adapterId. Outputs are repoResult and githubError. [Source]
Can I customize these pre-built GitHub automations for my specific needs?
Yes, these workflows are designed to be modular and can be customized or extended to fit your organization's specific automation requirements. They can also serve as templates for building more complex workflows. [Source]
What version of the Itential Automation Platform is required for these workflows?
The GitHub - REST workflows have been tested with Itential Automation Platform (IAP) version 2023.2. It is recommended to use this or a compatible version for best results. [Source]
What external dependencies are required for the GitHub - REST workflows?
The primary external dependency is GitHub (API version 2022-11-28). You must also use the Itential GitHub adapter (version 0.6.1) for integration. [Source]
How do I install the GitHub - REST workflow project?
To install, verify you are running a supported IAP version, then import the Example Project in Admin Essentials. Detailed instructions are available in the technical documentation. [Source]
How are these workflows tested?
Itential uses Cypress, an open-source testing tool, with internal libraries to test all Example Projects against specific IAP versions. It is recommended to deploy and test in a development environment before production use. [Source]
Where can I find technical documentation for these workflows?
Comprehensive technical documentation, including installation guides and usage instructions, is available at docs.itential.com. [Source]
What should I do if I encounter errors using these workflows?
If you encounter errors, review the error messages provided in the workflow outputs (e.g., githubError), consult the API documentation, and use your Itential Customer Success account for support. [Source]
Where can I find the source code for these automations?
The source code for the GitHub - REST pre-built automations is available in the public repository at GitLab.
Is there public API documentation for the GitHub REST integration?
How does the GitHub - REST integration fit within the broader Itential platform?
The GitHub - REST integration is one of over 300 pre-built integrations available in the Itential Automation Platform, enabling seamless automation across network, cloud, and IT systems. It can be combined with other integrations for end-to-end orchestration. [Source]
What other integrations does Itential support?
Itential supports integrations with ServiceNow, NetBox, Infoblox, Selector AI, Kentik, Forward Networks, IP Fabric, and many more, including major network and cloud vendors. For a full list, visit the Automation Marketplace.
Does Itential provide API access for automation?
Yes, Itential provides open, RESTful APIs that expose over 90% of platform functionality, allowing for seamless integration, data export, and programmatic control of automations. [API Docs]
Where can I find more technical documentation and developer resources?
What security and compliance certifications does Itential have?
Itential is SOC 2 Type 2 certified and adheres to GDPR and CCPA data privacy regulations. The platform includes built-in security features such as RBAC, zero-trust policies, and audit logging. [Source]
How does Itential ensure security and compliance for automations?
Itential embeds security and compliance into every layer of its platform, with features like role-based access control, separation of duties, immutable audit logs, and automated compliance checks. These features help organizations meet regulatory requirements and maintain secure operations. [Source]
Pricing & Licensing
How is the pricing for Itential determined?
Itential's pricing is based on software licenses (platform, gateway, and apps) and device/node element licenses, which scale with the number of managed resources. There are no charges for users, transactions, workflows, or API calls. For details, visit the pricing page.
Are there additional costs for using the GitHub - REST workflows?
There are no additional charges for using pre-built workflows like GitHub - REST beyond the standard Itential platform and node licensing. [Source]
Performance & Reliability
How does Itential ensure the performance of its automations?
Itential conducts rigorous performance testing, including response times, memory usage, and scalability under normal and peak loads. The platform supports continuous monitoring and proactive optimization to maintain high performance. [Source]
Is the GitHub - REST workflow project reliable for production use?
Yes, the workflows are tested with Cypress and Itential's internal libraries before release. However, it is recommended to test in a development environment before deploying to production, as customer environments may vary. [Source]
Support & Troubleshooting
How can I get support for the GitHub - REST workflows?
Support is available through your Itential Customer Success account. For technical issues, consult the documentation and reach out to Itential support if needed. [Source]
What should I do if a workflow fails or returns an error?
Check the error details in the workflow output (e.g., githubError), consult the relevant API documentation, and verify your inputs. If the issue persists, contact Itential support for assistance. [Source]
Advanced Topics & Best Practices
Can I use these workflows as templates for custom automations?
Yes, the GitHub - REST workflows are designed to be modular and can be used as templates or starting points for building custom automations tailored to your organization's needs. [Source]
How do I validate the results of a workflow execution?
Each workflow provides detailed outputs, including success and error objects. You can query specific fields (e.g., commit SHA, branch ref, pull request number) to validate results. Refer to the documentation for output field details. [Source]
The integration of Itential and GitHub enables network teams to utilize GitHub's REST API to build automations that can include common tasks for version control of assets. This is a library of related automations that can be used as modular components in your own larger, end-to-end workflows.
Workflows
Name
Overview
Create Pull Request - GitHub - REST
Create a pull request to propose changes to a project repository in GitHub
Commit File - GitHub - REST
Commit a file in GitHub
Create Branch - GitHub - REST
Create a branch in GitHub
Get File - GitHub - REST
Get the contents of a file in a repository
Create Repository - GitHub - REST
Create a new repository for the authenticated user
For further technical details on how to install and use this Workflow Project, please click the Technical Documentation tab.
This section is helpful for deployments as it provides you with pertinent information on prerequisites and properties.
Helpful Background Information
Workflows often include logic that varies from business to business. As a result, we often find that our Workflow Projects are more useful as modular components that can be incorporated into a larger process. In addition, they often can add value as a learning tool on how we integrate with other systems and how we do things within the Itential Automation Platform.
While these can be utilized, you may find more value in using them as a starting point to build around.
Prerequisites
Itential Workflow Projects are built and tested on particular versions of IAP. In addition, Workflow Projects are often dependent on external systems and as such, these Workflow Projects will have dependencies on these other systems. This version of GitHub - REST has been tested with:
Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the Supported IAP Versions section in order to install the Example Project.
Cypress is generally used to test all Itential Example Projects. While Cypress is an opensource tool, at Itential we have internal libraries that have been built around Cypress to allow us to test with a deployed IAP.
When certifying our Example Projects for a release of IAP we run these tests against the particular version of IAP and create a release branch in GitLab. If you do not see the Example Project available in your version of IAP please contact Itential.
While Itential tests this Example Project and its capabilities, it is often the case the customer environments offer their own unique circumstances. Therefore, it is our recommendation that you deploy this Example Project into a development/testing environment in which you can test the Example Project.
Using this Workflow Project
Workflow Projects contain 1 or more workflows. Each of these workflows have different inputs and outputs.
Commit File - GitHub - REST
Commit a file in GitHub
Capabilities include:
The workflow is used to commit a file in GitHub to track changes to a project's codebase
Entry Point IAP Component
The primary IAP component to run Commit File - GitHub - REST is listed below:
IAP Component Name
IAP Component Type
Commit File - GitHub - REST
Workflow
Inputs
The following table lists the inputs for Commit File - GitHub - REST:
Name
Type
Required
Description
Example Value
repoOwner
string
yes
The account owner of the repository. The name is not case sensitive
user1
repoName
string
yes
The name of the repository without the .git extension. The name is not case sensitive
test-repo
filePath
string
yes
The path to the file including the file name. For files in the root directory, this is just a file name
README.md
branchName
string
yes
The name of the branch
main
commitMessage
string
yes
The commit message
Update README
fileContent
string
yes
The new file content, using Base64 encoding
# test-repo
This is draft readme
adapterId
string
yes
The GitHub adapter instance to use in the workflow
github
Outputs
The following table lists the outputs for Commit File - GitHub - REST:
Please use your Itential Customer Success account if you need support when using this Workflow Project.
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.