Informational runs
An informational run tells you Azure DevOps failed to retrieve a YAML pipeline's source code. Source code retrieval happens in response to external events, for example, a pushed commit. It also happens in response to internal triggers, for example, to check if there are code changes and start a scheduled run or not. Source code retrieval can fail for multiple reasons, with a frequent one being request throttling by the git repository provider. The existence of an informational run doesn't necessarily mean Azure DevOps was going to run the pipeline.
An informational run looks like in the following screenshot.
You can recognize an informational run by the following attributes:
- Status is
Canceled
- Duration is
< 1s
- Run name contains one of the following texts:
Could not retrieve file content for {file_path} from repository {repo_name} hosted on {host} using commit {commit_sha}.
Could not retrieve content for object {commit_sha} from repository {repo_name} hosted on {host}.
Could not retrieve the tree object {tree_sha} from the repository {repo_name} hosted on {host}.
Could not find {file_path} from repository {repo_name} hosted on {host} using version {commit_sha}. One of the directories in the path contains too many files or subdirectories.
- Run name generally contains the BitBucket / GitHub error that caused the YAML pipeline load to fail
- No stages / jobs / steps
When is an informational run created?
The first step of running a YAML pipeline is to retrieve its source code. When this step fails, the system creates an informational run. These runs are created only if the pipeline's code is in a GitHub or BitBucket repository.
Retrieving a pipeline's YAML code can fail due to:
- Repository provider experiencing an outage
- Request throttling
- Authentication issues
- Unable to retrieve the content of the pipeline's
.yml
file
A pipeline may run in response to:
- Pushes to branches in its
trigger
branch list - Creating or updating Pull Requests that target branches in its
pr
branch list - Scheduled runs
- Webhooks called
- Resource repository updates
- Resource external builds complete
- Resource pipelines complete
- New resource package versions are available
- Resource containers changes
Here's an example of when an informational run is created. Suppose you have a repo in your local BitBucket Server and a pipeline that builds the code in that repo. Assume you scheduled your pipeline to run every day, at 03:00. Now, imagine it's 03:00 and your BitBucket Server is experiencing an outage. Azure DevOps reaches out to your local BitBucket Server to fetch the pipeline's YAML code, but it can't, because of the outage. At this moment, the system creates an informational run, similar to the one shown in the previous screenshot.
Request throttling by the git repository provider is a frequent cause of Azure DevOps Services creating an informational run. Throttling occurs when Azure DevOps makes too many requests to the repository in a short amount of time. These requests can be due to a spike in commit activity, for example. Throttling issues are transitory.
Next Steps
Learn more about Triggers and building your GitHub or BitBucket repositories.