Repository Owner | Team Leader |
---|---|
NithiManivannan05 |
1. Install Go, jq and Node.js.
2. Install DevRev CLI by running the following command:
go install github.com/devrev/devrev-cli/devrev@main
1. Generate a Github PAT (Personal Access Token) with read:packages
permissions from this link by following steps below:
-
Click on
Generate new token (classic)
. -
Provide a meaningful
Note
, select an appropriateExpiration
, and assign theread:packages
scope. -
Click
Generate token
and save the generated token in a secure location. -
Click on
Configure SSO
and then on theAuthorize
button next todevrev
to authorize the token for the DevRev organization.
2. Add GitHub PAT to DevRev as a Snap-in secret:
- Open the DevRev org where you will perform an import.
- Add the GitHub PAT as a Snap-in secret (
Settings
->Imports
->Connections
->+ Connection
->Snap-in Secret
). - Set the Connection Name to
github_access_token
and populate the Secret field with the GitHub PAT you generated.
1. Clone Repository:
- Either clone this repository or create a new repository from it by clicking the "Use this template" button above.
- Set the desired repository name for your own copy (e.g.,
airdrop-<external system>-snapin
).
2. Open the project in your IDE and set up project environment variables, by following this steps:
- Rename
.env.example
to.env
. - In
.env
set the environment (dev
,qa
, orprod
), the DevOrg slug of your organization, and your email. - Enter the Github PAT generated in Step 2.
3. Update manifest.yaml
:
- Modify the
allowed_connection_types
field in theimports
section to match your Snap-in's connection type.
NOTE: The current manifest demonstrates usage with a dynamic keyring (Basic Freshdesk Connection) as an example. If you're testing with basic Freshdesk dynamic keyring, you can leave it as is. Otherwise, update this field with the appropriate connection type configuration.
4. Build the Snap-in using the following command:
make build
5. Deploy the Snap-in to the DevOrg:
make deploy
NOTE: This process may take some time. Command authenticates you to the org using the DevRev CLI, prompts you to select the keyring where you saved GitHub PAT and creates a Snap-in package, its Snap-in version, and finally the Snap-in draft.
6. After the Snap-in draft is created, install the Snap-in in the DevRev UI (Settings
-> Snap-ins
-> Install snap-in
).
7. Start the import (Imports
-> Start import
-> <your Snap-in>
).
A: Snap-in package with the same slug already exists. Override the `SNAP_IN_SLUG` variable by explicitly updating the variable in `scripts/vars.sh`.
Q: Snap-in version build/deployment failed
after the Waiting for snap-in version to be ready...
message
A: The snap-in version could not be built. Check the logs by running the DevRev CLI command `devrev snap_in_package logs`. For prettier UI, pipe the output to `jq`
A: There exists no keyring named `github_access_token` in the DevOrg. Either create one through the UI or choose a different organization.
Q: npm ERR! E401
or npm ERR! E403
in build logs. build_failed
status after Creating snap-in version...
.
A: E401 is returned during snap-in version build phase if the authentication token (in this case, github_access_token) is incorrect.
E403 is returned when the token is correct but it does not have permission to access the resource(in this case, packages). Ensure that the token has `read:packages` scope and SSO has been configured for the organisation.
In both cases, delete the failed snap-in version, check the tokens and rebuild again.