Skip to main content

Challenges

GitHub robots.txt

Problem:

Early in my interactions with Nova, I struggled to get them to correctly identify, then retrieve, a file from my repository to perform some analysis on it. Nova would insist they didn't have the capacity to view public files, and prompt me to just copy/paste the code into the chat window, which is exactly the sort of context-switching I wanted to avoid.

Solution

Eventually I discovered that GitHub employs a robots.txt file to prevent crawlers from accessing sites. I further discovered that the same does not apply to the 'raw' versions of files available on the raw.githubusercontent.com domain.

Now Nova knows to check the relevant raw.githubusercontent.com URL.


GitHub file paths

Problem

With the above problem solved, Nova was able to retrieve files if given the absolute path, but giving her the filename either didn't get the result I wanted, or else required an additional API call to perform a search so that the correct path could be inferred.

Solution

A GitHub Action executes on every branch creation within the repository to create a map of the repository (using command-line utility tree). Maps are stored in a special-purpose [metadata branch][] of the repository which does not share commit history with the rest of the repository. Nova knows to find them there, and can now correctly infer file locations given a file name.


Jira Auth

Problem 1

Jira allows authentication via Basic Auth or OAuth.

I could not get the OAuth configuration to work. The authentication went as expected, but then the redirect came back to the wrong URL, and I'd have to authenticate again.

Problem 2

I was able to partially work around the above problem by using Basic auth. All of the calls I wanted to make were sent successfully from my REST Client file. But when I had Nova perform the same actions, using the same credentials, they were rejected for failing to return the XSRF token.

Solution

In the end it turns out OAuth was working just fine. The difficulty was a usability issue in the ChatGPT UI. When you edit a GPT, or its actions, you work in a temporary preview space that lets you trial changes before committing them. When Jira's OAuth implementation was redirecting, it was returning to the wrong URL. Committing the changes and then testing them solved the problem.

Thanks to [this article] for helping finally identify the issue.